:root{color-scheme:dark;--bg:#0b1010;--panel:#151d1c;--panel2:#1c2623;--paper:#f0ebe1;--ash:#c0c7bf;--muted:#91a099;--accent:#d99276;--gold:#e6c183;--line:#35433e;--good:#91c9a5;--warn:#e8c380;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font:15px/1.65 system-ui,Arial,sans-serif}a{color:#f5c6a9}a:hover{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.skip{position:absolute;left:-9999px;top:0;padding:12px;background:#fff;color:#111}.skip:focus{left:0}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--line);background:#101615;position:relative;z-index:2}.navrow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:17px;padding-bottom:17px}.brand{color:var(--paper);font:bold 19px Georgia,serif;letter-spacing:.12em;text-decoration:none}.topnav{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.topnav a{font-size:12px;color:var(--ash);text-decoration:none;padding:8px 10px;border-radius:4px}.topnav a[aria-current=page],.topnav a:hover{background:#27332f;color:var(--paper)}.hero{background:radial-gradient(ellipse at 78% 10%,#37463f,transparent 52%),linear-gradient(150deg,#202c27,#0b1010 75%);border-bottom:1px solid var(--line);padding:51px 0}.kicker{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:800}h1,h2,h3{font-family:Georgia,serif;line-height:1.15;font-weight:normal}h1{font-size:clamp(42px,6vw,78px);margin:14px 0 16px;letter-spacing:-.035em}h2{font-size:clamp(29px,4vw,44px);margin:0 0 19px}h3{font-size:23px;margin:0 0 10px}p{color:var(--ash);max-width:900px}.lead{font-size:18px}.section{padding:49px 0}.alt{background:#111a17;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flex{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px}.card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:23px}.card p:last-child{margin-bottom:0}.mini{color:var(--muted);font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.metric{font:bold clamp(29px,4vw,42px) Georgia,serif;color:var(--paper);display:block}.badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border:1px solid #796b52;color:var(--warn);padding:5px 9px;border-radius:4px}.badge.live{color:var(--good);border-color:#537d64}.badge.draft{color:var(--warn);border-color:#806d4a}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--accent);background:transparent;color:var(--paper);text-decoration:none;border-radius:4px;font-size:13px;font-weight:700;gap:8px}.btn:hover{background:var(--accent);color:#101313}.btn.filled{background:var(--accent);color:#121716}.btn.filled:hover{background:#eab69e}.btn:disabled{opacity:.55}.gameframe{width:100%;border:1px solid var(--line);border-radius:10px;background:#060909;display:block;aspect-ratio:16/9;min-height:420px}.note{border-left:3px solid var(--accent);background:var(--panel2);padding:16px 20px;border-radius:0 6px 6px 0;color:var(--paper)}.note p{margin:0}.sectionhead{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:18px;flex-wrap:wrap}.progress{height:18px;border-radius:40px;overflow:hidden;background:#2c3934;border:1px solid #63716a}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#9c614a,#e2a57d);width:40%;transition:width .3s}.versionrail{display:grid;grid-template-columns:repeat(10,minmax(60px,1fr));gap:5px;margin-top:11px;overflow-x:auto;padding-bottom:8px}.versionrail span{text-align:center;font-size:11px;color:var(--ash);border-top:4px solid var(--line);padding-top:5px;min-width:55px}.versionrail span.passed{border-color:var(--good);color:var(--paper)}.versionrail span.future{border-style:dotted}.eras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.era{padding:16px;border-top:3px solid var(--accent);background:var(--panel)}.era strong{display:block;font:normal 27px Georgia,serif}.era p{font-size:12px;margin:6px 0 0}.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.linkcard{display:block;border:1px solid var(--line);padding:24px;background:var(--panel);text-decoration:none;color:var(--paper);border-radius:6px}.linkcard:hover{border-color:var(--accent);background:#212e29}.linkcard p{font-size:13px}.linkcard span{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}label{font-size:13px;font-weight:700;display:block;margin-bottom:6px;color:var(--ash)}input,select,textarea{width:100%;background:#0f1715;color:var(--paper);border:1px solid #5d7066;border-radius:5px;padding:10px 12px}textarea{min-height:110px;resize:vertical}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.status{font-size:12px;color:var(--good)}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}th,td{text-align:left;padding:12px 15px;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#22302a;color:var(--paper);font-size:12px}td{color:var(--ash)}.docnav{position:sticky;top:0;z-index:1;background:#17231e;border-bottom:1px solid var(--line);padding:11px 0}.docnav .wrap{display:flex;gap:16px;overflow-x:auto}.docnav a{white-space:nowrap;font-size:12px}.docsection{scroll-margin-top:75px}.flowpanel{overflow:auto;background:#101917;border:1px solid var(--line);border-radius:8px;padding:20px}.flowdiagram{display:block;min-width:700px;width:100%;height:auto}.flowdiagram text{fill:var(--paper);font:13px system-ui}.flowdiagram .node{fill:#283a33;stroke:#8e9f93;stroke-width:1.4}.flowdiagram .decision{fill:#4a342b;stroke:#d99276}.flowdiagram .path{stroke:#b6bcae;stroke-width:2;fill:none}.flowdiagram .mutedtext{fill:#bbc7bc;font-size:11px}.flowlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.flowitem{border:1px solid var(--line);padding:16px;border-radius:6px;background:#1c2924}.flowitem strong{display:block}.flowitem small{color:var(--muted)}.builder-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(285px,1fr);gap:18px}.node-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.node-list button{background:#26342e;color:var(--paper);border:1px solid var(--line);padding:8px 10px;border-radius:4px}.node-list button[aria-pressed=true]{background:#5a3f32;border-color:var(--accent)}.canvas-scroller{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:7px;background:linear-gradient(90deg,#14211b,#101714)}.builder-svg{display:block;min-width:760px}.builder-svg .nodebg{fill:#293a32;stroke:#748d7b;stroke-width:1.5;cursor:pointer}.builder-svg .nodebg.selected{stroke:#e5b187;stroke-width:3}.builder-svg .nodebg.decision{fill:#4a362c}.builder-svg .edge{stroke:#b4c3b6;stroke-width:1.8;fill:none;marker-end:url(#arr)}.builder-svg text{font:13px system-ui;fill:#fff;pointer-events:none}.builder-svg .sub{font:11px system-ui;fill:#bdcabc}.footer{border-top:1px solid var(--line);padding:35px 0 46px;color:var(--muted);font-size:12px}.footer a{margin-right:17px}.checklist{padding-left:20px}.checklist li{margin:8px 0;color:var(--ash)}.anchor{color:var(--accent);text-decoration:none;margin-left:6px}.statcalc{max-width:740px}.sliderrow{display:grid;grid-template-columns:1fr 70px;gap:16px;align-items:center}.percent{font-size:38px;font-family:Georgia,serif;color:var(--good)}@media(max-width:850px){.builder-layout{grid-template-columns:1fr}.gameframe{min-height:280px}}@media(max-width:650px){.navrow{flex-direction:column;align-items:flex-start}.topnav{gap:4px}.topnav a{font-size:11px}.hero{padding:37px 0}.section{padding:32px 0}.eras{grid-template-columns:1fr 1fr}.gameframe{aspect-ratio:9/14;min-height:500px}.card{padding:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress>span{transition:none}}
