.crt-frame[style]{color:var(--crt-phosphor, var(--crt-green, #37ff8b))}.crt-frame[style] .crt-cursor{color:var(--crt-phosphor, var(--crt-green, #37ff8b));animation-duration:var(--crt-blink-ms, 1s)}.crt-frame[style] .crt-typing .dots{animation-duration:var(--crt-blink-ms, 1s)}.crt-frame[style] .crt-scanlines{animation:crt-tell-jitter 2.7s steps(3) infinite}@keyframes crt-tell-jitter{0%{transform:translate(0)}33%{transform:translate(var(--crt-jitter, 0px))}66%{transform:translate(calc(var(--crt-jitter, 0px) * -1))}to{transform:translate(0)}}.crt-frame[style] .crt-question-row button,.crt-frame[style] .crt-log-line,.crt-frame[style] .crt-name{color:var(--crt-phosphor, var(--crt-green, #37ff8b))}.crt-frame[style] .crt-prior-answer,.crt-frame[style] .crt-evidence-line{color:var(--crt-phosphor-dim, #0d4a28)}.crt-frame[style] .machine-dialogue{color:var(--crt-phosphor, var(--crt-green, #37ff8b))}@media (prefers-reduced-motion: reduce){.crt-frame[style] .crt-scanlines,.crt-frame[style] .crt-cursor,.crt-frame[style] .crt-typing .dots{animation:none}}:root{color-scheme:dark;--bg: #0b0d10;--panel: #14181d;--panel-border: #2a3138;--fg: #e8ecef;--fg-dim: #9aa5ac;--accent: #7fd7ff;--danger: #ff6b6b;--warn: #e0b23c;--good: #5fd97a;--crt-green: #37ff8b;--crt-bg: #04140a;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: Georgia, "Times New Roman", serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace;--font-display: "Jersey 15", monospace;--font-machine: "VT323", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:15px;line-height:1.5}button{font-family:inherit;font-size:1rem;cursor:pointer;background:var(--panel);color:var(--fg);border:1px solid var(--panel-border);border-radius:6px;padding:.6em 1em}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}input[type=text],select{font-family:inherit;font-size:1rem;background:var(--panel);color:var(--fg);border:1px solid var(--panel-border);border-radius:4px;padding:.4em .6em}fieldset{border:1px solid var(--panel-border);border-radius:8px;margin:.75em 0;padding:.75em 1em}legend{color:var(--fg-dim);padding:0 .4em}.primary-button{background:var(--accent);color:#06222c;border:none;font-weight:600}.primary-button:hover:not(:disabled){filter:brightness(1.08)}.setup-screen,.end-screen{max-width:720px;margin:8vh auto;padding:2rem;text-align:center}.setup-screen{text-align:left}.setup-names,.setup-vehicle,.setup-preset{display:flex;flex-direction:column;gap:.5em}.setup-name-field{display:flex;justify-content:space-between;align-items:center;gap:1em}.setup-radio{display:flex;align-items:baseline;gap:.6em}.setup-radio-name{font-weight:600;min-width:8em}.setup-radio-blurb{color:var(--fg-dim);font-size:.9em}.scene{position:relative;min-height:100vh;overflow:hidden}.scene-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--bg)}.scene-band{position:absolute;left:0;right:0;overflow:hidden}.scene-tile{position:absolute;top:0;left:0;width:960px;height:100%;background-image:var(--backdrop);background-size:960px var(--band-size-y);background-position:0 var(--band-pos-y);background-repeat:no-repeat;image-rendering:pixelated;animation:scene-scroll var(--band-duration) linear infinite}.scene-tile-mirrored{transform:scaleX(-1);left:960px}.scene-tile-repeat{left:1920px}@keyframes scene-scroll{0%{translate:0 0}to{translate:-960px 0}}.scene-idle .scene-tile{animation-play-state:paused}.scene-sprite{position:absolute;left:12%;bottom:8%;width:96px;height:60px;background-size:192px 60px;background-repeat:no-repeat;image-rendering:pixelated;animation:scene-sprite-frames .5s steps(1) infinite}@keyframes scene-sprite-frames{0%,49.9%{background-position:0 0}50%,to{background-position:-96px 0}}.scene-idle .scene-sprite{animation-play-state:paused}.scene-weather{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wx-clear .scene-weather{background:none}.wx-rain .scene-weather{background:repeating-linear-gradient(105deg,rgba(180,210,230,.28) 0 1px,transparent 1px 7px);animation:wx-fall .55s linear infinite}.wx-cold .scene-weather{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.7) 0 1.5px,transparent 2px),radial-gradient(circle at 70% 55%,rgba(255,255,255,.6) 0 1.5px,transparent 2px),radial-gradient(circle at 45% 80%,rgba(255,255,255,.5) 0 1.5px,transparent 2px);background-size:120px 120px,90px 90px,150px 150px;animation:wx-fall 4s linear infinite}.wx-heat .scene-weather{background:repeating-linear-gradient(0deg,rgba(255,210,140,.1) 0 2px,transparent 2px 6px);animation:wx-shimmer 2.4s ease-in-out infinite alternate}.wx-storm .scene-weather{background:linear-gradient(180deg,#04060a8c,#04060a40),repeating-linear-gradient(112deg,rgba(160,190,215,.34) 0 1px,transparent 1px 5px);animation:wx-fall .35s linear infinite}@keyframes wx-fall{0%{background-position-y:0}to{background-position-y:120px}}@keyframes wx-shimmer{0%{transform:translateY(0)}to{transform:translateY(2px)}}.tod-night .scene-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0a10226b;pointer-events:none}.scene-content{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:1.5rem;background:#0b0d10c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (prefers-reduced-motion: reduce){.scene-tile,.scene-sprite,.scene-weather{animation:none}}.travel-panel,.event-panel,.waypoint-panel,.terminal-panel{background:#0b0d10b8;border:1px solid var(--panel-border);border-radius:10px;padding:1.5rem 2rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.75em 1.5em;margin:0 0 1.25em}.status-strip .status-item{display:flex;justify-content:space-between;border-bottom:1px dotted var(--panel-border);padding-bottom:.2em}.status-strip dt{color:var(--fg-dim)}.status-strip dd{margin:0;font-weight:600}.party-health{list-style:none;margin:0 0 1.25em;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75em}.party-member{border:1px solid var(--panel-border);border-radius:8px;padding:.6em .8em}.party-member-dead{opacity:.45}.party-member-name{font-weight:600}.party-member-trait{color:var(--fg-dim);font-size:.85em;margin-bottom:.4em}.health-bar{height:8px;background:#2a3138;border-radius:4px;overflow:hidden}.health-bar-fill{height:100%;background:linear-gradient(90deg,var(--danger),var(--warn),var(--good));background-size:300% 100%;background-position:100% 0}.condition-badges{margin-top:.4em;display:flex;flex-wrap:wrap;gap:.3em}.condition-badge{font-size:.75em;padding:.15em .5em;border-radius:999px;background:#3a2020;color:var(--danger);border:1px solid var(--danger)}.party-member-status{color:var(--danger);font-size:.8em;margin-top:.3em}.travel-pace label,.travel-rations label{text-transform:capitalize}.scene-text{font-family:var(--font-serif);font-size:1.15rem;line-height:1.7;white-space:pre-wrap}.mechanical-toggle{display:flex;align-items:center;gap:.5em;font-size:.8em;color:var(--fg-dim);float:right}.choices{display:flex;flex-direction:column;gap:.6em;margin-top:1.25em}.choice-button{display:flex;align-items:center;gap:.8em;text-align:left;padding:.8em 1em}.choice-index{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:4px;background:var(--panel-border);font-size:.85em;flex-shrink:0}.crt-typing{font-family:var(--font-mono);color:var(--crt-green)}.crt-typing .dots{animation:crt-blink 1s steps(1) infinite}@keyframes crt-blink{50%{opacity:0}}.waypoint-brief{font-family:var(--font-serif);color:var(--fg-dim);margin-bottom:1em}.waypoint-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75em;margin-top:1em;padding-top:1em;border-top:1px solid var(--panel-border)}.trade-row{display:flex;align-items:center;gap:.4em}.terminal-panel{display:flex;flex-direction:column;gap:1em}.crt-frame{position:relative;background:var(--crt-bg);border:2px solid #163a24;border-radius:8px;padding:1.25em 1.5em;font-family:var(--font-mono);color:var(--crt-green);text-shadow:0 0 2px rgba(55,255,139,.5);overflow:hidden}.crt-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000,#0000 2px,#00000040 3px);mix-blend-mode:multiply}.crt-content{position:relative}.crt-cursor{animation:crt-blink 1s steps(1) infinite}.crt-name{margin-top:0;text-transform:uppercase;letter-spacing:.08em}.crt-question-row{margin-bottom:.75em}.crt-question-row button{background:transparent;color:var(--crt-green);border:1px solid #163a24;width:100%;text-align:left}.crt-prior-answer{margin:.35em 0 0 1em;color:#8fe6b3;font-size:.9em}.machine-dialogue{white-space:pre-wrap}.crt-evidence-log{margin-top:.75em}.crt-evidence-line{margin:.2em 0;font-size:.85em;font-style:italic;color:#6fae86}.crt-response-log{margin-top:1em;border-top:1px dashed #163a24;padding-top:.75em}.crt-response-log h3{font-size:.85em;text-transform:uppercase;letter-spacing:.06em;color:#8fe6b3;margin:0 0 .4em}.crt-log-line{margin:.2em 0;font-size:.9em}.crt-answer .choices{margin-top:.75em}.death-cause{color:var(--danger)}.epitaph,.arrival-text{font-family:var(--font-serif);font-size:1.1rem;line-height:1.7;margin:1.2em 0}.run-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75em;margin:1.5em 0}.run-stats>div{border:1px solid var(--panel-border);border-radius:8px;padding:.6em}.run-stats dt{color:var(--fg-dim);font-size:.8em}.run-stats dd{margin:0;font-size:1.2em;font-weight:600}@media (max-width: 1024px){.status-strip,.run-stats{grid-template-columns:repeat(2,1fr)}.travel-panel,.event-panel,.waypoint-panel,.terminal-panel{padding:1rem 1.25rem}}.route-map{display:block;width:100%;height:44px;margin-bottom:.75rem;border:1px solid var(--panel-border);border-radius:4px;background:#04060a99}.route-dot{fill:var(--panel-border);stroke:var(--bg);stroke-width:1}.route-dot-visited{fill:var(--fg)}.route-fork{stroke:var(--fg-dim);stroke-width:2}.route-marker{fill:var(--accent);vector-effect:non-scaling-stroke}.route-band-label{fill:var(--fg-dim);font-size:9px;font-family:var(--font-mono)}.portrait{display:block;image-rendering:pixelated;border:1px solid var(--panel-border);border-radius:3px;background:var(--panel)}.portrait-dead{filter:grayscale(.85) brightness(.75)}.portrait-builder{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.portrait-builder-member{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border:1px solid var(--panel-border);border-radius:6px}.portrait-layer-row{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--fg-dim)}.portrait-layer-row button{padding:0 .45em;line-height:1.3}.portrait-layer-name{min-width:5.5em}.party-member{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;gap:.15rem .6rem;align-items:start}.party-member .portrait{grid-row:1 / -1}.recap{margin-top:2.5rem;text-align:left}.recap-summary{color:var(--fg-dim)}.recap-strip{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0 1rem;margin:0;list-style:none;scroll-snap-type:x proximity}.recap-frame{flex:0 0 200px;scroll-snap-align:start;padding:.6rem;border:1px solid var(--panel-border);border-radius:6px;background:var(--panel)}.recap-card{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:3px}.recap-card-blank{aspect-ratio:8 / 5;background:repeating-linear-gradient(135deg,var(--panel-border) 0 3px,transparent 3px 8px)}.recap-day{margin:.4rem 0 0;font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim)}.recap-title{margin:.1rem 0 .3rem;font-size:.95rem}.recap-detail{margin:0;font-size:.8rem;color:var(--fg-dim)}.recap-claim{font-size:.82rem;margin:.5rem 0 .2rem}.recap-verdict{font-family:var(--font-mono);font-weight:700}.recap-claim-true .recap-verdict{color:var(--good)}.recap-claim-false .recap-verdict,.recap-claim-false{color:var(--danger)}.recap-acted{margin:0;font-size:.78rem;color:var(--warn)}.recap-evidence{margin:.3rem 0 0;padding-left:1.1em;font-size:.76rem;color:var(--fg-dim)}.recap-frame-machine{border-color:var(--crt-green)}.recap-frame-end{border-color:var(--danger)}.brand{display:flex;align-items:center;gap:1.2rem}.brand-stacked{flex-direction:column;gap:.9rem}.brand-mark{display:block;image-rendering:pixelated}.brand-wordmark{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5.5rem);line-height:.82;letter-spacing:.06em;white-space:nowrap}.title-screen{position:relative;min-height:100vh;overflow:hidden;background:var(--title-ground)}.title-sky{position:absolute;top:0;right:0;bottom:46%;left:0;display:flex;flex-direction:column}.title-sky-band{flex-shrink:0}.title-ground{position:absolute;top:54%;right:0;bottom:0;left:0;background:var(--title-ground)}.title-skyline{position:absolute;left:0;right:0;bottom:46%;height:110px;width:100%}.title-road-wrap{position:absolute;top:54%;right:0;bottom:0;left:0}.title-road{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--title-road);clip-path:polygon(48.4% 0%,51.6% 0%,74% 100%,26% 100%)}.title-dash{position:absolute;left:50%;transform:translate(-50%)}.title-sprite{position:absolute;width:96px;height:60px;background-size:192px 60px;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated}.title-lockup{position:absolute;top:7%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:0 1rem;text-align:center}.title-tagline{margin:0;font-family:var(--font-serif);font-style:italic;font-size:clamp(.9rem,1.4vw,1.15rem);color:var(--title-dim)}.title-menu{position:absolute;bottom:7%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.title-menu-item{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-machine);font-size:1.6rem;color:var(--title-dim)}.title-menu-item-active{color:var(--title-wordmark)}.title-menu-cursor{display:inline-block;width:1.1em}.title-press-enter{margin:.6rem 0 0;font-family:var(--font-machine);font-size:1.1rem;color:var(--title-dim)}.title-caret{animation:title-caret-blink 1s steps(1) infinite}@keyframes title-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.title-caret{animation:none}}
