@font-face{font-family:Bricolage;src:url('../assets/bricolage-grotesque.woff2')}@font-face{font-family:Plus;src:url('../assets/plus-jakarta-sans.woff2')}@font-face{font-family:JetBrains;src:url('../assets/jetbrains-mono.woff2')}*{box-sizing:border-box} :root{--paper:#fbf8f1;--chalk:#edf5f7;--lav:#eeeafa;--ink:#172d42;--muted:#687b89;--line:#dce3e3;--gold:#e5aa42;--blue:#cadfea}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Plus,Arial,sans-serif;min-width:320px}.skip{position:absolute;left:-1000px}.skip:focus{left:12px;top:8px;z-index:5;background:white;padding:10px}.top{height:70px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand img{width:132px;height:auto;display:block}.tag{font:600 10px JetBrains,monospace;letter-spacing:.04em;color:#455d70;background:#eef2ef;border-radius:30px;padding:8px 12px}.wrap{max-width:1180px;margin:auto;padding:38px 28px 80px}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;min-height:calc(100vh - 130px)}.eyebrow{font:700 10px JetBrains,monospace;letter-spacing:.12em;color:#687a88;margin:0 0 9px}.intro h1,.ending h1{font:600 clamp(62px,9vw,108px)/.85 Bricolage,sans-serif;letter-spacing:-.065em;margin:0;color:var(--ink)}h1 em{font-weight:500;color:#8c7abd}.lead{max-width:390px;font-size:17px;color:#52697b;margin:28px 0}.fiction{font-size:12px;color:#73828b;max-width:420px}.goalbox{border:1px solid var(--line);background:#fffdf8;border-radius:28px 6px 28px 6px;padding:30px;box-shadow:0 15px 50px #293d4510}.goalbox h2{font:600 28px/1.1 Bricolage;margin:0 0 20px}.goals{display:grid;gap:10px;margin-bottom:20px}.goal{border:1px solid var(--line);background:white;border-radius:13px;padding:13px 15px;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:flex-start}.goal[aria-checked=true]{background:var(--lav);border-color:#9789c5;box-shadow:inset 0 0 0 1px #9789c5}.goal .dot{width:14px;height:14px;margin-top:4px;border:1px solid #9eabb2;border-radius:50%;flex:none}.goal[aria-checked=true] .dot{border:4px solid #8c7abd}.goal b{font-size:14px}.goal small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.primary{border:0;background:var(--ink);color:white;border-radius:8px 18px 8px 8px;padding:14px 20px;font-weight:700;cursor:pointer;min-height:48px}.primary:hover:not(:disabled){background:#294760}.primary:disabled{opacity:.45;cursor:not-allowed}.link,.back{border:0;background:none;color:#536b7e;text-decoration:none;font:600 13px Plus,sans-serif;cursor:pointer;padding:9px}.resume{color:#496b5a;font-size:12px}.game-head{display:flex;align-items:end;justify-content:space-between;margin:8px 0 24px}.back{padding-left:0}.game-head h1{font:600 34px Bricolage;margin:2px 0}.board-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(265px,.8fr);gap:22px;align-items:start}.playarea{min-width:0}.status{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.status>div{padding:12px 15px;background:var(--chalk);border:1px solid #dbe7eb;border-radius:12px}.status small,.ledger-foot small{display:block;font:700 9px JetBrains,monospace;letter-spacing:.08em;color:#607789}.status b{font:700 18px JetBrains,monospace}.route-wrap{margin:14px 0;padding:15px;background:#fffdf8;border:1px solid var(--line);border-radius:15px}.route-label{display:flex;justify-content:space-between;gap:8px;font:700 9px JetBrains,monospace;letter-spacing:.07em;color:#6f8490}.route-label span:last-child{font-weight:400;letter-spacing:0}.route{list-style:none;margin:13px 0 0;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;position:relative}.route:before{content:"";position:absolute;height:2px;background:#dfe3dc;left:7%;right:7%;top:14px}.route li{position:relative;text-align:center;font:10px JetBrains,monospace;color:#82909a}.route .node{display:grid;place-items:center;margin:0 auto 6px;width:29px;height:29px;border-radius:50%;background:#f1efea;border:2px solid #deded6;color:#73808a}.route li.done .node{background:#d9e8e4;border-color:#88ada5;color:#214d4a}.route li.current .node{background:#ffedc4;border-color:var(--gold);color:#483712;box-shadow:0 0 0 4px #e5aa4229}.turn-card{background:#fffdf8;border:1px solid var(--line);border-radius:5px 24px 5px 24px;padding:24px;box-shadow:0 14px 42px #293d450a}.card-top{display:flex;justify-content:space-between}.sun{font-size:25px;color:var(--gold)}.turn-card h2{font:600 clamp(25px,3vw,34px)/1.05 Bricolage;margin:4px 0 8px}.turn-card>p:not(.forecast){color:#596f7e;margin:0 0 16px}.forecast{display:grid;gap:4px;padding:10px 13px;background:#f4f1fc;border-left:3px solid #a99ad3;border-radius:3px 9px 9px 3px;font-size:12px;color:#4f6072}.forecast b{font:700 9px JetBrains,monospace;letter-spacing:.06em}.turn-card h3{font:600 19px Bricolage;margin:19px 0 9px}.moves{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.move{border:1px solid var(--line);background:white;border-radius:12px;padding:12px;text-align:left;cursor:pointer;min-height:114px}.move[aria-pressed=true]{background:#f0edfa;border-color:#9585c1;box-shadow:inset 0 0 0 1px #9585c1}.move b{display:block;font-size:12px;line-height:1.35}.move small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:6px}.preview{margin-top:13px;padding:13px;background:#eef5f2;border:1px solid #d4e4dc;border-radius:12px}.preview h4{font:700 9px JetBrains,monospace;letter-spacing:.08em;margin:0 0 7px}.preview p{font-size:12px;margin:4px 0}.preview .numbers{font:600 11px JetBrains,monospace;color:#315d55}.commit{margin-top:12px;width:100%}.notice{min-height:20px;font-size:11px;color:#496b5a;margin:7px 0 0}.ledger{background:var(--chalk);border:1px solid #dbe7eb;border-radius:19px 5px 19px 5px;padding:20px;position:sticky;top:16px}.ledger-title{display:flex;gap:10px;align-items:center}.ledger-icon{display:grid;place-items:center;width:38px;height:38px;background:#d7e6eb;border-radius:12px;font-size:22px}.ledger-title h2{font:600 23px Bricolage;margin:0}.ledger-title .eyebrow{margin-bottom:0}.ledger-note{font-size:11px;color:#6c7e89}.receipts{list-style:none;padding:0;margin:14px 0}.receipts li{padding:11px 0;border-top:1px solid #d1dfe2}.receipts b{font:600 12px Bricolage;display:block}.receipts small{font:9px JetBrains,monospace;color:#627985}.ledger-foot{padding:12px;background:#fffdf8;border-radius:11px}.ledger-foot p{font-size:11px;margin:4px 0;color:#60727e}.ending{max-width:750px;margin:8vh auto;background:#fffdf8;border:1px solid var(--line);padding:clamp(24px,6vw,54px);border-radius:4px 34px 4px 34px}.ending h1{font-size:clamp(51px,9vw,86px)}.ending>p:not(.eyebrow){max-width:550px;color:#5e7383}.final-receipt{margin:22px 0;padding:18px;background:var(--lav);border-radius:15px}.final-receipt b{font:700 13px JetBrains,monospace}.final-receipt p{font-size:13px}.focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #d28c25;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:800px){.wrap{padding:26px 16px 95px}.intro{grid-template-columns:1fr;gap:28px;min-height:0}.intro h1{font-size:76px}.goalbox{padding:22px}.board-layout{grid-template-columns:1fr}.ledger{position:static}.receipts{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.turn-card{padding:19px}.game-head{align-items:center}}
@media(max-width:430px){.top{height:58px;padding:0 13px}.brand img{width:110px}.tag{font-size:8px;padding:6px 8px}.wrap{padding:21px 12px 70px}.intro h1{font-size:65px}.lead{font-size:15px;margin:19px 0}.goalbox{padding:19px}.goalbox h2{font-size:24px}.game-head h1{font-size:27px}.status{gap:5px}.status>div{padding:9px 7px}.status small{font-size:8px}.status b{font-size:14px}.route-wrap{padding:11px 8px}.route-label{font-size:8px}.route{gap:2px}.route li{font-size:8px}.route .node{width:25px;height:25px}.route:before{top:12px}.turn-card{padding:16px}.moves{grid-template-columns:1fr}.move{min-height:0;padding:11px}.move small{font-size:11px}.receipts{grid-template-columns:1fr}.ending{margin:4vh auto;padding:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@font-face{font-family:Bricolage;src:url('../assets/bricolage-grotesque.woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Plus;src:url('../assets/plus-jakarta-sans.woff2');font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains;src:url('../assets/jetbrains-mono.woff2');font-weight:100 900;font-display:swap}
.route-board{height:177px;position:relative;margin:4px -3px -5px}.route-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.route-path path{fill:none;stroke:#cbdce0;stroke-width:4;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.route{position:absolute;inset:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;align-items:center}.route:before{content:none}.route li{position:relative;z-index:1;min-width:0;align-self:center;text-align:center;font:9px JetBrains,monospace;color:#607580}.route li:nth-child(5){grid-column:4;grid-row:2}.route li:nth-child(6){grid-column:3;grid-row:2}.route li:nth-child(7){grid-column:2;grid-row:2}.route li:nth-child(8){grid-column:1;grid-row:2}.node{position:relative;display:grid;place-items:center;width:42px;height:42px;margin:0 auto 4px;border:1.5px solid #cad9dd;border-radius:13px 5px 13px 5px;background:#f6faf9;color:#314f5d}.node svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.route .stop-name{display:block}.route li.done .node{background:#ddece7;border-color:#80a79d;color:#245d55}.route li.current .node{background:#fff0c9;border-color:#d4a13d;box-shadow:0 0 0 3px #e5aa4229}.pawn{position:absolute;right:-5px;top:-8px;color:#8b7bb8;border:1px solid #8b7bb8;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;background:white;font:12px Arial,sans-serif}.month-guide{font-size:10px;margin-top:-5px}.buffer-run-link{box-shadow:0 3px 0 #d6d7e5}
@media(max-width:430px){.route-board{height:154px}.node{width:37px;height:37px}.route li{font-size:8px}.route-path path{stroke-width:3}}

/* ---- Round 1: light family look, readable small text, records ---- */
:root{--paper:#FFF8EC;--ink:#172033;--muted:#47546B;--line:#E6DCC9;--lav:#E4F5EE;--chalk:#FFFFFF}
body{background:var(--paper)}
.top{background:var(--paper)}
.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font:800 16px Bricolage,Plus,sans-serif;letter-spacing:-.01em}
.brand img{width:26px;height:26px;object-fit:contain}
.brand b{color:#0F6B4B}
.tag{font-size:12px;color:#3E4A5F;background:#fff;border:1.5px solid var(--line)}
.ic{width:20px;height:20px;flex:none;vertical-align:-4px}
.eyebrow{font-size:12px;color:#47546B}
h1 em{color:#0F6B4B}
.lead{color:#3E4A5F}
.fiction{font-size:13px;color:#47546B}
.goalbox,.turn-card,.ledger,.route-wrap,.ending,.status>div{border-radius:18px;border:1.5px solid var(--line);background:#fff;box-shadow:0 6px 20px rgba(23,32,51,.08)}
.status>div{box-shadow:none}
.goal{min-height:56px;border:1.5px solid var(--line)}
.goal[aria-checked=true]{background:#E4F5EE;border-color:#2BA37A;box-shadow:inset 0 0 0 1px #2BA37A}
.goal[aria-checked=true] .dot{border:4px solid #2BA37A}
.goal b{font-size:15px}
.goal small{font-size:13px;color:#47546B}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#2BA37A;color:#172033;border:1.5px solid #172033;border-radius:13px;box-shadow:0 3px 0 rgba(23,32,51,.9);min-height:48px;font-weight:800}
.primary:hover:not(:disabled){background:#35B388}
.primary:active:not(:disabled){transform:translateY(3px);box-shadow:none}
.primary:disabled{box-shadow:none}
.link,.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#2E3B52}
.resume{font-size:13px;color:#0F6B4B;font-weight:700}
.status small,.ledger-foot small{font-size:12px;color:#47546B}
.route-label{font-size:11px;color:#47546B}
.route li{font-size:11px;color:#47546B}
.route li.current .node{background:#FFF3D6;border-color:#2BA37A;box-shadow:0 0 0 4px rgba(43,163,122,.2)}
.route li.done .node{background:#CDEFE0;border-color:#2BA37A;color:#0F4F39}
.sun{color:#2BA37A;display:grid;place-items:center}
.forecast{background:#E4F5EE;border-left-color:#2BA37A;font-size:13px;color:#2E3B52}
.forecast b{font-size:11px}
.turn-card>p:not(.forecast){color:#3E4A5F}
.move{border:1.5px solid var(--line);min-height:120px}
.move[aria-pressed=true]{background:#E4F5EE;border-color:#2BA37A;box-shadow:inset 0 0 0 1px #2BA37A}
.move b{font-size:14px}
.move small{font-size:12px;color:#47546B}
.preview{background:#E4F5EE;border-color:#BFE5D3}
.preview h4{font-size:12px}
.preview p{font-size:14px}
.preview .numbers{font-size:13px;color:#0F4F39}
.notice{font-size:13px;color:#0F6B4B}
.ledger{background:#fff}
.ledger-icon{background:#E4F5EE;color:#0F6B4B}
.ledger-note{font-size:13px;color:#47546B}
.receipts small{font-size:12px;color:#47546B}
.receipts b{font-size:14px}
.ledger-foot{background:#FFFDF7}
.ledger-foot p{font-size:13px;color:#47546B}
.final-receipt{background:#E4F5EE}
.final-receipt p{font-size:14px}
.records{margin:22px 0;padding:18px;background:#FFF3D6;border:1.5px solid #E2B04F;border-radius:15px}
.records h3{font:700 12px JetBrains,monospace;letter-spacing:.08em;margin:0 0 8px}
.records p{margin:6px 0;font-size:14px;color:#2E3B52}
.records small{font-size:12px;color:#47546B}
.records-line{font-size:15px!important}
@media(max-width:430px){.tag{font-size:11px;padding:6px 8px}.route li{font-size:10px}.status small{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
