/* Game styles extracted verbatim from the original Next.js bundle (the .game403 rule set). */
/* Minimal reset standing in for the Tailwind preflight the original page shipped with. */
*,::before,::after{box-sizing:border-box;border:0 solid}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;overscroll-behavior-y:none}
body{margin:0;line-height:inherit;background:#000;color:#fff}
button,input{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}
button{background:transparent;background-image:none;text-transform:none;cursor:pointer;-webkit-appearance:button}
a{color:inherit;text-decoration:inherit}
img,svg{display:block;vertical-align:middle}
ol,ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p{margin:0}

@font-face{font-family:Departure Mono;src:url(fonts/DepartureMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}

.game403{--paper:#ffffff;--surface:#fffbe6;--ink:#1c1c1e;--dim:#d6d6d6;--mute-ink:#85858b;--cell:#ededed;--brand:#f7fe62;--danger:#d42a2a;--danger-ink:#8c1c1c;--danger-bg:#fbe3e3;--grid:#e0dcb4;--grid-cell:24px;--edge-w:2px;--px:5px;--chip-px:3px;--ease-out:cubic-bezier(0.23,1,0.32,1);--u:19px;font-family:Departure Mono,Courier New,ui-monospace,monospace;font-size:var(--u);line-height:normal;color:var(--ink);background-color:var(--surface);background-image:linear-gradient(to right,var(--grid) 1px,transparent 1px),linear-gradient(to bottom,var(--grid) 1px,transparent 1px);background-size:var(--grid-cell) var(--grid-cell);background-position:50% 50%;-webkit-font-smoothing:none;image-rendering:pixelated;text-transform:uppercase;letter-spacing:.06em;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none;min-height:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px 16px}
.game403,.game403 *{box-sizing:border-box}
.game403 *{margin:0;padding:0}
.game403 .g403-screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.game403 .cell,.game403 .frame,.game403 .gate,.game403 .gate-button,.game403 .gate-input,.game403 .over,.game403 .over-button,.game403 .score{border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--paper)}
.game403 .play{--panel-max:460px;max-width:var(--panel-max);align-items:center;gap:14px;--toast-gap:14px;--toast-strip:calc(2.16 * var(--u) + 20px);position:relative;padding-bottom:calc(var(--toast-gap) + var(--toast-strip))}
.game403 .frame,.game403 .play{width:100%;display:flex;flex-direction:column}
.game403 .frame{padding:14px;gap:12px}
.game403 .frame.surge{border-style:solid}
.game403 .frame.last-life{outline:4px solid var(--danger);outline-offset:4px}
.game403 .pips{gap:10px}
.game403 .pip,.game403 .pips{display:flex;justify-content:center}
.game403 .pip{width:calc(8 * var(--px));height:calc(8 * var(--px));align-items:center}
.game403 .pip svg{width:100%;height:100%}
.game403 .pip rect{fill:var(--dim)}
.game403 .pip.lit rect{fill:var(--ink)}
.game403 .pips-skull .pip.lit{animation:g403-pop .16s var(--ease-out)}
.game403 .grid{display:grid;grid-template-columns:repeat(var(--cols),calc(18 * var(--px)));justify-content:center;gap:8px}
.game403 .cell{position:relative;aspect-ratio:1/1;background:var(--cell);cursor:pointer;transition:transform .1s var(--ease-out);outline:none}
.game403 .cell:focus-visible{box-shadow:inset 0 0 0 2px var(--paper),0 0 0 3px var(--ink)}
.game403 .cell.press{transform:scale(.96)}
.game403 .cell.filled{background:var(--paper)}
.game403 .cell.is-live,.game403 .cell.is-slack{background:var(--danger-bg);border-color:var(--danger)}
.game403 .cell.dead{background:#3a3a3c;border-color:var(--ink);cursor:not-allowed;pointer-events:none}
.game403 .dead-mark{position:absolute;inset:0}
.game403 .dead-mark svg{width:100%;height:100%;display:block}
.game403 .cell.die{animation:g403-shake .16s var(--ease-out)}
.game403 .cell-inner{position:absolute;inset:0;overflow:hidden}
.game403 .sprite{position:absolute;inset:0;margin:auto;width:calc(16 * var(--px));height:calc(16 * var(--px))}
.game403 .sprite svg{width:100%;height:100%;display:block}
.game403 .sprite.spawn{animation:g403-rise 90ms steps(2)}
@keyframes g403-rise{0%{transform:translateY(60%)}to{transform:translateY(0)}}
.game403 .fuse{position:absolute;top:0;left:0;height:5px;width:100%;background:var(--brand);transform-origin:left center;transform:scaleX(0);opacity:0;border-bottom:2px solid var(--ink)}
.game403 .cell.is-live .sprite{animation:g403-pulse .9s ease-in-out infinite}
@keyframes g403-pulse{0%,to{transform:scale(1)}50%{transform:scale(.92)}}
.game403 .tag{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.04em;color:var(--paper);background:var(--ink);padding:1px 0}
.game403 .cell.flash{animation:g403-flash 80ms steps(1)}
@keyframes g403-flash{0%{background:var(--brand)}to{background:var(--cell)}}
.game403 .cell.shake{animation:g403-shake .16s var(--ease-out)}
@keyframes g403-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.game403 .score{width:100%;padding:10px 14px;text-align:center;font-size:calc(1 * var(--u));letter-spacing:.12em}
.game403 .score-num{display:inline-block}
.game403 .score.bump .score-num{animation:g403-pop .12s var(--ease-out)}
.game403 .score-multiplier{display:inline-block;min-width:2ch;padding:0 8px;font-size:calc(1.3 * var(--u));line-height:1;vertical-align:-.06em;background:transparent;transition:background-color .14s var(--ease-out)}
.game403 .score-multiplier.active{background:var(--brand)}
.game403 .score-multiplier.bump{animation:g403-pop-hard .22s var(--ease-out)}
@keyframes g403-pop-hard{0%{transform:scale(1)}35%{transform:scale(1.5)}to{transform:scale(1)}}
.game403 .points-pop{position:absolute;z-index:4;left:50%;top:30%;color:var(--ink);background:var(--brand);border:2px solid var(--ink);padding:2px 4px;font-size:calc(.68 * var(--u));white-space:nowrap;pointer-events:none;animation:g403-points-up .5s steps(4) forwards}
@keyframes g403-points-up{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-28px);opacity:0}}
@keyframes g403-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}
.game403 .toast{position:absolute;top:calc(100% - var(--toast-strip));left:50%;width:-moz-max-content;width:max-content;max-width:min(360px,100%);text-align:center;font-size:calc(.72 * var(--u));line-height:1.5;letter-spacing:.02em;text-transform:none;padding:8px 12px;border:var(--edge-w) solid var(--ink);background:var(--paper);opacity:0;transform:translate(-50%,6px);pointer-events:none;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out)}
.game403 .toast.show{opacity:1;transform:translate(-50%)}
.game403 .token{position:relative;overflow:hidden;width:100%;margin-top:8px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:calc(.78 * var(--u));letter-spacing:.12em;color:var(--ink);cursor:pointer;border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--paper);transition:transform .1s var(--ease-out)}
.game403 .token-label,.game403 .token-mark{position:relative;z-index:1}
.game403 .token-mark{display:block;width:calc(9 * var(--px));height:calc(5 * var(--px))}
.game403 .token svg rect{fill:currentColor}
.game403 .token-fill{position:absolute;left:2px;right:2px;bottom:2px;height:3px;transform-origin:0 50%;transform:scaleX(0);background:var(--ink)}
.game403 .token.is-ready{background:var(--brand)}
.game403 .token.is-ready .token-fill{transform:scaleX(0)}
.game403 .token.is-active{background:var(--ink);color:var(--paper)}
.game403 .token.is-active .token-fill{background:var(--brand)}
.game403 .token[aria-disabled=true]{cursor:default}
.game403 .token[aria-disabled=true]:not(.is-active){color:var(--mute-ink)}
.game403 .token:not([aria-disabled=true]):active{transform:scale(.99)}
.game403 .token:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--paper),0 0 0 4px var(--ink)}
.game403 .brief-token{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--brand)}
.game403 .brief-token .brief-chip{flex:0 0 auto}
.game403 .brief-token svg{width:calc(9 * var(--px, 4px));height:calc(5 * var(--px, 4px))}
.game403 .gate,.game403 .over{width:100%;max-width:460px;padding:36px 30px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.game403 .credit{font-size:calc(.76 * var(--u));letter-spacing:.12em;color:var(--ink);text-decoration:none;margin-bottom:14px}
.game403 .credit-brand{display:inline-flex;align-items:center;gap:.4em;background:var(--brand);padding:2px 6px}
.game403 .credit-mark{display:block}
.game403 .credit:focus-visible .credit-brand,.game403 .credit:hover .credit-brand{box-shadow:inset 0 0 0 2px var(--ink)}
.game403 .credit:focus-visible{outline:none}
.game403 .gate-glyph{font-size:calc(4.6 * var(--u));line-height:1;letter-spacing:.08em}
.game403 .gate-glyph.ok{color:var(--ink);background:var(--brand);padding:0 10px}
.game403 .gate-sub{font-size:calc(1 * var(--u));letter-spacing:.14em}
.game403 .gate-form{width:100%;display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:4px}
.game403 .gate-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.game403 .gate-label{font-size:calc(.72 * var(--u));letter-spacing:.14em;text-align:left}
.game403 .gate-optional{font-size:calc(.62 * var(--u));letter-spacing:.16em;color:var(--ink);background:var(--brand);padding:2px 6px}
.game403 .gate-input{width:100%;font:inherit;font-size:calc(.9 * var(--u));text-transform:none;letter-spacing:.02em;padding:12px 10px;color:var(--ink)}
.game403 .gate-input::-moz-placeholder{color:var(--mute-ink);opacity:1}
.game403 .gate-input::placeholder{color:var(--mute-ink);opacity:1}
.game403 .gate-input::-moz-selection{background:var(--dim);color:var(--ink)}
.game403 .gate-input::selection{background:var(--dim);color:var(--ink)}
.game403 .bd-input::-moz-selection{background:var(--dim);color:var(--ink)}
.game403 .bd-input::selection{background:var(--dim);color:var(--ink)}
.game403 .gate-input:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--paper),0 0 0 4px var(--dim)}
.game403 .gate-button,.game403 .over-button{font:inherit;font-size:calc(.9 * var(--u));letter-spacing:.1em;padding:12px;cursor:pointer;text-wrap:balance;color:var(--ink);transition:transform .1s var(--ease-out)}
.game403 .gate-button{background:var(--ink);color:var(--paper)}
.game403 .gate-button:active,.game403 .over-button:active{transform:scale(.97)}
.game403 .brief-button:focus-visible,.game403 .over-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--paper),0 0 0 4px var(--dim)}
.game403 .gate-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--paper),0 0 0 4px var(--ink)}
.game403 .credit.granted,.game403 .gate.granted{animation:g403-grantfade .62s var(--ease-out) forwards}
.game403 .credit.granted{transform-origin:50% 400%}
@keyframes g403-grantfade{0%{opacity:1}40%{opacity:1}to{opacity:0;transform:scale(1.03)}}
.game403 .brief{width:100%;max-width:520px;padding:32px 26px;display:flex;flex-direction:column;gap:18px;border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--paper)}
.game403 .brief-title{font-size:calc(1.2 * var(--u));letter-spacing:.14em;text-align:center}
.game403 .brief-premise{text-transform:none;letter-spacing:.01em;font-size:calc(.86 * var(--u));line-height:1.5;text-align:center;margin-top:-4px}
.game403 .brief-list{list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:rule}
.game403 .brief-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:10px;border:var(--edge-w) solid var(--ink)}
.game403 .brief-row.danger{border-color:var(--danger);background:var(--danger-bg)}
.game403 .brief-chip{width:calc(16 * var(--chip-px) + 8px);height:calc(16 * var(--chip-px) + 8px);border:2px solid var(--ink);background:var(--paper);display:flex;align-items:center;justify-content:center}
.game403 .brief-row.danger .brief-chip{border-color:var(--danger)}
.game403 .brief-chip svg{width:calc(16 * var(--chip-px));height:calc(16 * var(--chip-px))}
.game403 .brief-text{text-transform:none;letter-spacing:.01em;font-size:calc(.84 * var(--u));line-height:1.4}
.game403 .brief-badge{font-size:calc(.66 * var(--u));letter-spacing:.08em;padding:4px 7px;white-space:nowrap;color:var(--ink);background:var(--brand);border:2px solid var(--ink)}
.game403 .brief-row.danger .brief-badge{color:var(--paper);background:var(--danger);border-color:var(--danger)}
.game403 .brief-note{text-transform:none;letter-spacing:.01em;font-size:calc(.78 * var(--u));line-height:1.45;text-align:center;opacity:.8}
.game403 .brief-button{font:inherit;font-size:calc(.95 * var(--u));letter-spacing:.1em;padding:14px;cursor:pointer;color:var(--ink);border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--paper);transition:transform .1s var(--ease-out)}
.game403 .brief-button:active{transform:scale(.97)}
.game403 .over-eyebrow{color:#6e6e73;letter-spacing:.16em}
.game403 .over-title{font-size:calc(1.2 * var(--u));letter-spacing:.12em}
.game403 .over-score{font-size:calc(1 * var(--u));letter-spacing:.1em}
.game403 .over-num{font-size:calc(2.4 * var(--u));display:block;margin-top:6px}
.game403 .over-streak{font-size:calc(.78 * var(--u));letter-spacing:.1em}
.game403 .over-button{margin-top:10px;min-width:60%}
.game403 .over-turn{font-size:calc(.72 * var(--u));line-height:1.6;letter-spacing:.08em;color:#6e6e73;text-transform:none;max-width:34ch;margin-top:6px}
.game403 .over-cta{display:block;text-decoration:none;background:var(--brand);color:var(--ink)}
.game403 .over-actions{display:flex;gap:10px;width:100%}
.game403 .over-actions .over-button{flex:1;min-width:0;margin-top:0;white-space:nowrap;font-size:calc(.82 * var(--u));padding-left:6px;padding-right:6px}
.game403 .board{width:100%;margin-top:4px;padding:0;text-align:left;background:var(--paper)}
.game403 .board-hdr{font-size:calc(.68 * var(--u));letter-spacing:.16em;padding:8px 10px;border-bottom:var(--edge-w) solid var(--ink);background:var(--cell)}
.game403 .board-rows{max-height:232px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.game403 .board-row{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:calc(.78 * var(--u));letter-spacing:.08em;border-bottom:1px solid var(--dim)}
.game403 .board-row:last-child{border-bottom:0}
.game403 .board-row.me{background:var(--brand);outline:var(--edge-w) solid var(--ink);outline-offset:-2px}
.game403 .bd-rank{min-width:3.2ch;text-align:right;color:#6e6e73}
.game403 .board-row.me .bd-rank{color:var(--ink)}
.game403 .bd-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game403 .bd-score{margin-left:auto;font-variant-numeric:tabular-nums}
.game403 .bd-form{flex:1;min-width:0;display:flex;gap:6px}
.game403 .bd-input{flex:1;min-width:0;font:inherit;font-size:calc(.78 * var(--u));letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:var(--edge-w) solid var(--ink);border-radius:0;padding:3px 6px;-webkit-appearance:none}
.game403 .bd-input:focus-visible{outline:3px solid var(--dim);outline-offset:2px}
.game403 .bd-save{font:inherit;font-size:calc(.68 * var(--u));letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:var(--edge-w) solid var(--ink);border-radius:0;padding:3px 8px;cursor:pointer;min-height:30px}
.game403 .bd-save:active{transform:scale(.97)}
.game403 .board-foot{font-size:calc(.68 * var(--u));letter-spacing:.12em;padding:8px 10px;border-top:var(--edge-w) solid var(--ink);background:var(--cell);min-height:32px}
.game403 .g403-modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:rgba(28,28,30,.55);animation:g403-modal-in .16s var(--ease-out)}
.game403 .g403-modal{position:relative;width:100%;max-width:340px;padding:22px 18px 18px;background:var(--paper);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;animation:g403-modal-rise .18s var(--ease-out)}
.game403 .g403-modal-x{position:absolute;top:0;right:0;font:inherit;font-size:calc(.9 * var(--u));line-height:1;width:calc(1.8 * var(--u));height:calc(1.8 * var(--u));cursor:pointer;color:var(--ink);background:none;border:0}
.game403 .g403-modal-x:focus-visible{outline:var(--edge-w) solid var(--ink);outline-offset:-4px}
.game403 .g403-modal-title{font-size:calc(1 * var(--u));letter-spacing:.12em;background:var(--brand);padding:2px 8px}
.game403 .g403-modal-body{font-size:calc(.72 * var(--u));line-height:1.6;letter-spacing:.08em;color:#6e6e73;text-transform:none;max-width:28ch}
.game403 .g403-modal-share{display:block;width:100%;margin-top:4px;text-decoration:none}
.game403 .g403-modal-skip{font:inherit;font-size:calc(.66 * var(--u));letter-spacing:.12em;color:#6e6e73;background:none;border:0;padding:4px 8px;cursor:pointer}
.game403 .g403-modal-skip:hover{color:var(--ink)}
.game403 .g403-modal-skip:focus-visible{outline:var(--edge-w) solid var(--ink);outline-offset:2px}
@keyframes g403-modal-in{0%{opacity:0}to{opacity:1}}
@keyframes g403-modal-rise{0%{transform:translateY(8px)}to{transform:translateY(0)}}
.game403 .sound-toggle{position:fixed;top:10px;right:10px;z-index:10;font:inherit;font-size:calc(.6 * var(--u));letter-spacing:.1em;padding:6px 8px;cursor:pointer;color:var(--ink);background:var(--paper);border:var(--edge-w) solid var(--ink);box-shadow:inset 0 0 0 2px var(--paper);transition:transform .1s var(--ease-out)}
.game403 .sound-toggle:active{transform:scale(.95)}
.game403 .sound-toggle.off{color:#6e6e73;border-color:var(--dim)}
.game403 .sound-toggle:focus-visible{outline:var(--edge-w) solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.game403 .sprite.spawn{animation:g403-fadein 90ms ease-out}@keyframes g403-fadein{0%{opacity:0}to{opacity:1}}.game403 .cell.is-live .sprite,.game403 .cell.shake{animation:none}.game403 .cell.flash{animation:g403-flashcalm .12s steps(1)}@keyframes g403-flashcalm{0%{background:var(--brand)}to{background:var(--cell)}}.game403 .pips-skull .pip.lit,.game403 .points-pop,.game403 .score-multiplier.bump,.game403 .score.bump .score-num{animation:none}.game403 .credit.granted,.game403 .gate.granted{animation:none;opacity:0}.game403 .bd-save:active,.game403 .over-actions .over-button:active,.game403 .sound-toggle:active,.game403 .token:active{transform:none}.game403 .g403-modal{animation:g403-modal-in .16s ease-out}}
@media (forced-colors:active){.game403 .brief-button:focus-visible,.game403 .cell:focus-visible,.game403 .credit:focus-visible,.game403 .gate-button:focus-visible,.game403 .gate-input:focus-visible,.game403 .over-button:focus-visible,.game403 .token:focus-visible{outline:3px solid CanvasText;outline-offset:2px}.game403 .token-fill{background:CanvasText;forced-color-adjust:none}}
