@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/fraunces-latin-800-normal-5RM8DebB.woff2)format("woff2"),url(/assets/fraunces-latin-800-normal-B3oGScaA.woff)format("woff")}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2)format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff)format("woff")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.woff)format("woff")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2)format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff")}:root{--paper:#efe6d2;--paper-2:#e2d5b8;--panel:#f7f1e3;--ink:#1d1b19;--muted:#6a5e4a;--signal-red:#c8372d;--ochre:#d8a23e;--navy:#2f5d7c;--green:#4f7a52;--wood:#a8743f;--wood-dark:#6e4a2a;--highlight:#f4d9a0;--disabled:#cdbfa0;--ok-bg:#cfe0b8;--ok-ink:#1e3a12;--err-bg:#f2c4b8;--err-ink:#7a1a10;--serif:"Fraunces", Georgia, serif;--type:"Special Elite", "Courier New", monospace;--mono:"Courier Prime", "Courier New", monospace;--body:"Instrument Sans", system-ui, sans-serif;--vvh:100dvh;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);font:400 16px/1.5 var(--body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3,p{margin:0}a{color:var(--navy)}:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.wordmark{font:800 2.4rem/.9 var(--serif);letter-spacing:-.03em}.wordmark .stop{color:var(--signal-red)}.wordmark.big{font-size:clamp(3rem,12vw,7rem)}.wordmark.small{letter-spacing:-.02em;font-size:1.25rem}.tagline{font-family:var(--type);color:var(--muted)}.serif{font:800 1.6rem/1.05 var(--serif);letter-spacing:-.02em}.label{font:700 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.label.red,.red{color:var(--signal-red)}.small{font:.85rem/1.45 var(--type);color:var(--muted)}.hint{font:.85rem var(--type);color:var(--muted)}.eyebrow{font:700 .75rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--signal-red)}.err{font:700 .85rem var(--mono);color:var(--signal-red);min-height:1.3em}.btn-primary,.btn-secondary{min-height:44px;font:700 1rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--ink);cursor:pointer;touch-action:manipulation;border-radius:0;justify-content:center;align-items:center;gap:.4em;padding:.5em 1.2em;text-decoration:none;display:inline-flex}.btn-primary{background:var(--signal-red);color:var(--paper);box-shadow:3px 3px 0 var(--ink)}.btn-primary:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}.btn-primary:disabled{background:var(--disabled);color:var(--muted);box-shadow:none;cursor:not-allowed}.btn-secondary{background:var(--paper);color:var(--ink);text-transform:none;letter-spacing:.02em}.btn-secondary:disabled{color:var(--muted);border-color:var(--disabled);cursor:not-allowed}.btn-small{min-height:36px;padding:.3em .8em;font-size:.85rem}.wide{width:100%}input[type=text]{width:100%;min-width:0;min-height:48px;font:400 1.1rem var(--mono);color:var(--ink);border:2px solid var(--ink);background:#fffaf0;border-radius:0;padding:0 12px}input[type=text]:focus-visible{outline:3px solid var(--navy);outline-offset:1px}.panel{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.shell{height:var(--vvh);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.layer{overscroll-behavior:contain;padding:max(28px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.layer>.menu-panel,.layer>.landing-row{margin-top:auto}.strut{flex:none;width:min(620px,100%);height:170px;margin-top:2px;position:relative}.strut canvas{width:100%;height:96px;position:absolute;bottom:0;left:0}.goose-say{text-align:center;width:max-content;max-width:min(320px,100%);font:700 .95rem/1.3 var(--mono);color:var(--ink);transform-origin:50% 100%;animation:.22s ease-out say-pop;position:absolute;bottom:92px}.goose-say.honk{font:800 1.25rem/1.1 var(--serif);letter-spacing:.02em;color:var(--signal-red);animation:.22s ease-out say-pop,.3s .22s 2 honk}@keyframes say-pop{0%{opacity:0;transform:scale(.4)}}@keyframes honk{25%{transform:rotate(-4deg)scale(1.08)}75%{transform:rotate(3deg)scale(1.08)}}.layer>.strut{margin-bottom:auto}.stage-wrap{position:absolute;top:0;bottom:0;left:0;right:0}.stage-canvas{touch-action:manipulation;width:100%;height:100%;display:block}.menu-panel{flex:none;gap:14px;width:min(620px,100%);padding:22px 24px 20px;display:grid}.menu-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.menu-actions{flex-wrap:wrap;gap:10px;display:flex}.room-found{align-items:center;gap:8px;display:flex}.code-chip{font:700 1.2rem/1 var(--mono);letter-spacing:.18em;background:var(--ink);color:var(--paper);padding:.25em .3em .25em .48em}.menu-panel .wordmark.big{font-size:clamp(2.6rem,11vw,4.6rem)}@media (min-width:640px){.landing .roles{grid-template-columns:repeat(8,minmax(0,1fr))}}.btn-hero{letter-spacing:.14em;min-height:60px;box-shadow:5px 5px 0 var(--ink);justify-self:stretch;padding:.6em 2em;font-size:1.25rem}.status-line{font:.9rem var(--type);color:var(--muted);min-height:1.4em}.howto{border-top:2px dashed var(--muted);padding-top:10px}.howto summary{cursor:pointer;font:700 .85rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.howto ul{gap:4px;margin:8px 0 0;padding-left:1.2em;font-size:.95rem;display:grid}.field{border:0;gap:4px;min-width:0;margin:0;padding:0;display:grid}.landing .err:empty{display:none}.role-desc{min-height:1.45em;margin-top:6px}.code-input{text-transform:uppercase;letter-spacing:.3em;max-width:9em;font-weight:700}.dev-note{border:2px dashed var(--navy);color:var(--navy);font:.75rem var(--mono);overflow-wrap:anywhere;padding:6px 10px}.offline .lede{color:var(--muted)}.landing-row{flex-wrap:wrap;flex:none;justify-content:center;align-items:flex-start;gap:20px 24px;width:100%;display:flex}.board{flex:0 320px;gap:10px;min-width:min(100%,280px);padding:20px 20px 16px;display:grid}.board-list{font:.95rem var(--mono);gap:4px;margin:0;padding:0;list-style:none;display:grid}.board-list li{border-bottom:1px dashed #b8aa8e;grid-template-columns:1.8em minmax(0,1fr) auto 2.6em;align-items:baseline;gap:8px;padding:4px 8px;display:grid}.board-list li:first-child .b-rank{color:var(--signal-red)}.board-list li.me{background:var(--highlight);box-shadow:inset 0 0 0 2px var(--signal-red)}.board-list li.empty{font:.9rem var(--type);color:var(--muted);border:0;padding:6px 0;display:block}.b-rank{font-weight:700}.b-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.b-pts{white-space:nowrap}.b-wins{color:var(--ochre);text-align:right;font-weight:700}.roles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px;display:grid}.role{border:2px solid var(--ink);background:var(--paper-2);color:var(--ink);cursor:pointer;font:700 .62rem var(--mono);min-height:44px;padding:0;display:grid;position:relative}.role .portrait{width:100%;height:auto;display:block}.role .role-name{border-top:2px solid var(--ink);-webkit-hyphens:manual;hyphens:manual;place-items:center;min-height:2.5em;padding:2px;line-height:1.15;display:grid}.role[aria-checked=true]{background:var(--highlight);box-shadow:inset 0 0 0 3px var(--signal-red)}.role.taken{opacity:.45;filter:grayscale()}.role .taker{background:var(--ink);color:var(--paper);font:700 .6rem var(--mono);text-overflow:ellipsis;white-space:nowrap;position:absolute;top:4px;left:4px;right:4px;overflow:hidden}.role .taker:empty{display:none}.role-card{border:2px solid var(--ink);background:var(--panel);grid-template-columns:80px 1fr;align-items:center;gap:12px;padding:8px;display:grid}.role-card .portrait{border:2px solid var(--ink);width:80px;height:auto}.queue-status{border:2px solid var(--ink);background:var(--highlight);gap:2px;padding:10px 12px;display:grid}.queue-count{font:800 1.35rem/1.1 var(--serif)}.queue-timer{font:700 .95rem var(--mono)}.crew-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.crew{border:2px solid var(--ink);background:var(--panel);min-width:0;font:700 .9rem var(--mono);align-items:baseline;gap:8px;padding:4px 8px;display:flex}.crew small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.crew.me{background:var(--highlight);box-shadow:inset 0 0 0 2px var(--signal-red)}.crew.empty{border-style:dashed;border-color:var(--muted);color:var(--muted);font-weight:400}.shell[data-screen=game] .layer{padding:0;display:block;overflow:hidden}.game{--top-h:54px;grid-template-rows:var(--top-h) minmax(0, 1fr);grid-template-columns:minmax(0,1fr);height:100%;display:grid;position:relative;container-type:size}.game-top{padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));background:var(--paper);border-bottom:3px solid var(--ink);align-items:center;gap:6px 10px;display:flex;overflow:hidden}.game-top .spacer{flex:1}.room-tag{font:700 .75rem var(--mono);letter-spacing:.12em;white-space:nowrap}.viewport{grid-area:2/1;min-height:0;position:relative}.q-card{background:var(--paper);border:3px solid var(--ink);box-shadow:.45em .45em 0 var(--ink);gap:.55em;padding-bottom:.7em;display:grid;position:relative}.q-card.mine{background:#fbf0d4}.q-band{background:var(--signal-red);color:var(--paper);border-bottom:3px solid var(--ink);font:.82em var(--type);letter-spacing:.06em;white-space:nowrap;justify-content:space-between;gap:8px;padding:.35em .9em;display:flex}.q-band .q-cat{text-overflow:ellipsis;overflow:hidden}.q-card.mine .q-band,.q-card.done .q-band{background:var(--ink)}.q-card.mine .q-for{color:var(--ochre);font-weight:700;animation:1s ease-in-out infinite alternate turn-pulse}.question{font:1.55em/1.2 var(--type);text-align:center;padding:.15em .8em 0}.ans-row{gap:6px;padding:0 .9em;display:flex}.ans-row input[type=text]{min-height:2.6em;font-size:max(16px,1em)}.ans-row .btn-primary{flex:none;min-width:6.5em;min-height:2.6em;font-size:max(14px,.95em)}.q-card .err{text-align:center;min-height:0}.q-card .err:empty{display:none}.down-note{font:1.05em var(--type);text-align:center;padding:0 .9em}.fuse-letters{font:700 .85em var(--mono);color:var(--disabled);-webkit-user-select:none;user-select:none;justify-content:space-between;padding:0 1.2em;display:flex}.fuse-letters i{font-style:normal}.fuse-letters i.on{color:var(--ink)}.fuse-letters.hot i.on{color:var(--signal-red)}.q-card.shake{animation:.35s shake}.q-stamp{border:.12em solid var(--signal-red);color:var(--signal-red);font:800 2.4em/1 var(--serif);letter-spacing:.08em;opacity:0;mix-blend-mode:multiply;pointer-events:none;padding:.05em .35em;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)rotate(-9deg)}.q-orders{justify-items:center;gap:.1em;padding:.4em .8em .2em;display:grid}.q-orders .kicker{color:var(--signal-red);font:700 .8em var(--mono);letter-spacing:.3em}.q-orders .num{font:800 2.6em/1 var(--serif)}.q-result{text-align:center;justify-items:center;gap:.15em;padding:.4em .8em .3em;display:grid}.q-result .kicker{color:var(--signal-red);font:700 .78em var(--mono);letter-spacing:.3em}.q-result .num{font:800 2.5em/1 var(--serif);overflow-wrap:anywhere}.q-result .sub{color:var(--muted);font:1em var(--type)}.q-dim{opacity:0;pointer-events:none;background:#18151280;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.q-dim.on{opacity:1}@keyframes turn-pulse{to{opacity:.55}}@media (min-width:900px) and (min-aspect-ratio:1){.q-card{--row-h:calc(100cqh - var(--top-h));--hut-w:min(100cqw, calc(var(--row-h) * 16 / 9));--hut-h:calc(var(--hut-w) * 9 / 16);z-index:1;width:min(calc(var(--hut-w) * (.5 + (var(--card-scale,1.15) - 1) * .25)), calc(100cqw - 32px));margin-top:calc((var(--row-h) - var(--hut-h)) / 2 + var(--hut-h) * .035);font-size:calc(clamp(12px, calc(var(--hut-w) * .0145), 19px) * var(--card-scale,1.15));grid-area:2/1;place-self:start center}}.debrief{z-index:2;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;padding:18px 20px 22px;display:grid;position:absolute;top:calc(3.4rem + 12px);bottom:12px;left:12px;right:12px;overflow:auto}.debrief-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.debrief h2{font:800 2rem/1 var(--serif)}.debrief h2 small{font:400 .8rem var(--type);color:var(--signal-red);letter-spacing:.1em;margin-top:4px;display:block}.debrief h3{font:700 .8rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:.6em 0 .3em}.debrief-winner{background:var(--highlight);border:2px solid var(--ink);border-left:10px solid var(--ochre);justify-items:start;gap:2px;padding:10px 16px;display:grid}.debrief-winner .kicker{color:var(--signal-red);font:700 .75rem var(--mono);letter-spacing:.3em}.debrief-winner b{font:800 2.2rem/1.05 var(--serif);overflow-wrap:anywhere}.debrief-me{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.big-rank{font:800 3rem/1 var(--serif);color:var(--signal-red)}.acts{flex-wrap:wrap;gap:8px;display:flex}.standings{border-collapse:collapse;width:100%;font:.92rem var(--mono)}.standings th{text-align:left;letter-spacing:.08em;border-bottom:2px solid var(--ink);padding:.2em .3em;font-size:.78em}.standings td{border-bottom:1px dashed #b8aa8e;padding:.2em .3em}.standings td small{color:var(--muted);font-size:.78em;display:block}.standings tr.me{background:var(--highlight)}.awards{gap:6px;display:grid}.award{border:2px solid var(--ink);background:var(--panel);padding:.35em .7em;display:grid}.award b{font:800 1.05em var(--serif);color:var(--signal-red)}.tips{gap:.4em;margin:0;padding-left:1.2em;display:grid}.tips b{font-family:var(--mono);display:block}@media (min-width:900px){.debrief{grid-template-columns:1.2fr 1fr;gap:14px 32px;padding:24px 28px;top:calc(3.4rem + 24px);bottom:24px;left:max(24px,6vw);right:max(24px,6vw)}.debrief-head,.debrief-me{grid-column:1/-1}}.lore-dialog{width:min(560px,100vw - 32px);max-height:calc(var(--vvh) - 48px);color:var(--ink);padding:18px 20px 20px;overflow:auto}.lore-dialog::backdrop{background:#1d1b1973}.lore-dialog>*+*{margin-top:10px}.lore-dialog .close{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:0;font-size:28px;position:absolute;top:6px;right:6px}.lore-card-body{gap:8px;display:grid}.lore-card-body h3{font:800 1.35rem var(--serif);padding-right:40px}.lore-card-body .now{background:var(--highlight);border:2px solid var(--ink);padding:8px 10px;font-size:.92em}.lore-card-body .now:before{content:"Then → now: ";font-weight:600}.lore-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lore-chip{font:.85rem var(--mono);color:var(--muted);background:var(--panel);border:2px dashed var(--muted);align-items:center;min-height:36px;padding:5px 12px;display:inline-flex}.lore-chip.found{cursor:pointer;color:var(--ink);border:2px solid var(--ink)}@media not ((min-width:900px) and (min-aspect-ratio:1)){.menu-panel,.board{box-shadow:4px 4px 0 var(--ink);padding:16px 16px 18px}.board{flex-basis:min(620px,100%)}.game{--top-h:auto;grid-template-rows:auto minmax(120px,1fr) auto}.game-top{padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;padding-bottom:6px}.game-top .wordmark.small{font-size:1.1rem}.game-top .btn-small{min-height:34px;padding:.2em .6em;font-size:.78rem}.q-card{font-size:calc(14px * var(--card-scale,1.15));box-shadow:none;padding-bottom:max(10px, env(safe-area-inset-bottom));border-width:3px 0 0;grid-area:3/1}.question{font-size:1.3em}.q-orders{padding:0 .8em}.q-orders .num{font-size:1.9em}.q-result .num{font-size:2em}.debrief{box-shadow:4px 4px 0 var(--ink);top:calc(3rem + 8px);bottom:8px;left:8px;right:8px}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.net-banner{left:50%;top:max(10px, env(safe-area-inset-top));z-index:10;background:var(--ink);color:var(--paper);border:2px solid var(--signal-red);font:700 .9rem var(--mono);white-space:nowrap;padding:8px 16px;position:absolute;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);font:700 .9rem var(--mono);opacity:0;pointer-events:none;padding:8px 14px;transition:opacity .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
