@font-face{font-family:Pixel;src:url('pixel.woff') format('woff');font-display:swap}
:root{color-scheme:dark;--ink:#181c2b;--paper:#ffefd1;--yellow:#f4cf78;--muted:#a7acb9;--line:#4b5060;--mint:#a9c7b6}
*{box-sizing:border-box}body{margin:0;background:#181c2b;color:var(--paper);font-family:'Courier New',monospace;min-height:100svh;display:grid;place-items:center;background-image:radial-gradient(#343848 1px,transparent 1px);background-size:8px 8px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #fff;outline-offset:5px}button:disabled{cursor:default}button{touch-action:manipulation}button:hover{filter:brightness(1.13)}[hidden]{display:none!important}.arcade{width:min(1100px,calc(100% - 64px));margin:32px auto}.topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;font-size:11px;letter-spacing:1.7px;font-weight:bold;color:var(--muted)}.topline i{display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--mint)}.topline button{background:transparent;border:0;padding:10px 0 10px 15px;font-size:11px;letter-spacing:1px}.cabinet{border:2px solid #5b5b66;padding:8px;background:#242738;box-shadow:0 0 0 5px #121725,0 12px 0 #101421,0 20px 55px #0d101a90;position:relative}.screen{aspect-ratio:16/9;position:relative;overflow:hidden;background:#1b263c}canvas{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.title-screen{position:absolute;inset:0;padding:6% 6.5%;background:linear-gradient(90deg,#192136ef 0%,#192136b0 36%,transparent 65%)}.edition,.eyebrow{font-family:Pixel,monospace;font-size:clamp(8px,1.1vw,12px);letter-spacing:1px;color:var(--mint)}h1{font-family:Pixel,monospace;font-size:clamp(30px,5.4vw,60px);line-height:1.17;letter-spacing:-2px;margin:22px 0 14px;text-shadow:4px 4px #111a2b;font-weight:normal}h1 span{color:var(--yellow)}h1 b{color:#e48776}p{line-height:1.55}.title-screen p{color:#e0ddda;font-size:clamp(12px,1.5vw,16px);margin:0 0 23px}.primary{font-family:Pixel,monospace;background:var(--yellow);color:#252839;border:0;border-bottom:4px solid #b28350;padding:16px 24px;font-size:13px;box-shadow:4px 4px 0 #111a2b;min-height:48px}.primary span{margin-left:28px}.primary:active{transform:translateY(2px);box-shadow:2px 2px 0 #111a2b}.start-note{display:block;margin-top:15px;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.bottomline{display:flex;justify-content:space-between;align-items:center;padding:17px 15px 10px;gap:14px;font-size:12px;color:#c4c4cb;min-height:45px}.dots{display:flex;gap:8px}.dots i{height:5px;width:5px;background:#585c6b}.dots i.done{background:var(--yellow)}.controls{margin-top:25px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.controls>div{display:flex;gap:6px;align-items:center}.controls span{margin:0 13px 0 3px}.controls>span{font-size:9px;letter-spacing:1px;margin:0}kbd{border:1px solid #5b5e6d;border-bottom:3px solid #4d5260;padding:5px 7px;font-size:10px}.hud{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:15px;padding:15px 20px;background:#192136df;font-family:Pixel,monospace;font-size:10px;line-height:1.5}.hud #food-count{margin-left:auto;color:var(--yellow)}.hud button{background:transparent;border:1px solid #7d8798;width:30px;height:28px}.dialogue{padding:22px 26px;background:#202739;border-top:2px solid var(--yellow);position:relative}.dialogue-heading{display:flex;justify-content:space-between;gap:12px;font-family:Pixel,monospace;font-size:10px;color:var(--yellow)}#dialogue-tag{color:var(--muted);font-family:'Courier New',monospace;font-size:11px}.dialogue p{margin:15px 0;font-size:16px;max-width:75ch}#choices{display:flex;gap:10px;flex-wrap:wrap}#choices button{padding:12px 16px;background:#303c50;border:1px solid #697789;box-shadow:0 3px #111a2b;text-align:left;font-size:14px;line-height:1.4}#choices button:hover{background:#425166;border-color:var(--yellow)}#interaction{position:absolute;bottom:18%;left:50%;transform:translateX(-50%);white-space:nowrap}#interaction button{background:var(--paper);color:#182236;padding:10px 14px;border:0;box-shadow:3px 3px #101826;font-family:Pixel,monospace;font-size:10px}#toast{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);padding:10px 16px;background:#182136e8;border:1px solid var(--yellow);text-align:center;font-size:13px;max-width:90%;width:max-content}.pause-screen,.ending{position:absolute;inset:0;background:#182136ef;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pause-screen h2{font:24px Pixel,monospace;margin:25px 0 35px}.ending{background:#192136f2;padding:20px}.ending h2{font:clamp(17px,2.5vw,28px)/1.5 Pixel,monospace;margin:17px 0 8px;color:var(--paper)}.ending p{font-size:14px;margin:5px 0 15px;color:#c3c9d2}.cards{display:flex;gap:28px;margin:10px 0 18px}.card{width:135px;height:170px;background:none;border:0;padding:0;perspective:800px;transition:transform .2s}.card:hover:not(:disabled){transform:translateY(-7px)}.card-inner{display:block;position:relative;width:100%;height:100%;transition:transform .65s;transform-style:preserve-3d}.card.flipped .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;border:4px solid var(--yellow);outline:2px solid #1b2235;outline-offset:-9px;background:#52627b;box-shadow:5px 5px #0e1726}.card-back{background:repeating-linear-gradient(45deg,#52627b 0 5px,#4b5a73 5px 10px)}.card-back:after{content:'';position:absolute;inset:12px;border:1px solid #e3bc7099}.card-back i{font-style:normal;font-size:65px;line-height:1;color:var(--yellow)}.card-back b{font:10px Pixel,monospace;margin-top:16px;color:var(--paper)}.card-front{transform:rotateY(180deg);background:var(--yellow);color:#252a3c}.card-front strong{font:12px/1.8 Pixel,monospace}.gift{font-size:45px;margin-bottom:9px}.card.unchosen{opacity:.35}.text-button{background:transparent;border:0;border-bottom:1px solid #8c98a6;color:var(--paper);padding:10px 0;font-size:11px}.touch-controls{display:none;justify-content:space-between;margin-top:22px;user-select:none;-webkit-user-select:none}.touch-controls>div{display:flex;gap:14px}.touch-controls button{height:58px;width:62px;border:2px solid #616c81;border-bottom:5px solid #495368;background:#2a3448;font-size:25px;touch-action:none;color:var(--paper)}.touch-controls button:last-child{color:var(--yellow)}
@media(max-width:700px){.arcade{width:calc(100% - 24px);margin:22px auto}.topline{font-size:8px;letter-spacing:.5px;margin-bottom:8px}.topline button{font-size:9px}.cabinet{padding:4px}.screen{aspect-ratio:4/3}canvas{object-fit:cover}.title-screen{padding:8% 7%}.edition{font-size:8px}h1{font-size:38px;margin:23px 0 15px}.title-screen p{font-size:13px;margin-bottom:20px}.primary{font-size:11px;padding:13px 20px}.start-note{font-size:8px;margin-top:12px}.bottomline{font-size:10px;padding:12px 9px 8px;line-height:1.4}.controls{display:none}.touch-controls{display:flex}.hud{font-size:8px;padding:10px;gap:6px}.hud button{width:28px}#interaction button{font-size:9px}.dialogue{padding:18px 16px}.dialogue p{font-size:14px}#choices{flex-direction:column}#choices button{font-size:13px}.dialogue-heading{font-size:9px}#dialogue-tag{font-size:10px}.ending{padding:12px}.ending h2{font-size:17px;margin:10px 0 4px}.ending p{font-size:12px;margin-bottom:5px}.cards{gap:20px;margin:10px 0}.card{width:108px;height:135px}.card-back i{font-size:44px}.card-front strong{font-size:10px}.gift{font-size:30px}.text-button{font-size:9px;padding:6px 0}.ending .eyebrow{font-size:8px}#toast{font-size:11px}.touch-controls button:active{background:#58647b}}
@media(max-width:380px){h1{font-size:32px;margin:18px 0 12px}.title-screen p{margin-bottom:14px}.start-note{display:none}.card{height:115px;width:95px}.ending h2{font-size:14px}.ending p{font-size:11px}}
@media(pointer:coarse) and (min-width:701px){.touch-controls{display:flex}.controls{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.card,.card-inner{transition:none!important}}
@media(max-width:700px){.screen{min-height:330px}.screen:has(.ending:not([hidden])){min-height:405px}.title-screen{padding-top:25px}.start-note{margin-top:12px}}
.arcade{min-width:0;max-width:calc(100vw - 64px)}.screen canvas{position:absolute;inset:0}
.screen{width:100%;min-width:0}
@media(max-width:700px){.arcade{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}
.touch-controls.finished{display:none}.screen:has(.invitation:not([hidden])){aspect-ratio:auto;min-height:0}.invitation{position:relative;z-index:2;padding:42px 24px 32px;background:#192136f8;text-align:center}.invitation h2{font:24px/1.65 Pixel,monospace;color:var(--paper);margin:22px 0 6px}.invite-date{color:var(--yellow);font-size:14px;margin:0 0 24px}.invitation form{max-width:420px;margin:0 auto}.invitation fieldset{border:0;padding:0;margin:0;text-align:left}.invitation legend{font-size:14px;margin-bottom:12px}.answer-option{display:flex;align-items:center;gap:12px;border:1px solid #758197;padding:15px;margin-bottom:10px;background:#29364b;cursor:pointer;font-size:16px;min-height:52px}.answer-option:has(input:checked){border-color:var(--yellow);background:#39465a}.answer-option input{accent-color:var(--yellow);width:18px;height:18px;margin:0;flex-shrink:0}.answer-option:focus-within{outline:2px solid var(--cream);outline-offset:3px}.invitation textarea{display:block;width:100%;padding:12px;background:#202a3d;color:var(--paper);font:15px/1.5 'Courier New',monospace;border:1px solid #758197;resize:vertical;margin-top:9px}.invitation textarea:focus-visible{outline:2px solid var(--yellow)}#note-wrap{margin:20px 0;font-size:13px;line-height:1.5}.send-note{font-size:12px;color:#b7bfcd;margin:20px 0 14px}.invitation .primary{font-size:11px;width:100%;line-height:1.6}.response-status{max-width:430px;margin:20px auto 10px;font-size:15px;line-height:1.6;color:var(--mint)}.response-status:empty{display:none}.response-status.error{color:#f0b1a3}.invitation>.text-button{display:block;margin:20px auto 0;padding:10px;font-size:11px}.invitation button:disabled{opacity:.65}#response-fields:disabled{opacity:.65}.invitation h2:focus{outline:none}
@media(max-width:700px){.invitation{padding:30px 16px 24px}.invitation h2{font-size:18px}.answer-option{font-size:15px}.response-status{font-size:14px}}
@media(max-width:380px){.invitation h2{font-size:15px}.invitation .primary{font-size:10px}}
#continue-hint{font-size:12px;color:var(--yellow);margin:14px 0 0}.dialogue:focus{outline:none}.card-joke{font-size:14px;color:var(--mint);margin:0 0 20px}#direct-fallback{max-width:420px;margin:22px auto 0;border:1px solid #758197;padding:16px;text-align:left;font-size:14px;line-height:1.6}#direct-fallback textarea{font-size:16px}#direct-fallback .text-button{padding:12px 0}#copy-status{color:var(--mint);font-size:12px}.cabinet:has(#invitation:not([hidden])) .bottomline{display:none}.arcade:has(#ending:not([hidden])) .controls,.arcade:has(#invitation:not([hidden])) .controls{display:none}.arcade:has(#title-screen:not([hidden])) .bottomline{display:none}.arcade:has(#title-screen:not([hidden])) .controls{visibility:hidden}
@media(max-width:700px),(pointer:coarse){.touch-controls{display:none}body.playing{padding-bottom:100px;place-items:start center}.playing .touch-controls{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;margin:0;padding:12px max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#181c2bf2;border-top:1px solid #58647b}.touch-controls button{width:62px;height:60px;flex-shrink:0}.dialogue{scroll-margin-bottom:105px}.dialogue p{font-size:16px}.dialogue #continue-hint{font-size:12px}.title-screen{padding-top:28px}.title-screen h1{margin-top:0}.hud{font-size:8px}.invitation{scroll-margin-top:10px}}
@media(max-width:350px){.touch-controls>div{gap:8px}.touch-controls button{width:56px}}
.invitation textarea{font-size:16px}
.real-question{color:var(--mint);font-size:16px;margin:0 0 10px}

