:root { --ink:#132135; --secondary:#657381; --paper:#f6f1e6; --card:#ece8de; --rust:#ae4231; --serif:"Fraunces",Georgia,serif; --sans:"Instrument Sans","Helvetica Neue",sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { min-height:100vh; margin:0; color:var(--ink); background:radial-gradient(circle at 88% 12%,rgba(174,66,49,.13),transparent 34%),radial-gradient(circle at 8% 92%,rgba(89,124,145,.15),transparent 38%),var(--paper); font-family:var(--sans); }
.topic-shell { width:min(760px,calc(100% - 32px)); margin:0 auto; padding:28px 0 52px; }
.brand { display:inline-flex; align-items:center; gap:12px; margin-bottom:34px; }
.brand img:first-child { border-radius:12px; }
.wordmark { width:112px; height:auto; }
.topic-hero { margin-bottom:24px; }
.eyebrow { margin:0 0 8px; color:var(--rust); font-size:.78rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:0; font-family:var(--serif); font-size:clamp(2.1rem,8vw,4.5rem); line-height:.98; letter-spacing:-.045em; }
#topic-summary { max-width:600px; margin:15px 0 0; color:var(--secondary); font-size:1.05rem; line-height:1.55; }
.decision-list { display:grid; gap:14px; }
.decision { padding:18px; border:1px solid rgba(19,33,53,.13); border-radius:16px; background:rgba(236,232,222,.96); box-shadow:0 12px 30px rgba(19,33,53,.07); }
.decision-meta { display:flex; justify-content:space-between; gap:10px; color:var(--secondary); font-size:.78rem; }
.decision h2 { margin:12px 0 8px; font-family:var(--serif); font-size:1.45rem; line-height:1.15; }
.decision p { margin:0; color:var(--secondary); line-height:1.45; }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.tag { padding:5px 9px; border-radius:999px; color:var(--rust); background:rgba(174,66,49,.1); font-size:.76rem; font-weight:650; }
.status,.app-card { padding:28px; border:1px solid rgba(19,33,53,.13); border-radius:16px; background:rgba(236,232,222,.9); color:var(--secondary); text-align:center; }
.app-card { margin-top:20px; }
.app-card p { margin:0 0 16px; }
.app-card a { display:inline-flex; padding:12px 18px; border-radius:11px; color:var(--paper); background:var(--ink); font-weight:700; text-decoration:none; }
@media (max-width:520px) { .topic-shell { width:calc(100% - 20px); padding-top:20px; } .brand { margin-bottom:26px; } }
