@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Archivo+Black&family=JetBrains+Mono:wght@400;500;600&family=Atkinson+Hyperlegible:wght@400;700&display=swap";html,body,#root{height:100%}body{margin:0}:root{--ink:#0d1620;--ink-soft:#2a3744;--ink-mute:#5a6773;--paper:#eef1f3;--paper-warm:#e6ebee;--paper-deep:#dde3e8;--rule:#b5c0c9;--rule-soft:#cfd6db;--rule-hair:#e3e8ec;--ice:#4f86a8;--ice-deep:#1e4a6e;--ice-pale:#c4d3df;--ice-glass:#d8e3ec;--warn:#b8381a;--warm:#c66f3a;--ok:#2e6b4d;--shadow:0 1px 0 #0d16200a, 0 18px 40px -28px #0d16202e;--display:"Archivo Black", "Inter Tight", sans-serif;--body:"Archivo", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.4;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1200px 800px at 20% 110%,#4f86a814,#0000 60%),radial-gradient(900px 600px at 110% -10%,#4f86a80f,#0000 60%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 .05  0 0 0 0 .09  0 0 0 0 .13  0 0 0 .25 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}.app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.chrome{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 28px 14px;display:grid}.wordmark{align-items:baseline;gap:10px;display:flex}.wordmark-mark{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase;font-size:22px;line-height:1}.wordmark-sub{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase;font-size:9.5px}.day-stamp{border:1px solid var(--ink);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;background:var(--paper);align-items:baseline;gap:8px;padding:4px 10px;font-size:11px;line-height:1.1;display:inline-flex}.day-stamp-n{font-size:14px}.chrome-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);justify-content:flex-end;align-items:center;gap:18px;font-size:10.5px;display:flex}.chrome-meta b{color:var(--ink);font-weight:600}.weather{align-items:center;gap:6px;display:inline-flex}.weather-sw{border:1px solid var(--ink);background:var(--ice-pale);width:8px;height:8px;display:inline-block}.inventory{border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,1fr);display:grid}.inv-cell{border-right:1px solid var(--rule-soft);background:var(--paper);flex-direction:column;gap:6px;padding:14px 18px;display:flex;position:relative}.inv-cell:last-child{border-right:none}.inv-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-size:9.5px}.inv-value{font-family:var(--display);letter-spacing:-.02em;font-size:38px;line-height:.9}.inv-meter{background:var(--rule-soft);height:4px;margin-top:4px;position:relative}.inv-meter>i{background:var(--ink);display:block;position:absolute;top:0;bottom:0;left:0}.inv-cell.is-low .inv-value,.inv-cell.is-low .inv-meter>i,.inv-cell.is-depleted .inv-value,.inv-cell.is-depleted .inv-meter>i{color:var(--warn);background:var(--warn)}.inv-cell.is-active{background:var(--paper-warm);box-shadow:inset 0 -3px 0 var(--ink)}.app-body{flex:1;display:grid;position:relative}.app-body.launch{grid-template-columns:1.1fr 1fr}.app-body.puzzle{grid-template-columns:1.35fr 1fr}.app-body.feedback,.app-body.gameover{grid-template-columns:1fr}@media (width<=880px){.app-body.launch,.app-body.puzzle{grid-template-columns:1fr}}.pane{padding:28px 32px;position:relative;overflow:auto}.pane+.pane{border-left:1px solid var(--rule-soft)}@media (width<=880px){.pane+.pane{border-left:none;border-top:1px solid var(--rule-soft)}}.hero{flex-direction:column;gap:22px;display:flex}.hero-kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:10px;font-size:10.5px;display:flex}.hero-kicker .dot{background:var(--ice);border-radius:50%;width:6px;height:6px;display:inline-block}.hero h1{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(48px,7vw,96px);line-height:.88}.hero h1 em{color:var(--ice-deep);font-style:normal}.hero-quote{border-left:2px solid var(--ink);color:var(--ink-soft);max-width:460px;padding:6px 0 6px 14px;font-size:14px;font-style:italic}.hero-blurb{color:var(--ink-soft);max-width:480px;font-size:14px}.resource-choices{border-top:1px solid var(--rule);grid-template-columns:repeat(2,1fr);gap:0;margin-top:6px;display:grid}.resource-choice{appearance:none;border:0;border-bottom:1px solid var(--rule-soft);border-right:1px solid var(--rule-soft);text-align:left;cursor:pointer;font-family:var(--body);color:var(--ink);background:0 0;flex-direction:column;gap:4px;padding:14px 16px;transition:padding .12s,background .12s;display:flex}.resource-choice:nth-child(2n){border-right:none}.resource-choice:hover{background:var(--paper-warm);padding-left:22px}.resource-choice.chosen{background:var(--ink);color:var(--paper)}.resource-choice-head{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.resource-choice-count{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;font-size:10px}.resource-choice.chosen .resource-choice-count{color:#ffffffa6}.resource-choice.urgent .resource-choice-count{color:var(--warn)}.resource-choice-blurb{color:var(--ink-soft);font-size:12.5px}.resource-choice.chosen .resource-choice-blurb{color:#ffffffb3}.journal{font-family:var(--body);color:var(--ink-soft);border-left:2px solid var(--ink);max-width:460px;margin:0;padding:6px 0 6px 14px;font-size:14px;font-style:italic}.best-record{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);border-top:1px solid var(--rule-hair);margin:0;padding:6px 0;font-size:11px}.best-record strong{color:var(--ice-deep);font-weight:600}.sites-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding-bottom:10px;display:flex}.sites-title{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:13px}.sites-count{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;font-size:10.5px}.sites-list{margin:0;padding:0;list-style:none}.site{border-bottom:1px solid var(--rule-soft);grid-template-columns:28px 1fr;align-items:start;gap:12px;padding:18px 0 16px;display:grid}.site-num{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-mute);padding-top:2px;font-size:11px}.site-title{font-family:var(--display);letter-spacing:-.005em;text-transform:uppercase;font-size:18px;line-height:1.05}.site-desc{color:var(--ink-soft);margin-top:4px;font-size:12.5px}.section-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;padding-bottom:8px;display:flex}.section-head-title{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.section-head-meta{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;font-size:10px}.section-head-meta b{color:var(--warn)}.trial{background:var(--paper-warm);border:1px solid var(--rule-soft);margin-bottom:24px;padding:16px}.trial-grid{grid-template-columns:1fr auto;gap:6px 14px;display:grid}.trial-acc{color:var(--ink-soft);font-size:12.5px}.trial-amt{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px}.trial-note{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;margin-top:10px;font-size:9.5px}.scenario-brief{color:var(--ink-soft);max-width:540px;margin:14px 0;font-size:13px}.scenario-brief b{color:var(--ink);font-weight:600}.sched{border-collapse:collapse;width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}.sched th{text-align:left;font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;border-bottom:1px solid var(--ink);padding:8px 10px;font-size:9.5px;font-weight:500}.sched th.num{text-align:right}.sched td{border-bottom:1px solid var(--rule-hair);vertical-align:top;padding:11px 10px}.sched td.num{text-align:right}.sched tr.clickable{cursor:pointer;transition:background .1s}.sched tr.clickable:hover{background:var(--paper-warm)}.sched tr.opening td{color:var(--ink-mute);font-style:italic}.sched tr.selected{background:#b8381a14}.sched tr.selected td{color:var(--warn)}.sched tr.selected td:first-child:before{content:"►";color:var(--warn);margin-right:6px}.sched tr.flag-correct{background:#2e6b4d1a}.sched tr.flag-correct td{color:var(--ok)}.sched tr.ruled-out td{color:var(--ink-mute);cursor:not-allowed;background:#2e6b4d0a;text-decoration:line-through}.ruled-tag{font-family:var(--mono);letter-spacing:.14em;color:var(--ok);text-transform:uppercase;margin-left:8px;font-size:9px;text-decoration:none}.sched tr.total-row td{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--ink);border-bottom:none;padding-top:14px;font-size:11px}.sched tr.total-row td.num{font-family:var(--mono);font-size:13.5px}.sched tr.tb-row td{color:var(--ink-mute);border-top:none;padding-top:4px;font-style:italic}.sched tr.diff-row td.num{color:var(--warn);font-size:14.5px;font-weight:600}.discrep{border:1px solid var(--warn);font-family:var(--mono);background:#b8381a0f;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;font-size:12px;display:flex}.discrep-label{letter-spacing:.14em;text-transform:uppercase;color:var(--warn);font-size:10.5px}.discrep-value{color:var(--warn);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.fixes{flex-direction:column;margin-top:4px;display:flex}.fix-option{border-bottom:1px solid var(--rule-hair);cursor:pointer;text-align:left;font-family:var(--body);color:var(--ink);background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:24px 1fr;align-items:flex-start;gap:12px;width:100%;padding:14px 0;transition:padding .12s;display:grid}.fix-option:hover{padding-left:6px}.fix-option .radio{border:1.5px solid var(--ink);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;position:relative}.fix-option.checked .radio:after{content:"";background:var(--ink);border-radius:50%;position:absolute;inset:3px}.fix-option-text{color:var(--ink);font-size:13.5px;line-height:1.4}.fix-option-tag{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;margin-top:4px;font-size:9.5px;display:block}.fix-option.correct .radio:after{background:var(--ok)}.fix-option.correct .fix-option-text{color:var(--ok)}.fix-option.wrong .radio:after{background:var(--warn)}.fix-option.wrong .fix-option-text{color:var(--warn)}button{font-family:inherit}.btn{appearance:none;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 22px;font-size:13px;transition:transform .12s,background .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--ice-deep);border-color:var(--ice-deep)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{background:var(--rule);color:var(--ink-mute);border-color:var(--rule);cursor:not-allowed}.btn .arrow{font-family:var(--mono);letter-spacing:0;font-weight:400}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn-row{flex-direction:column;gap:8px;margin-top:20px;display:flex}.btn-row-caption{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;text-align:center;padding-top:6px;font-size:10px}.app-foot{border-top:1px solid var(--rule);background:var(--paper-warm);z-index:4;align-items:center;gap:14px;padding:10px 28px;display:flex;position:relative}.dusk-label{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;white-space:nowrap;font-size:9.5px}.dusk-meter{background:var(--rule-soft);flex:1;height:4px;position:relative;overflow:hidden}.dusk-meter>i{background:linear-gradient(90deg, var(--ice-deep), var(--ice));transition:width .1s linear;position:absolute;top:0;bottom:0;left:0}.dusk-ticks{pointer-events:none;position:absolute;inset:0}.dusk-ticks i{background:var(--ink);opacity:.25;width:1px;position:absolute;top:-3px;bottom:-3px}.dusk-clock{font-family:var(--display);letter-spacing:.04em;text-align:right;font-variant-numeric:tabular-nums;min-width:60px;font-size:15px}.app-foot.is-dusk .dusk-clock{color:var(--warn)}.app-foot.is-dusk .dusk-meter>i{background:var(--warn)}.tiers{align-items:center;gap:8px;display:flex}.tier-chip{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--rule);padding:3px 7px;font-size:9.5px}.tier-chip.active{color:var(--ink);border-color:var(--ink);background:var(--paper)}.tier-chip.passed{color:var(--rule);border-color:var(--rule-soft)}.app-nav{border-top:1px solid var(--rule);background:var(--paper);font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 28px;font-size:9.5px;display:grid}.app-nav>:first-child{justify-self:start}.app-nav>:last-child{justify-self:end}.app-nav .credits-link-btn{justify-self:center}.nav-link{appearance:none;color:var(--ink-mute);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:9.5px}.nav-link:hover{color:var(--ink)}.hint-bar{border-top:1px dashed var(--rule-soft);flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;padding-top:12px;display:flex}.hint-button{appearance:none;border:1px solid var(--ink);color:var(--ink);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;padding:6px 12px;font-size:10px;transition:background .12s,color .12s}.hint-button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.hint-button:disabled{border-color:var(--rule);color:var(--ink-mute);cursor:not-allowed}.hint-explainer{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;font-size:9.5px}.penalty-note{font-family:var(--mono);letter-spacing:.12em;color:var(--warn);text-transform:uppercase;margin-left:8px;font-size:10px}.result{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);flex-direction:column;flex:1;display:flex}.result-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 32px 22px;display:flex}.result-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px;font-size:10.5px}.result-eyebrow b{color:var(--ink);font-weight:600}.result-verdict{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(38px,6vw,64px);line-height:.9}.result-verdict em{color:var(--ice-deep);font-style:normal}.result-verdict.bad em{color:var(--warn)}.result-body{flex-direction:column;flex:1;gap:24px;padding:28px 32px;display:flex;overflow:auto}.new-record{font-family:var(--mono);letter-spacing:.2em;color:var(--ice-deep);text-transform:uppercase;margin:0;font-size:10px}.receipt{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (width<=720px){.receipt{grid-template-columns:1fr}}.recv{border:1px solid var(--rule);background:var(--paper);padding:16px}.recv-title{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 12px;font-size:9.5px}.recv-line{border-bottom:1px dashed var(--rule-soft);font-family:var(--mono);grid-template-columns:1fr auto;gap:8px;padding:6px 0;font-size:12.5px;display:grid}.recv-line:last-of-type{border-bottom:none}.recv-line .v.up{color:var(--ok)}.recv-line .v.down{color:var(--warn)}.recv-total{border-top:1px solid var(--ink);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr auto;gap:8px;margin-top:8px;padding-top:10px;font-size:13px;display:grid}.recv-total .v{font-family:var(--mono);font-size:15px}.field-note{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);text-align:center;padding:8px 0;font-size:11px}.snow-particles{pointer-events:none;z-index:4;width:100vw;height:100vh;position:fixed;inset:0}.regmark{pointer-events:none;z-index:5;width:12px;height:12px;color:var(--ink);position:fixed}.regmark:before,.regmark:after{content:"";background:currentColor;position:absolute}.regmark:before{width:1px;height:12px;top:0;left:0}.regmark:after{width:12px;height:1px;top:0;left:0}.regmark.tl{top:6px;left:6px}.regmark.tr{top:6px;right:6px;transform:scaleX(-1)}.regmark.bl{bottom:6px;left:6px;transform:scaleY(-1)}.regmark.br{bottom:6px;right:6px;transform:scale(-1)}.modal-overlay{z-index:20;background:#0d162073;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);color:var(--ink);border:1px solid var(--ink);width:100%;max-width:560px;max-height:calc(100vh - 48px);box-shadow:var(--shadow);padding:24px 28px;position:relative;overflow-y:auto}.modal-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.modal-header h2{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0;font-size:16px}.modal-close{font-family:var(--mono);color:var(--ink-mute);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.modal-close:hover{color:var(--warn)}.modal-blurb{color:var(--ink-soft);margin:0 0 16px;font-size:13px;font-style:italic}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-actions .btn{width:auto}.settings-section{border-bottom:1px dashed var(--rule-soft);margin-bottom:16px;padding-bottom:16px}.settings-section:last-of-type{border-bottom:none}.settings-section h3{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 12px;font-size:10px}.setting-row{justify-content:space-between;align-items:center;gap:16px;margin:8px 0;font-size:13.5px;display:flex}.setting-row>span{flex-direction:column;display:flex}.setting-hint{color:var(--ink-mute);margin-top:2px;font-size:12px;font-style:italic}.toggle{font-family:var(--display);letter-spacing:.14em;background:var(--paper);min-width:56px;color:var(--ink);border:1px solid var(--ink);cursor:pointer;padding:6px 14px;font-size:10px}.toggle[aria-checked=true]{background:var(--ink);color:var(--paper)}.setting-row input[type=range]{accent-color:var(--ink);flex:0 0 140px}.glossary{margin:0}.glossary-entry{border-bottom:1px dashed var(--rule-soft);padding:10px 0}.glossary-entry:last-child{border-bottom:none}.glossary-entry dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:4px;font-size:11px;font-weight:500}.glossary-entry dd{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.intro-modal{max-width:620px}.intro-body p{font-size:14px;line-height:1.55}.intro-list{margin:14px 0;padding-left:22px}.intro-list li{margin:8px 0;font-size:13.5px;line-height:1.5}.intro-tip{color:var(--ink-mute);font-size:13px;font-style:italic}.link-button{color:var(--ice-deep);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{color:var(--ice)}.credits-modal{max-width:440px}.credits-body{text-align:center;padding:8px 0 4px}.credits-body p{color:var(--ink-soft);margin:8px 0;font-size:14px}.credits-sparkle{font-family:var(--mono);letter-spacing:.1em;color:var(--ice-deep);font-size:13px;margin:4px 0!important}.credits-link{color:var(--ice-deep);text-underline-offset:2px;font-weight:600;text-decoration:underline}.credits-link:hover{color:var(--ink)}.boss-tag{font-family:var(--mono);letter-spacing:.16em;color:var(--warn);text-transform:uppercase;font-size:10px}.penny-stage{display:none}body.dyslexia-font,body.dyslexia-font .scenario-brief,body.dyslexia-font .resource-choice-blurb,body.dyslexia-font .glossary-entry dd,body.dyslexia-font .intro-body p,body.dyslexia-font .intro-list li,body.dyslexia-font .journal,body.dyslexia-font .hero-blurb{font-family:Atkinson Hyperlegible,sans-serif}body.high-contrast .sched tr.selected{outline:3px solid var(--warn);outline-offset:-3px}body.high-contrast .sched tr.flag-correct{outline:3px double var(--ok);outline-offset:-3px}body.high-contrast .inv-cell.is-depleted,body.high-contrast .inv-cell.is-low{outline:3px dashed var(--warn);outline-offset:-3px}body.high-contrast .fix-option.checked{outline:2px solid var(--ink);outline-offset:-2px}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{transition-duration:0s!important;animation-duration:0s!important}
