:root{color-scheme:dark;--ink:#102e2d;--paper:#f4e5c7;--brass:#e5b566;--muted:#bdc6b4;--line:#79928350;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:#112e2e;color:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:var(--paper);background:#234e4b;border:1px solid #83a29680;border-radius:7px;min-width:44px;min-height:44px;padding:8px 12px;cursor:pointer;touch-action:manipulation}button:hover{background:#326963}button:active,button.pressed{background:var(--brass);color:var(--ink);transform:translateY(1px)}button:disabled{opacity:.43;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible,select:focus-visible{outline:3px solid #ffe2a0;outline-offset:3px}a{color:inherit}button.primary{background:var(--brass);border-color:var(--brass);font-weight:750;color:#173b37}button.primary:hover{background:#ffd393}[hidden]{display:none!important}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.game{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;flex-direction:column}header{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}header a{text-decoration:none;font-size:11px;letter-spacing:.1em;font-weight:800}header a span{color:var(--brass)}.wordmark{font-family:Georgia,serif;letter-spacing:.1em;font-size:14px}header button{min-height:44px;border:0;background:none}main{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;max-width:1200px;width:100%;margin:auto;gap:20px;padding:12px 20px}.workroom{min-height:0;display:flex;flex-direction:column}.stagebar{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:62px;flex-shrink:0}.stagebar h1{font-family:Georgia,serif;font-weight:500;font-size:24px;margin:3px 0}.counts{text-align:right;white-space:nowrap}.counts b{font-size:16px;color:var(--brass);display:block}.counts span{font-size:11px;color:var(--muted)}.boardwrap{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;background:#0c2524;border:1px solid #8f9b7940;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 35px #0005}canvas{display:block;max-width:100%;max-height:100%;touch-action:none}.room-label{position:absolute;bottom:4px;right:8px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#d3d6bd99;pointer-events:none}.status{height:46px;display:flex;align-items:center;font-size:13px;line-height:1.25;flex-shrink:0;color:#e0d3b9}.controlroom{display:flex;flex-direction:column;justify-content:center;gap:20px}.equipment{display:flex;flex-wrap:wrap;gap:5px;min-height:22px;font-size:11px;color:#dccba8}.equipment span{padding:4px 7px;border:1px solid var(--line);border-radius:3px}.equipment .active{color:#ffe2a0;border-color:#d3a459}.controls{display:flex;flex-direction:column;align-items:center;gap:20px}.pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,52px);gap:4px;touch-action:none}.pad button{font-size:30px;line-height:1;padding:0;border-radius:8px;box-shadow:0 3px 0 #091d1b}.pad [data-dir=U]{grid-area:1/2}.pad [data-dir=L]{grid-area:2/1}.pad [data-dir=R]{grid-area:2/3}.pad [data-dir=D]{grid-area:3/2}.pad-center{grid-area:2/2;display:grid;place-items:center;font-size:8px;letter-spacing:.11em;color:#c6ceb9aa}.actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}.actions button{font-size:13px;padding:6px}.actions .primary{grid-column:1/-1}kbd{font:10px ui-monospace,monospace;opacity:.5;margin-left:5px}.objective{font-size:12px;line-height:1.5;margin:0;color:var(--muted);text-align:center}.home{height:100dvh;position:relative;display:grid;grid-template-columns:1fr 1fr;background:#112e2d;overflow:auto}.home-art{position:absolute;inset:0}.home-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b2929f5 0%,#102e2dcc 33%,#0f2c2c14 80%)}.home-art img{width:100%;height:100%;object-fit:cover;object-position:center}.home-content{position:relative;z-index:1;padding:clamp(22px,6vw,80px);align-self:center;max-width:620px;grid-column:1/2}.home-content h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,90px);line-height:.95;letter-spacing:-.045em;margin:22px 0}.home-content h1 span{color:var(--brass)}.tagline{font-family:Georgia,serif;font-size:23px;margin:15px 0}.intro{font-size:15px;line-height:1.6;max-width:300px}.home-details{font-size:11px;color:var(--brass);margin:24px 0 12px}.home-content>button{min-height:52px;width:100%;display:flex;justify-content:space-between}.home-links{display:flex;gap:5px;margin-top:7px}.home-links button{background:#0a282bc4;font-size:11px;flex:1;padding:8px}.credit{font-size:10px;line-height:1.5;color:#e4dcc4b8;margin:12px 0 0}.save-status{font-size:10px;color:var(--muted);min-height:14px;margin:10px 0 0}dialog{background:#f2e5cc;color:#163c38;border:1px solid #c89a51;border-radius:12px;width:min(560px,calc(100vw - 20px));max-height:calc(100dvh - 24px);padding:0;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#061b1bd9;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #8d704440;gap:10px}.dialog-head h2{font:500 24px Georgia,serif;margin:0}.dialog-head button{background:none;color:#163c38;border:0;font-size:26px}.dialog-body{padding:15px 18px;max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain;font-size:14px;line-height:1.5}.dialog-body p{margin:0 0 12px}.dialog-body h3{font:500 20px Georgia,serif;margin:12px 0}.dialog-actions{display:flex;gap:8px;padding:12px 18px;border-top:1px solid #8d704440;flex-wrap:wrap}.dialog-actions button{flex:1}.dialog-body button{color:#164039;background:#d9c9aa;border-color:#af9670}.dialog-body label{display:block;margin:10px 0}.dialog-body select{min-height:44px;width:100%;font:inherit;padding:8px;background:#fff5df;color:#183b36;border:1px solid #a39376;border-radius:5px}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.stage-grid button{padding:6px;min-height:52px}.stage-grid .done{background:#245c55;color:#fff4d7}.reward-marker{font-size:11px;letter-spacing:.15em;color:#886120;text-transform:uppercase}.reward-title{font:500 28px Georgia,serif!important;color:#174c43}.note{border-top:1px solid #ad936b60;padding-top:12px;margin-top:12px}.note small{display:block;color:#725d40}.note a{display:inline-flex;align-items:center;min-height:44px;color:#1e5c53}.tool-on{background:#b78539!important;color:#fff5df!important;border-color:#fff0c4!important}
@media(max-width:750px) and (min-height:501px){header{height:44px;padding:0 10px}.wordmark{font-size:11px}main{display:flex;flex-direction:column;padding:0 8px 6px;gap:0}.workroom{flex:1}.stagebar{min-height:50px}.stagebar h1{font-size:19px}.eyebrow{font-size:9px}.counts b{font-size:14px}.boardwrap{border-radius:5px}.status{height:35px;font-size:12px}.controlroom{gap:2px;flex-shrink:0}.equipment{min-height:0;justify-content:center;font-size:9px;gap:4px}.equipment span{padding:2px 5px}.controls{flex-direction:row;justify-content:center;gap:14px;width:100%;align-items:center}.pad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,50px);gap:3px;flex-shrink:0}.actions{max-width:185px;gap:5px}.actions button{font-size:11px;min-height:44px}.objective{font-size:10px;line-height:1.2;margin:4px 0}kbd{display:none}.home{display:block}.home-art:after{background:linear-gradient(90deg,#0b2929f2,#102e2d99),linear-gradient(0deg,#0b2929,transparent 70%)}.home-art img{object-position:62% center}.home-content{padding:28px 22px;max-width:460px;margin:auto}.home-content h1{font-size:66px;margin:18px 0}.home-content .tagline{font-size:22px}.home-details{margin-top:18px}}
@media(max-height:650px) and (min-height:501px) and (max-width:750px){.equipment{display:none}.objective{display:none}.status{height:32px;font-size:11px}.home-content{padding:20px}.home-content h1{font-size:53px;margin:16px 0}.home-content .tagline{font-size:19px}.intro{font-size:13px;margin:10px 0}.home-details{margin:14px 0 10px}.home-links button{font-size:10px}}
@media(max-height:500px){header{height:40px;padding:0 10px}.wordmark{font-size:11px}main{padding:0 8px 4px;gap:10px;grid-template-columns:minmax(0,1fr) 184px}.stagebar{min-height:42px}.stagebar h1{font-size:17px;margin:1px 0}.eyebrow{font-size:8px}.counts b{font-size:12px}.counts span{font-size:9px}.status{height:28px;font-size:10px}.controlroom{gap:4px}.equipment,.objective{display:none}.controls{gap:5px}.pad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,44px);gap:3px}.pad button{font-size:26px}.actions{gap:4px;grid-template-columns:repeat(3,1fr)}.actions button{min-height:44px;font-size:10px;padding:3px}.actions .primary{grid-column:auto}kbd{display:none}.home{grid-template-columns:1fr 1fr}.home-content{padding:14px 26px;max-width:390px}.home-content h1{font-size:42px;margin:8px 0}.home-content .tagline{font-size:16px;margin:8px 0}.intro{display:none}.home-details{font-size:9px;margin:10px 0 7px}.home-content>button{min-height:44px}.home-links{gap:4px}.home-links button{font-size:9px;padding:4px}.credit{font-size:8px;margin-top:5px}.save-status{margin:4px 0 0;min-height:11px;font-size:8px}.dialog-head{padding:5px 14px}.dialog-head h2{font-size:20px}.dialog-body{max-height:calc(100dvh - 130px);padding:10px 14px;font-size:12px}.dialog-actions{padding:8px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.dialog-actions button{flex:1 1 100px}
header{min-height:44px}header button{height:44px;line-height:1;border-radius:0;padding:8px}
@keyframes contact{0%{box-shadow:inset 0 0 0 2px #ead49e90}100%{box-shadow:inset 0 0 35px #0005}}.boardwrap.contact{animation:contact .22s ease-out}
@media(max-width:750px) and (min-height:501px){.controls{gap:4px}.pad{gap:2px}.actions{grid-template-columns:repeat(3,minmax(44px,1fr));gap:3px;max-width:250px}.actions button{font-size:10px;padding:3px;min-width:44px}.actions #trace{display:none}.actions .primary{grid-column:1/-1}.status{height:32px}.pad{grid-template-rows:repeat(3,50px)}}
header{height:46px;min-height:46px}.route-plan{font:15px ui-monospace,monospace;line-height:2;word-spacing:.3em;overflow-wrap:anywhere;background:#dfcfac;padding:12px;border-radius:5px}
.notfound{display:block;padding:32px;max-width:650px}.notfound a{display:inline-flex;align-items:center;min-height:44px}
dialog[open]{display:flex;flex-direction:column}.dialog-head,.dialog-actions{flex-shrink:0}.dialog-body{flex:1;min-height:0}
@media(max-height:500px){main{grid-template-columns:minmax(0,1fr) 192px}.actions{grid-template-columns:repeat(4,minmax(44px,1fr));gap:4px}.stagebar{min-height:38px}.status{height:24px}}
@media(max-height:400px) and (min-width:500px){.workroom{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;column-gap:4px}.stagebar{grid-column:1;grid-row:1;min-height:0;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-top:10px;gap:10px}.stagebar h1{font-size:16px;line-height:1.1;margin:7px 0}.stagebar .eyebrow{font-size:8px;letter-spacing:.1em;line-height:1.5}.counts{text-align:left}.boardwrap{grid-column:2;grid-row:1}.status{grid-column:1/-1;grid-row:2}}
@media(max-height:500px){.home-content{padding:10px 22px}.home-content h1{font-size:36px;margin:7px 0}.home-details{font-size:8px;white-space:nowrap}}
.home-art picture,.home-art img{display:block;width:100%;height:100%}
header>a{display:inline-flex;align-items:center;min-height:44px}
