.sim-badge{z-index:30;left:calc(var(--safe-left) + 8px);bottom:calc(var(--tabbar-height) + var(--safe-bottom) + 12px);background:var(--ink);color:var(--white);font:800 12px var(--font-mono);opacity:.85;border-radius:999px;padding:4px 10px;text-decoration:none;position:fixed}.tabbar{z-index:20;height:calc(var(--tabbar-height) + var(--safe-bottom));padding:8px var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--white);color:var(--ink);border-top:var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}body[data-tabbar=hidden] .tabbar{display:none}.tabbar-item{min-height:var(--tap-size);color:inherit;font:800 11px var(--font-display);touch-action:manipulation;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.tabbar-icon{font-size:22px;line-height:1.1}.tabbar-item.active{color:var(--color-primary)}.tabbar-raised{margin-top:-34px}.tabbar-raised .tabbar-icon{background:var(--color-sun);border:var(--border);width:62px;height:62px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:26px;display:flex}.tabbar-raised.active{color:var(--ink)}.tabbar-raised:active .tabbar-icon{box-shadow:none;transform:translate(2px,2px)}.btn{min-height:56px;min-width:var(--tap-size);border:var(--border);border-radius:var(--radius-md);font:800 18px/1.1 var(--font-display);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:transform 90ms,box-shadow 90ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%;min-height:62px}.btn-primary{background:var(--color-primary);color:var(--white);box-shadow:var(--shadow)}.btn-ink{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:0 5px 0 var(--color-primary)}.btn-sun{background:var(--color-sun);color:var(--ink);box-shadow:var(--shadow)}.btn-accent{background:var(--color-accent);color:var(--white);box-shadow:var(--shadow)}.btn-white{background:var(--white);color:var(--ink);box-shadow:var(--shadow)}.btn-link{min-height:var(--tap-size);font:800 14px var(--font-mono);box-shadow:none;background:0 0;border:0;text-decoration:underline}.modal-backdrop{z-index:40;padding:calc(var(--safe-top) + 16px) calc(var(--gutter) + var(--safe-right)) calc(var(--safe-bottom) + 16px) calc(var(--gutter) + var(--safe-left));background:#2b1d2499;justify-content:center;align-items:center;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;width:100%;max-width:420px;max-height:100%;padding:24px;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.demo-fab{z-index:30;right:calc(var(--safe-right) + 12px);bottom:calc(var(--tabbar-height) + var(--safe-bottom) + 12px);min-height:var(--tap-size);background:var(--color-text);color:#fff;box-shadow:var(--shadow-card);border:0;border-radius:999px;padding:0 16px;font-weight:700;position:fixed}.demo-panel{text-align:left}.demo-panel summary{min-height:var(--tap-size);align-items:center;font-weight:700;display:flex}.demo-codes{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.9rem;display:flex}.screen{min-height:100dvh;padding:calc(var(--safe-top) + 16px) calc(var(--gutter) + var(--safe-right)) calc(var(--tabbar-height) + var(--safe-bottom) + 32px) calc(var(--gutter) + var(--safe-left));flex-direction:column;gap:16px;display:flex}.screen>*{width:100%;max-width:520px;margin-inline:auto}.screen-no-tabbar{padding-bottom:calc(var(--safe-bottom) + 32px)}.screen-paper{background:var(--paper)}.screen-night{background:var(--night);color:var(--white)}.screen-sun{background:var(--color-sun)}.screen-accent{background:var(--color-accent);color:var(--white)}.screen-letter{background:var(--letter)}.screen-full{inset:0 0 calc(var(--tabbar-height) + var(--safe-bottom)) 0;min-height:0;padding:0;position:fixed}.screen-full>*{width:auto;max-width:none;margin:0}.welcome{position:relative;overflow:hidden}.screen>.welcome-cake{top:calc(var(--safe-top) + 64px);right:calc(22px + var(--safe-right));background:var(--color-primary);border:var(--border);width:110px;height:110px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:52px;display:flex;position:absolute;transform:rotate(12deg)}.screen>.welcome-date{border:var(--border);background:var(--color-accent);width:auto;color:var(--white);border-radius:999px;align-self:flex-start;margin:150px 0 0;padding:6px 14px;font-size:13px;transform:rotate(-5deg)}.welcome-title{letter-spacing:-.035em;font-size:clamp(48px,15vw,62px);font-weight:800;line-height:.92}.welcome-message{padding:18px;font-size:17px;line-height:1.45}.welcome-go{min-height:68px;margin-top:auto;font-size:22px}.sheet-backdrop{z-index:45;padding:12px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));background:#1411108c;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{border:var(--border);background:var(--paper);border-radius:32px;flex-direction:column;gap:14px;width:100%;max-width:520px;margin:0 auto;padding:24px 20px 12px;font-size:15px;animation:.26s ease-out sheet-up;display:flex}.sheet-title{font-size:28px;font-weight:800;line-height:1}.install-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.install-step{border:var(--border);background:var(--white);border-radius:16px;align-items:center;gap:12px;padding:12px;font-weight:600;line-height:1.35;display:flex}.install-step-number{background:var(--color-accent);width:40px;height:40px;color:var(--white);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.coin-pill{border:var(--border);border-radius:999px;flex:none;align-items:center;gap:8px;padding:5px 14px 5px 5px;font-size:18px;animation:.42s ease-out coin-bump;display:inline-flex}.coin-pill-day{background:var(--color-sun);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.coin-pill-night{background:var(--ink);color:var(--color-sun);border-color:var(--coin);box-shadow:0 0 18px #ffb80080}.coin-pill-coin{background:var(--coin);border:2px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}@keyframes coin-bump{40%{transform:scale(1.15)}}.screen-header{align-items:center;gap:12px;display:flex}.screen-header-titles{flex:1;min-width:0}.screen-header-title{font-size:30px;font-weight:800;line-height:1.05}.screen-header-subtitle{margin-top:2px;font-size:12px}.round-back{background:var(--white);width:44px;height:44px;color:var(--ink);border:var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:800;text-decoration:none;display:flex}.prizes-count{font-size:15px}.prizes-progress{border:var(--border);border-radius:999px;height:16px;display:flex;overflow:hidden}.prizes-progress>span:first-child{background:var(--color-primary)}.prizes-progress>span:last-child{background:var(--white)}.prizes-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.prize-tile{border:var(--border);text-align:center;cursor:pointer;border-radius:18px;flex-direction:column;align-items:center;gap:3px;min-height:104px;padding:8px;display:flex}.prize-tile.is-selected{transform:translate(-2px,-2px)}.prize-tile-common{box-shadow:inset 0 0 0 3px var(--rarity-common), 3px 3px 0 var(--ink);background:#eef1f4}.prize-tile-rare{box-shadow:inset 0 0 0 3px var(--rarity-rare), 3px 3px 0 var(--ink);background:#e3edff}.prize-tile-epic{box-shadow:inset 0 0 0 3px var(--rarity-epic), 3px 3px 0 var(--ink);background:#f1e6ff}.prize-tile-legendary{box-shadow:inset 0 0 0 3px var(--rarity-legendary), 3px 3px 0 var(--ink);background:#ffe9b0}.prize-tile-emoji{font-size:34px}.prize-tile-name{font-size:11px;font-weight:800;line-height:1.15}.prize-tile-rarity{font-size:9px}.prize-tile-missing{border:3px dashed var(--dashed);min-height:104px;color:var(--dashed);border-radius:18px;justify-content:center;align-items:center;font-size:30px;font-weight:800;display:flex}.prize-detail{grid-template-columns:56px 1fr;align-items:start;gap:12px;display:grid}.prize-detail-emoji{border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:30px;display:flex}.prize-detail-meta{font-size:10px}.prize-meta-common{color:#5a6b7c}.prize-meta-rare{color:#1f55c4}.prize-meta-epic{color:#7a2fd0}.prize-meta-legendary{color:#9a6a00}.prize-detail-title{font-size:17px;font-weight:800;line-height:1.1}.prize-detail-text{margin-top:3px;font-size:13px;line-height:1.35}.toasts{z-index:60;left:0;right:0;top:calc(var(--safe-top) + 12px);padding:0 var(--gutter);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.toast{border:var(--border);border-radius:16px;width:100%;max-width:420px;padding:12px 16px;font-size:15px;font-weight:800;animation:.22s ease-out toast-in}.toast-success{background:var(--ink);color:var(--white)}.toast-error{background:var(--color-primary);color:var(--white)}.toast-info{background:var(--white)}.toast-highlight{background:var(--color-sun)}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}}.burst{z-index:50;background:#1411108c;flex-direction:column;justify-content:center;align-items:center;animation:2.4s forwards burst-fade;display:flex;position:fixed;inset:0}.burst-rays{background:repeating-conic-gradient(#ffd43b59 0 12deg, transparent 12deg 24deg);border-radius:50%;width:280px;height:280px;animation:6s linear infinite burst-spin;position:absolute}.burst-coin{background:var(--coin);border:4px solid var(--ink);width:180px;height:180px;box-shadow:inset 0 -10px 0 var(--coin-shade), 6px 6px 0 var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.5s cubic-bezier(.2,1.6,.4,1) burst-pop;display:flex;position:relative}.burst-amount{letter-spacing:-.03em;font-size:58px;font-weight:800;line-height:1}.burst-flyer{background:var(--coin);border:3px solid var(--ink);width:28px;height:28px;transform:translate(var(--x), var(--y));border-radius:50%;animation:1.4s ease-in forwards burst-fly;position:absolute}.burst-caption{left:var(--gutter);right:var(--gutter);bottom:calc(var(--safe-bottom) + 40px);border:var(--border);background:var(--white);text-align:center;border-radius:18px;padding:14px 16px;font-weight:800;position:absolute}@keyframes burst-pop{0%{transform:scale(.3)rotate(-20deg)}}@keyframes burst-fly{60%{opacity:1}to{opacity:0;transform:translate(40vw,-45vh)scale(.4)}}@keyframes burst-spin{to{transform:rotate(360deg)}}@keyframes burst-fade{85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.burst-rays,.burst-flyer{display:none}}.rarity-bar{border-radius:3px;width:100%;height:6px;display:flex;overflow:hidden}.rarity-fill-common{background:var(--rarity-common)}.rarity-fill-rare{background:var(--rarity-rare)}.rarity-fill-epic{background:var(--rarity-epic)}.rarity-fill-legendary{background:var(--rarity-legendary)}.box-hero{border:var(--border);min-height:190px;color:var(--ink);border-radius:24px;flex-direction:column;gap:8px;padding:16px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:4px 4px #000}.box-hero-legendary{background:linear-gradient(160deg,#ffb800,#ff7a00);box-shadow:0 0 30px #ffb80073,4px 4px #000}.box-hero-epic{color:var(--white);background:linear-gradient(160deg,#a345ff,#5b2a9e);box-shadow:0 0 30px #a345ff73,4px 4px #000}.box-hero-rare,.box-hero-common{color:var(--white);background:linear-gradient(160deg,#2f7bff,#221a57)}.box-hero-rays{background:repeating-conic-gradient(#ffffff59 0 10deg, transparent 10deg 20deg);border-radius:50%;width:220px;height:220px;position:absolute;top:-30px;right:-30px}.box-hero-emoji{font-size:76px;line-height:1;position:absolute;top:18px;right:22px}.box-hero-pill{background:var(--ink);color:var(--color-sun);position:relative}.box-hero-name{max-width:60%;font-size:30px;font-weight:800;line-height:.95;position:relative}.box-hero-foot{align-items:center;gap:8px;margin-top:auto;font-size:13px;display:flex;position:relative}.box-hero-status{background:var(--ink);color:var(--white);white-space:nowrap;border-radius:12px;padding:8px 12px}.box-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.box-tile{border:var(--border);color:var(--white);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:12px;text-decoration:none;display:flex;position:relative;box-shadow:4px 4px #000}.box-tile-common{box-shadow:inset 0 0 0 2px var(--rarity-common), 4px 4px 0 #000;background:#26213f}.box-tile-rare{box-shadow:inset 0 0 0 2px var(--rarity-rare), 4px 4px 0 #000;background:linear-gradient(170deg,#3a2e86,#221a57)}.box-tile-epic,.box-tile-legendary{box-shadow:inset 0 0 0 2px var(--rarity-epic), 0 0 22px #a345ff80, 4px 4px 0 #000;background:linear-gradient(170deg,#5b2a9e,#33176a)}.box-tile-stock{border:2px solid var(--ink);background:var(--color-primary);border-radius:999px;padding:3px 8px;font-size:11px;position:absolute;top:-12px;right:-8px;transform:rotate(8deg)}.box-tile-emoji{font-size:52px;line-height:1.1}.box-tile-name{font-size:17px;font-weight:800;line-height:1}.box-tile-price{border:var(--border);border-radius:var(--radius-sm);background:var(--color-primary);width:100%;min-height:46px;box-shadow:0 4px 0 var(--ink);justify-content:center;align-items:center;font-size:15px;display:flex}.box-tile-price.is-off{color:var(--color-sun);background:#26213f;font-size:12px}.box-soldout-row{gap:10px;display:flex}.box-soldout{color:inherit;opacity:.7;border:3px dashed #5a5480;border-radius:18px;flex:1;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:800;line-height:1.2;text-decoration:none;display:flex}.box-soldout-emoji{filter:grayscale();font-size:24px}.box-soldout-label{color:#ff8a8a;font-size:11px}.box-contents-label{color:var(--night-muted)}.prize-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.prize-cell{border:2px solid var(--rarity-common);border-radius:var(--radius-sm);text-align:center;background:#26213f;flex-direction:column;gap:3px;padding:8px 6px;display:flex}.prize-cell-rare{border-color:var(--rarity-rare);background:linear-gradient(#172f66,#0f1f48)}.prize-cell-epic{border-color:var(--rarity-epic);background:linear-gradient(#33176a,#221048)}.prize-cell-legendary{border-color:var(--rarity-legendary);background:linear-gradient(#3b2a10,#241a0a);box-shadow:0 0 14px #ffb80080}.prize-cell.is-owned{opacity:.45}.prize-cell.is-owned .prize-cell-emoji{filter:grayscale()}.prize-cell-emoji{font-size:30px}.prize-cell-name{font-size:11px;font-weight:800;line-height:1.15}.prize-cell-odds{font:800 11px var(--font-mono)}.box-note{color:var(--night-muted)}.box-open-bar{bottom:calc(var(--safe-bottom) + 16px);margin-top:auto;position:sticky}.box-open-bar .btn{min-height:66px;box-shadow:0 5px 0 #000, 0 0 24px color-mix(in srgb, var(--color-primary) 50%, transparent);font-size:21px}.box-open-status{text-align:center;color:var(--color-sun)}.box-subtitle{color:var(--color-sun)}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{top:-12px;left:var(--left);border-radius:2px;width:10px;height:14px;animation:1.4s ease-in forwards confetti-fall;position:absolute}.confetti-0{background:var(--color-primary)}.confetti-1{background:var(--color-sun)}.confetti-2{background:var(--rarity-rare)}@keyframes confetti-fall{to{transform:translate(var(--drift), 420px) rotate(var(--spin));opacity:0}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.screen.roulette{background:var(--night-deep)}.roulette-head{text-align:center;flex-direction:column;gap:6px;padding-top:44px;display:flex}.roulette-box{color:#d3a6ff;font-size:13px}.roulette-title{font-size:34px;font-weight:800;line-height:1}.screen>.roulette-band{width:auto;max-width:none;margin-inline:calc(-1 * var(--gutter) - var(--safe-left)) calc(-1 * var(--gutter) - var(--safe-right))}.roulette-band{background:var(--night-band);border-block:var(--border);height:150px;margin-top:40px;position:relative;overflow:hidden}.roulette-band:before,.roulette-band:after{content:"";z-index:1;width:60px;position:absolute;top:0;bottom:0}.roulette-band:before{background:linear-gradient(90deg, var(--night-band), transparent);left:0}.roulette-band:after{background:linear-gradient(270deg, var(--night-band), transparent);right:0}.roulette-strip{will-change:transform;gap:8px;padding:12px 0;display:flex}.reel-item{border:2px solid var(--rarity-common);border-radius:var(--radius-sm);text-align:center;background:#26213f;border-bottom-width:6px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:96px;height:120px;padding:6px;display:flex}.reel-rare{border-color:var(--rarity-rare);background:#132a5c}.reel-epic{border-color:var(--rarity-epic);background:#2c1460}.reel-legendary{border-color:var(--rarity-legendary);background:#3b2a10}.reel-emoji{font-size:40px;line-height:1}.reel-name{font-size:10px;font-weight:800;line-height:1.15}.roulette-marker{z-index:2;background:var(--color-sun);width:3px;box-shadow:0 0 12px var(--color-sun);margin-left:-1.5px;position:absolute;top:0;bottom:0;left:50%}.roulette-hint{text-align:center;color:var(--night-muted)}.roulette-spin{min-height:70px;box-shadow:0 6px 0 #000, 0 0 30px color-mix(in srgb, var(--color-primary) 55%, transparent);margin-top:auto;font-size:24px}.reveal{z-index:40;padding:calc(var(--safe-top) + 70px) var(--gutter) calc(var(--safe-bottom) + 24px);background:#0f0b2af0;flex-direction:column;align-items:center;gap:16px;animation:.3s ease-out reveal-in;display:flex;position:fixed;inset:0;overflow:hidden}.reveal-rays{background:repeating-conic-gradient(#ffb80047 0 9deg, transparent 9deg 18deg);border-radius:50%;width:420px;height:420px;margin-left:-210px;animation:12s linear infinite rays-spin;position:absolute;top:100px;left:50%}.reveal-badge{border:var(--border);font:800 13px var(--font-mono);background:var(--rarity-common);color:var(--ink);border-radius:999px;padding:5px 14px;position:relative}.reveal-badge-rare{background:var(--rarity-rare);color:var(--white)}.reveal-badge-epic{background:var(--rarity-epic);color:var(--white)}.reveal-badge-legendary{background:var(--rarity-legendary)}.reveal-card{border:3px solid var(--rarity-common);text-align:center;background:#26213f;border-radius:26px;flex-direction:column;gap:8px;width:min(280px,100%);padding:22px 18px;animation:.5s cubic-bezier(.2,1.6,.4,1) reveal-pop;display:flex;position:relative}.reveal-card-rare{border-color:var(--rarity-rare);background:linear-gradient(170deg,#172f66,#0f1f48);box-shadow:0 0 40px #2f7bff80}.reveal-card-epic{border-color:var(--rarity-epic);background:linear-gradient(170deg,#33176a,#221048);box-shadow:0 0 40px #a345ff8c}.reveal-card-legendary{border-color:var(--rarity-legendary);background:linear-gradient(170deg,#4a3510,#22180a);box-shadow:0 0 50px #ffb80099}.reveal-emoji{font-size:80px;line-height:1}.reveal-title{font-size:30px;font-weight:800;line-height:.95}.reveal-description{color:#f3e2b8;font-size:14px}.reveal-redeem{color:var(--color-sun);line-height:1.4}.reveal-actions{flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:auto;display:flex;position:relative}.reveal-actions .btn-link{color:var(--white)}@keyframes reveal-in{0%{opacity:0}}@keyframes reveal-pop{0%{opacity:0;transform:scale(.5)}}@keyframes rays-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.reveal-rays{animation:none}}.answer{gap:8px;display:flex}.answer-input{border:var(--border);border-radius:var(--radius-sm);background:var(--white);min-width:0;height:54px;font:500 16px var(--font-mono);flex:1;padding:0 12px}.answer-input:focus{border-color:var(--color-primary);outline:none}.answer-input.is-wrong{background:var(--wrong-bg);animation:.36s ease-in-out answer-shake}.answer-go{border-radius:var(--radius-sm);background:var(--ink);width:54px;height:54px;color:var(--white);border:0;flex:none;font-size:20px;font-weight:800}.answer-go:disabled{opacity:.4}@keyframes answer-shake{25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}.scratch-moment{justify-content:flex-start}.scratch-moment-head{text-align:center;flex-direction:column;gap:6px;padding-top:40px;display:flex}.scratch-moment-kicker{color:var(--color-sun);font-size:13px}.scratch-moment-title{font-size:40px;font-weight:800;line-height:1}.scratch-moment-card{border:var(--border);border-radius:var(--radius-lg);min-height:330px;box-shadow:var(--shadow-lg);background:var(--white);color:var(--ink);margin-top:14px}.scratch-moment-content{flex-direction:column;gap:8px;padding:22px;display:flex}.scratch-moment-number{color:var(--color-primary)}.scratch-moment-emoji{font-size:54px;line-height:1.1}.scratch-moment-stage{letter-spacing:-.02em;font-size:40px;font-weight:800;line-height:.95}.scratch-moment-place{font-size:14px;font-weight:600}.scratch-moment-action{margin-top:auto;padding-top:16px}.stage-covered{border:var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:360px;display:flex}.stage-covered-mark{font-size:90px;font-weight:800;line-height:1}.screen>.stage-band{width:auto;max-width:none;margin:calc(-16px - var(--safe-top)) calc(-1 * var(--gutter) - var(--safe-right)) 0 calc(-1 * var(--gutter) - var(--safe-left))}.stage-band{padding:calc(var(--safe-top) + 16px) calc(var(--gutter) + var(--safe-right)) 20px calc(var(--gutter) + var(--safe-left));background:var(--color-primary);color:var(--white);border-bottom:var(--border);flex-direction:column;gap:4px;display:flex}.stage-band-top{justify-content:space-between;margin-bottom:14px}.stage-band-title{font-size:38px;font-weight:800;line-height:.95}.stage-description{font-size:16px}.place-name{font-size:20px;font-weight:800}.place-meta{font-size:14px;line-height:1.4}.place-maps{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.place-maps .btn{border-radius:var(--radius-sm);min-height:52px;font-size:15px}.place-scratch{border-radius:var(--radius-md)}.place-locked,.bonus-locked{border:var(--border);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:12px;min-height:96px;padding:14px;font-size:15px;line-height:1.3;display:flex}.place-locked-mark,.bonus-mark{font-size:30px;font-weight:800}.stage-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stage-tile{flex-direction:column;gap:4px;text-decoration:none;display:flex}.stage-tile:active{transform:scale(.97)}.stage-tile-icon{font-size:26px}.stage-tile-name{font-size:18px;font-weight:800}.stage-tile-meta{color:var(--color-sun);font-size:13px}.bonus-scratch{border:var(--border);border-radius:var(--radius-md);min-height:96px}.bonus-prize{background:var(--color-sun);justify-content:center;align-items:center;gap:12px;min-height:96px;padding:14px;font-weight:800;display:flex}.bonus-claimed .bonus-prize{border:var(--border);border-radius:var(--radius-md)}.bonus-coins{font-size:22px}.challenge-done{justify-content:space-between;align-items:center;gap:12px;display:flex}.challenge-done-type{color:var(--color-sun)}.challenge-done-title{font-size:16px;font-weight:600}.challenge-head{justify-content:space-between}.challenge-title{font-size:20px;font-weight:800;line-height:1.15}.challenge-description{font-size:14px}.challenge-wrong{color:var(--danger);font-size:14px;font-weight:800}.challenge-hint{border-radius:var(--radius-sm);background:var(--sand);padding:10px 12px;font-size:14px}.hint-pill{border:2px dashed var(--ink);background:0 0;border-radius:999px;align-self:flex-start;min-height:40px;padding:6px 14px;font-size:13px;font-weight:600}.upload-banner{align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.35;display:flex}.upload-banner-icon{font-size:24px}.prompt-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.prompt-title{font-size:17px;font-weight:800;line-height:1.15}.prompt-points{border:2px solid var(--ink);font:800 12px var(--font-mono);border-radius:999px;flex:none;padding:3px 10px}.prompt-points.is-claimed{background:var(--color-accent);border-color:var(--color-accent);color:var(--white)}.thumbs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.thumb{flex-direction:column;gap:4px;margin:0;display:flex}.thumb-image{aspect-ratio:1;object-fit:cover;border:2px solid var(--ink);background:repeating-linear-gradient(45deg, var(--sand) 0 6px, #f3efe6 6px 12px);border-radius:10px;width:100%}.thumb-status{font:800 10px var(--font-mono);text-align:center;white-space:nowrap}.thumb-failed{color:var(--danger)}.photo-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.photo-buttons .btn{flex-direction:column;gap:4px;min-height:96px;font-size:15px}.photo-buttons-icon{font-size:30px;line-height:1}.photo-input{display:none}.scratch{position:relative;overflow:hidden}.scratch-foil{touch-action:none;cursor:grab;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.scratch.is-revealed .scratch-foil{opacity:0;pointer-events:none}.code-title{padding-top:14px;font-size:40px;font-weight:800;line-height:.95}.code-input{border:var(--border);border-radius:var(--radius-md);width:100%;height:76px;box-shadow:var(--shadow);background:var(--white);font:800 30px var(--font-mono);letter-spacing:.2em;text-align:center;text-transform:uppercase}.code-input:focus{border-color:var(--color-primary);outline:none}.code-input::placeholder{color:var(--dashed)}.code-result{border:var(--border);border-radius:18px;flex-direction:column;gap:4px;padding:14px;font-size:14px;line-height:1.3;animation:.22s ease-out result-in;display:flex}.code-result-icon{font-size:28px}.code-result-title{font-size:17px;font-weight:800}.code-result-right{background:var(--color-accent);color:var(--white)}.code-result-used,.code-result-info{background:var(--white)}.code-result-early{border-style:dashed}.code-result-wrong{background:var(--color-primary);color:var(--white)}.code-result .btn{margin-top:8px}@keyframes result-in{0%{opacity:0;transform:translateY(8px)}}.countdown-band{border:var(--border);background:var(--color-accent);color:var(--white);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.countdown-value{white-space:nowrap;font-size:26px}.chips{gap:10px;display:flex}.chip{white-space:nowrap;cursor:pointer;border:3px solid #0000;border-radius:999px;flex:1;min-height:40px;padding:8px 0;font-size:12px}.chip-done{background:var(--ink);color:var(--white)}.chip-now{background:var(--color-primary);color:var(--white);border-color:var(--ink)}.chip-ready{background:var(--color-sun);border-color:var(--ink)}.chip-locked{border:3px dashed var(--ink);background:0 0}.chip-finale{background:var(--sand);font-size:16px}.screen>.carousel{width:auto;max-width:none;margin-inline:calc(-1 * var(--gutter) - var(--safe-left)) calc(-1 * var(--gutter) - var(--safe-right))}.carousel{scroll-snap-type:x mandatory;scroll-padding-inline:calc(var(--gutter) + var(--safe-left));padding:4px calc(var(--gutter) + var(--safe-right)) 12px calc(var(--gutter) + var(--safe-left));scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:14px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.carousel-slot{scroll-snap-align:start;flex:none;width:min(290px,78vw)}.stage-card{border:var(--border);border-radius:var(--radius-lg);height:360px;color:inherit;flex-direction:column;gap:10px;padding:20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.stage-card-now{background:var(--color-primary);color:var(--white);box-shadow:var(--shadow-lg)}.stage-card-done{background:var(--ink);color:var(--white)}.stage-card-emoji{margin-top:8px;font-size:64px;line-height:1}.stage-card-title{letter-spacing:-.02em;font-size:36px;font-weight:800;line-height:.95}.stage-card-place{font-size:15px;font-weight:600}.stage-card-stats{gap:8px;margin-top:auto;font-size:13px;display:flex}.stage-card-stats>span{background:var(--ink);color:var(--white);text-align:center;border-radius:12px;flex:1;padding:9px}.stage-card-done .stage-card-stats>span{background:#ffffff24}.stage-card-covered{text-align:center;justify-content:center;align-items:center;gap:6px}.stage-card-covered .pill{position:absolute;top:18px;left:18px}.stage-card-covered.is-ready{box-shadow:var(--shadow-lg);animation:2.4s ease-in-out 2 ready-wiggle}.stage-card-question{font-size:90px;font-weight:800;line-height:1}.stage-card-cta{font-size:16px;font-weight:800}.finale-card{background:var(--color-accent);color:var(--white);justify-content:center}.finale-card.is-open{background:var(--color-primary);box-shadow:var(--shadow-lg)}@keyframes ready-wiggle{0%,to{transform:rotate(0)}10%{transform:rotate(-2deg)}20%{transform:rotate(2deg)}30%{transform:rotate(0)}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/jetbrains-mono-latin-800-normal-D2mQHRMK.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-800-normal-Dj9qwObk.woff)format("woff")}:root{--color-primary:#e8308c;--color-accent:#141110;--color-sun:#ffd43b;--ink:#141110;--paper:#fffaf0;--sand:#e9e4da;--white:#fff;--coin:#ffb800;--coin-shade:#e09a00;--danger:#c2270b;--right-bg:#e3f7e9;--wrong-bg:#ffe3da;--muted-ink:#6f675e;--dashed:#b5aea2;--letter:#fff3c4;--rarity-common:#8fa3b8;--rarity-rare:#2f7bff;--rarity-epic:#a345ff;--rarity-legendary:#ffb800;--night:#17123a;--night-deep:#0f0b2a;--night-band:#1a1440;--night-muted:#b9b3e0;--foil:repeating-linear-gradient(135deg, #bfc3cc 0 6px, #aeb2bc 6px 12px);--border:3px solid var(--ink);--shadow:4px 4px 0 var(--ink);--shadow-lg:5px 5px 0 var(--ink);--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--font-display:"Bricolage Grotesque Variable", -apple-system, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--tap-size:48px;--tabbar-height:64px;--gutter:20px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-display);font-optical-sizing:auto;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}body{background:var(--paper);overscroll-behavior-y:none;-webkit-touch-callout:none}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance}a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}input,textarea{font-size:16px}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);font-weight:800}.eyebrow{font:800 11px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.note{font:500 12px/1.45 var(--font-mono)}.muted{color:var(--muted-ink)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.sticker{background:var(--white);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:14px}.ink-card{background:var(--ink);color:var(--white);border-radius:var(--radius-md);padding:14px}.dashed-card{border:3px dashed var(--dashed);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:18px;display:flex}.dashed-card-emoji{font-size:40px;line-height:1}.dashed-card-title{font-size:19px;font-weight:800}.pill{font:800 11px var(--font-mono);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.pill-white{background:var(--white);color:var(--ink);border:2px solid var(--ink)}.pill-ink{background:var(--ink);color:var(--white)}.foil{background:var(--foil)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
