@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(./fraunces-vietnamese-700-normal-DxawQjq2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(./fraunces-latin-ext-700-normal-DuBstVeD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(./fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(./fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-vietnamese-900-normal-BwLbQoNo.woff2) format("woff2"),url(./fraunces-vietnamese-900-normal-22-IZO0F.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-latin-ext-900-normal-B8j5GSzS.woff2) format("woff2"),url(./fraunces-latin-ext-900-normal-B2hmprcz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(./fraunces-latin-900-normal-DmBL83SS.woff2) format("woff2"),url(./fraunces-latin-900-normal-D67OkaMf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(./space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(./space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(./space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(./space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(./space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(./space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #14110f;--ink-2: #1f1a17;--paper: #f3ead7;--paper-2: #e8dcc2;--brass: #c9a45c;--brass-hi: #ffe6a8;--danger: #e0533d;--safe: #6fcf97;--display: "Fraunces", Georgia, serif;--mono: "Space Mono", ui-monospace, monospace;--pad: max(16px, env(safe-area-inset-left))}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:var(--paper);overflow:hidden;font-family:var(--mono);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}#scene{position:absolute;display:block}body.portrait-frame{background:#000}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui>*{pointer-events:auto}.hidden{display:none!important}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:transform .12s ease,background .2s ease,color .2s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brass);color:var(--ink);box-shadow:0 6px #8a6a2c,0 10px 30px #0006}.btn-primary:hover{background:var(--brass-hi)}.btn-ghost{border:2px solid rgba(201,164,92,.6);color:var(--paper)}.btn-ghost:hover{border-color:var(--brass);background:#c9a45c1a}.btn-small{min-height:40px;padding:0 16px;font-size:12px}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px var(--pad);background:radial-gradient(ellipse at center,#14110f8c,#14110feb 70%);text-align:center}.logo{font-family:var(--display);font-weight:900;font-size:clamp(56px,14vw,128px);line-height:.9;letter-spacing:-.02em;color:var(--paper);text-shadow:0 4px 0 rgba(0,0,0,.5),0 0 40px rgba(201,164,92,.25)}.logo .dash{color:var(--brass)}.tagline{font-size:clamp(13px,3.4vw,16px);color:var(--brass);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.title-actions{display:flex;flex-direction:column;gap:12px;width:min(340px,100%)}.title-actions .btn{width:100%}.code-row{display:flex;gap:8px;width:100%}.code-row .btn{width:auto!important;flex:none}.code-row input{flex:1;min-width:0;height:52px;border-radius:999px;border:2px solid rgba(201,164,92,.6);background:#0000004d;color:var(--paper);font:700 18px var(--mono);letter-spacing:.3em;text-align:center;text-transform:uppercase;outline:none}.code-row input:focus{border-color:var(--brass-hi)}.title-foot{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 var(--pad)}.toggle{font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:999px;border:1px solid rgba(243,234,215,.25);color:#f3ead7cc}.toggle.on{border-color:var(--brass);color:var(--brass-hi)}.stats-line{font-size:12px;color:#f3ead799;letter-spacing:.06em}.pick-bar{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 12px 10px 20px;border-radius:999px;background:#14110fdb;border:1px solid rgba(201,164,92,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:calc(100% - 32px)}.pick-timer{font:700 22px var(--mono);color:var(--brass-hi);min-width:34px;text-align:center}.pick-hint{font-size:13px;color:#f3ead7cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-bar .btn{min-height:46px}.pick-bar .btn[disabled]{opacity:.35;pointer-events:none}.choice{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px var(--pad) max(22px,env(safe-area-inset-bottom));background:linear-gradient(to top,#0a0808eb 30%,#0a080800)}.choice-prompt{font:700 clamp(16px,4.4vw,22px) var(--mono);text-align:center;max-width:640px;color:#fff;text-shadow:0 2px 0 #000}.choice-timer{width:min(420px,80%);height:4px;border-radius:4px;background:#f3ead726;overflow:hidden}.choice-timer>div{height:100%;width:100%;background:var(--brass);transform-origin:left}.tags{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;width:100%}.tag{position:relative;display:flex;align-items:center;gap:12px;width:min(300px,calc(50% - 7px));min-height:74px;padding:14px 16px 14px 46px;border-radius:14px 40px 40px 14px;background:linear-gradient(160deg,#f6eedb,#e3d3b0);color:var(--ink);border:2px solid #b08a44;box-shadow:0 6px #8a6a2c,0 14px 28px #00000073;font:700 clamp(13px,3.6vw,16px) var(--mono);text-align:left;letter-spacing:.02em;animation:tagIn .45s cubic-bezier(.2,1.4,.4,1) both;transition:transform .15s}.tag:nth-child(2){animation-delay:.08s}.tag:before{content:"";position:absolute;left:16px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 3px #b08a44}.tag .num{position:absolute;right:16px;top:8px;font-size:11px;opacity:.45}.tag svg{flex:none;color:#6a4a1c}.tag:hover{transform:translateY(-3px) rotate(-1deg)}.tag.chosen{transform:translateY(-8px) rotate(-3deg) scale(1.04);border-color:var(--ink)}.tag.faded{opacity:.25;transform:scale(.96)}@keyframes tagIn{0%{opacity:0;transform:translateY(40px) rotate(4deg)}to{opacity:1;transform:none}}.receipt-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:16px var(--pad) 0;background:linear-gradient(to top,#0a0808bf,#0a080800 55%)}.receipt{position:relative;width:min(440px,100%);max-height:72vh;overflow-y:auto;padding:26px 24px 22px;background:var(--paper);color:var(--ink);font-size:13px;line-height:1.5;box-shadow:0 -10px 40px #00000080;animation:receiptIn .6s cubic-bezier(.2,1,.3,1) both;-webkit-mask:radial-gradient(circle at 8px 0,transparent 7px,#000 7.5px) -8px 0 / 16px 100% repeat-x;mask:radial-gradient(circle at 8px 0,transparent 7px,#000 7.5px) -8px 0 / 16px 100% repeat-x}@keyframes receiptIn{0%{transform:translateY(100%)}to{transform:none}}.receipt h1{font:900 30px/1 var(--display);margin:4px 0 2px}.receipt .kicker{font-size:11px;letter-spacing:.22em;color:#8a6a2c}.receipt .row{display:flex;justify-content:space-between;border-bottom:1px dashed rgba(20,17,15,.25);padding:6px 0;gap:12px}.receipt .row span:last-child{font-weight:700;text-align:right}.receipt .section{margin-top:16px}.receipt .section h2{font:700 11px var(--mono);letter-spacing:.22em;margin:0 0 6px;color:#8a6a2c}.receipt .section p{margin:0;font-size:14px}.receipt .stamp{display:inline-block;margin:12px 0 2px;padding:4px 14px;border:3px solid currentColor;border-radius:6px;font:900 22px var(--display);transform:rotate(-5deg);letter-spacing:.04em}.receipt .other{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed rgba(20,17,15,.2)}.receipt .other b{font-family:var(--display);font-size:15px}.receipt .other small{display:block;color:#14110fb3}.receipt .pill{flex:none;font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 8px;border-radius:4px;color:#fff}.receipt .actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.receipt .actions .btn-ghost{color:var(--ink);border-color:#14110f59}.receipt .code{text-align:center;margin-top:12px;font-size:11px;letter-spacing:.2em;color:#14110f8c}.book-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px var(--pad);background:#0a0808db}.book{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--ink-2);border:1px solid rgba(201,164,92,.4);border-radius:18px;padding:22px}.book h1{font:900 30px var(--display);margin:0 0 4px}.book .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:16px 0}.book .entry{border:1px solid rgba(243,234,215,.15);border-radius:12px;padding:12px;min-height:92px;position:relative;overflow:hidden}.book .entry b{font-family:var(--display);font-size:15px;display:block}.book .entry small{color:#f3ead799;font-size:11px}.book .entry.unknown b{color:#f3ead74d}.book .entry .st{position:absolute;right:8px;bottom:8px;font:900 11px var(--display);padding:2px 6px;border:2px solid currentColor;border-radius:4px;transform:rotate(-8deg)}.start-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:#000000b3;text-align:center;padding:20px}.start-card p{max-width:420px;color:#f3ead7b3;font-size:13px}.toast{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:700;animation:receiptIn .3s both}@media (max-width: 520px){.tag{width:100%;min-height:64px}.pick-hint{display:none}}@media (max-height: 520px) and (orientation: landscape){.receipt{max-height:92vh}.choice{padding-top:10px;gap:8px}.tag{min-height:58px}}
