:root{color-scheme:dark;--gold:#e2c28d;--ink:#edf0f4;--muted:#b3bdc9;--line:#394a60;--body-size:17px}*{box-sizing:border-box}body{margin:0;background:#080f19;color:var(--ink);font:var(--body-size)/1.75 Georgia,serif}button,a,input,select{touch-action:manipulation}button,input,select{font:14px/1.4 system-ui,sans-serif}button{cursor:pointer;background:#d9bd8d;color:#101927;border:1px solid #d9bd8d;padding:12px 18px;border-radius:3px;font-weight:650}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#152337;color:#e3d2b7;border-color:#566174}a{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8bd9ef;outline-offset:4px}header{height:68px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 28px;border-bottom:1px solid #26354b;background:#0b1421;font:11px system-ui;letter-spacing:.17em}.brand{font-size:14px;color:#e5e5e5;text-decoration:none;letter-spacing:.2em}.brand span{display:block;font-size:8px;color:#9cabbc;margin-top:3px}.header-title{color:#b4c2d1}header button{font-size:11px;padding:8px 12px;background:transparent;color:#d4c5ac;border-color:#4a5464}h1,h2,h3{font-weight:400;line-height:1.12;margin:0 0 24px}h1{font-size:clamp(52px,6.8vw,100px);letter-spacing:-.05em}h2{font-size:clamp(30px,3vw,46px);letter-spacing:-.025em}h3{font-size:24px}.eyebrow{font:10px/1.5 system-ui;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}.title-screen{min-height:calc(100dvh - 68px);position:relative;display:flex;align-items:center;background:linear-gradient(90deg,#070e19ed 0%,#070e19b5 40%,#070e1910 80%),url('assets/station.png') 55% center/cover}.title-copy{width:min(740px,90%);padding:65px 0 65px 7vw}.title-copy .subtitle{font-size:clamp(20px,2.4vw,28px);color:#d7c7aa}.title-copy p{max-width:490px;color:#c1ccd8}.title-copy .fine{font:12px/1.8 system-ui;color:#b9c1ca}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.play-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr);min-height:calc(100dvh - 68px)}.scene-view{position:sticky;top:0;height:calc(100dvh - 68px);min-height:550px;overflow:hidden;background:#0b1726}.scene-view img{width:100%;height:100%;object-fit:cover;object-position:center}.scene-view:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#07101bf2);pointer-events:none}.scene-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1}.scene-caption h2{font-size:30px;max-width:400px}.scene-caption p{font:12px/1.6 system-ui;color:#c2cad3;margin:0}.scene-panel{padding:40px clamp(24px,3vw,55px) 70px;background:linear-gradient(#111d2d,#0b1523)}.scene-panel h2:focus{outline:none}.story p{margin:0 0 19px}.echo{font-size:15px;color:#e0c79e;border-left:2px solid #a98a53;padding:12px 17px;background:#d7b77b0b;margin:22px 0}.choices{display:grid;gap:12px;margin-top:28px}.choice{width:100%;text-align:left;padding:16px 18px;background:#1c2b40;color:#f1e5cf;border:1px solid #526074;font-size:15px;font-weight:500;line-height:1.5}.choice small{display:block;font-size:11px;color:#bac7d7;margin-top:5px}.choice:hover:not(:disabled){border-color:#d6b980;background:#263951}.choice.primary{background:#d9bd8d;color:#162031}.choice.primary small{color:#344154}.stats{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0;font:10px/1.4 system-ui}.stats span{background:#162439;border:1px solid #33455d;padding:6px 8px;border-radius:2px;color:#c8d3df}.stats strong{color:#f2d7a6;margin-left:4px}.progress{width:100%;height:2px;background:#31415a;margin-bottom:28px}.progress i{display:block;height:2px;background:#d4b47c}.inspection{margin:22px 0;border:1px solid #42536a;background:#132238;padding:16px}.inspection summary{font:13px system-ui;cursor:pointer;color:#d7c3a0}.inspection p{font-size:15px;margin:15px 0 0}.puzzle{border:1px solid #668094;padding:20px;background:#0a192b;margin:25px 0}.puzzle h3{font-size:23px}.puzzle label{display:block;font:13px/1.6 system-ui;color:#d6e2eb;margin:12px 0}.puzzle select,.puzzle input[type=number]{display:block;background:#182b42;color:white;border:1px solid #607c96;width:100%;padding:10px}.puzzle input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:10px}.puzzle .actions{margin:20px 0 5px}.puzzle .feedback{font:13px/1.6 system-ui;color:#b4d9bc;margin-top:15px}.puzzle .help{font:12px/1.5 system-ui;color:#bbc7d1}.outcome{border-top:1px solid #586172;margin:35px 0;padding-top:25px}.outcome p{font-size:16px}.portrait-note{font:10px/1.6 system-ui;color:#b6c4d1}.ledger{font:13px/1.7 system-ui}.ledger li{margin-bottom:14px}.chapter-map{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 30px}.chapter-map span{padding:6px 9px;border:1px solid #42546a;font:11px system-ui;color:#95a6ba}.chapter-map .done{color:#ebc992;background:#23354a}dialog{background:#101e30;color:#e8edf3;border:1px solid #60718a;border-radius:7px;max-width:740px;width:calc(100% - 30px);max-height:88dvh;padding:30px;box-shadow:0 25px 80px #000b}dialog::backdrop{background:#030810bd}.close{float:right;background:transparent;border-color:#52627a;color:#cfd9e5;padding:7px 12px;font-size:12px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.menu-grid button{background:#1e3048;color:#e9d7b9;border-color:#4b6079}dialog details{font:14px/1.7 system-ui;border-top:1px solid #394b63;padding:15px 0}dialog summary{cursor:pointer;color:#e6cc9d}#notice{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:10;background:#1b2c42;color:#e7dcc5;border:1px solid #8c7f66;padding:12px 18px;font:13px/1.5 system-ui;max-width:90vw;width:max-content;box-shadow:0 5px 24px #0006;display:none}#notice.visible{display:block}.large-text{--body-size:20px}
@media(max-width:950px){.play-layout{grid-template-columns:1fr}.scene-view{position:relative;height:40vh;min-height:240px;max-height:480px}.scene-view img{object-position:center 40%}.scene-caption{left:22px;bottom:15px}.scene-caption h2{font-size:23px;margin-bottom:10px}.scene-panel{padding:28px 22px 55px}.header-title{display:none}header{padding:0 18px}.title-copy{padding:60px 0 60px 6vw;width:92%}.title-screen{background-position:43% center}.title-copy p{font-size:17px}.menu-grid{grid-template-columns:1fr}.scene-panel h2{font-size:34px}dialog{padding:22px}.title-copy h1{font-size:62px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
