/* SMB Stack Brief, "briefing dossier" theme. Warm paper, plum ink, gold accent. */
:root{
 --paper:#f6f2e9; --card:#fffdf8; --ink:#241c2e; --ink2:#4a4356;
 --plum:#6b2d5c; --plum-d:#4e1f43; --gold:#c8873a; --gold-d:#a86f28;
 --line:#e2dccd; --good-bg:#e4f0e6; --good:#2f7d5b; --bad-bg:#f6e4de; --bad:#b0472f;
 --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
 --serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;
 --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
 font-size:17px;line-height:1.62;
 background-image:radial-gradient(var(--line) 0.5px,transparent 0.5px);
 background-size:22px 22px;}
main{max-width:820px;margin:0 auto;padding:26px 20px 10px}
a{color:var(--plum);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--plum-d)}

/* header */
header.site{max-width:1040px;margin:0 auto;padding:16px 20px 10px;display:flex;
 flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between;
 border-bottom:2px solid var(--ink)}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;
 font-family:var(--serif);font-size:22px;letter-spacing:-.01em}
.brand b{color:var(--plum);font-weight:800}
header.site nav{display:flex;flex-wrap:wrap;gap:4px 6px}
header.site nav a{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;
 letter-spacing:.06em;color:var(--ink2);text-decoration:none;padding:5px 9px;border-radius:5px}
header.site nav a:hover{background:var(--plum);color:#fff}

/* breadcrumb */
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink2);margin:2px 0 18px;
 overflow-x:auto;white-space:nowrap}
.crumbs a{color:var(--ink2)}
.crumbs span[aria-current]{color:var(--plum)}
.crumbs span{color:var(--line)}

/* headings */
h1{font-family:var(--serif);font-size:2.05rem;line-height:1.16;letter-spacing:-.015em;
 margin:.1em 0 .5em}
h2{font-family:var(--serif);font-size:1.45rem;margin:1.9em 0 .5em;letter-spacing:-.01em;
 padding-top:.2em}
h3{font-size:1.12rem;margin:1.5em 0 .35em}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--gold-d);margin:0 0 4px;font-weight:700}
p{margin:.7em 0}
main>p:first-of-type{font-size:1.02rem}
ul,ol{padding-left:1.2em}
li{margin:.3em 0}

/* direct answer box */
.answer{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--plum);
 border-radius:8px;padding:14px 18px;margin:0 0 18px;box-shadow:0 1px 0 rgba(0,0,0.03)}
.answer .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
 color:var(--plum);font-weight:700}
.answer p{margin:.35em 0 0;font-size:1.05rem;line-height:1.55}

/* updated */
.updated{font-family:var(--mono);font-size:12px;color:var(--ink2);
 border:1px dashed var(--line);border-radius:6px;padding:6px 10px;display:inline-block}

/* tables */
.tablewrap{overflow-x:auto;margin:1.1em 0;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;min-width:560px;background:var(--card);font-size:15px}
caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:11.5px;
 letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);padding:8px 12px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:12px;
 letter-spacing:.03em;text-transform:uppercase;position:sticky;top:0}
tbody tr:nth-child(even) td{background:rgba(107,45,92.035)}
td.good{background:var(--good-bg)!important;color:var(--good);font-weight:600}
td.bad{background:var(--bad-bg)!important;color:var(--bad);font-weight:600}
td.us{border-left:3px solid var(--gold)}
.pill{font-family:var(--mono);font-size:11px;background:var(--gold);color:#231a08;
 padding:1px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

/* callout / disclosure */
.callout{background:var(--gold-bg,#fbf1df);border:1px solid #ecd8b3;border-radius:8px;
 padding:12px 16px;margin:1.2em 0}
.disclosure{background:#efe7f0;border:1px solid #dcc7de;border-left:5px solid var(--gold);
 border-radius:8px;padding:12px 16px;margin:1.3em 0}
.disclosure .lbl.callout .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;
 text-transform:uppercase;color:var(--gold-d);font-weight:700;display:block;margin-bottom:2px}
.disclosure p.callout p{margin:.2em 0 0;font-size:.95rem}

/* faq */
.faqblock{margin-top:2.4em;border-top:2px solid var(--ink);padding-top:.4em}
details.q{border-bottom:1px solid var(--line);padding:4px 0}
details.q summary{cursor:pointer;font-weight:650;padding:9px 0;font-size:1.02rem;list-style:none}
details.q summary::-webkit-details-marker{display:none}
details.q summary::before{content:"+";color:var(--plum);font-family:var(--mono);margin-right:9px;font-weight:700}
details.q[open] summary::before{content:", "}
details.q>div{padding:0 0 12px 22px;color:var(--ink2)}

/* sources & related */
.sources{margin-top:2.2em;background:var(--card);border:1px solid var(--line);border-radius:8px;
 padding:6px 18px 12px}
.sources h2{font-size:1.1rem;margin:.7em 0 .2em}
.sources ul{font-size:.92rem;color:var(--ink2)}
.related{margin-top:2em}
.related ul{list-style:none;padding:0;display:grid;gap:8px;grid-template-columns:1fr 1fr}
.related li a{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;
 padding:11px 14px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.related li a:hover{border-color:var(--plum);color:var(--plum)}

/* index hero + cards */
.hero{border:2px solid var(--ink);border-radius:12px;background:var(--card);padding:26px 24px;margin-bottom:8px}
.hero h1{margin-top:0}
.grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:1.4em 0}
.cat{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:16px 18px}
.cat h3{margin:.1em 0 .3em;font-family:var(--serif);font-size:1.2rem}
.cat h3 a{text-decoration:none;color:var(--ink)}
.cat h3 a:hover{color:var(--plum)}
.cat ul{list-style:none;padding:0;margin:.5em 0 0;font-size:.93rem}
.cat li{margin:.32em 0}
.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}

/* footer */
footer.site{max-width:820px;margin:36px auto 0;padding:18px 20px 40px;border-top:2px solid var(--ink)}
.pubnote{font-size:.82rem;color:var(--ink2);line-height:1.5}
.metrow{font-family:var(--mono);font-size:12px;color:var(--ink2)}
.metrow a{color:var(--ink2)}

@media (max-width:640px){
 body{font-size:16px}
 h1{font-size:1.7rem}
 .grid.related ul{grid-template-columns:1fr}
 header.site{gap:8px}
}
@media (prefers-color-scheme:dark){
 :root{--paper:#1a1622;--card:#221b2c;--ink:#ece6da;--ink2:#b3aabf;
 --plum:#d79ac2;--plum-d:#e7b9d6;--gold:#e0a54f;--gold-d:#e0a54f;--line:#38304a;
 --good-bg:#1c3327;--good:#7fd6a6;--bad-bg:#3a221c;--bad:#e69a86;}
 body{background-image:radial-gradient(#2a2338 0.5px,transparent 0.5px)}
 header.site nav a:hover{background:var(--plum);color:#1a1622}
 thead th{background:#0f0b16}
 .pill{background:var(--gold);color:#231a08}
 .disclosure{background:#2a2135}
 .callout{background:#2a2333;border-color:#4a3f2a}
}
:root[data-theme="dark"]{--paper:#1a1622;--card:#221b2c;--ink:#ece6da;--ink2:#b3aabf;
 --plum:#d79ac2;--plum-d:#e7b9d6;--gold:#e0a54f;--gold-d:#e0a54f;--line:#38304a;
 --good-bg:#1c3327;--good:#7fd6a6;--bad-bg:#3a221c;--bad:#e69a86;}
:root[data-theme="light"]{--paper:#f6f2e9;--card:#fffdf8;--ink:#241c2e;--ink2:#4a4356;
 --plum:#6b2d5c;--plum-d:#4e1f43;--gold:#c8873a;--gold-d:#a86f28;--line:#e2dccd;
 --good-bg:#e4f0e6;--good:#2f7d5b;--bad-bg:#f6e4de;--bad:#b0472f;}
