@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--black:#08070a;--panel:#0e0d11;--panel-2:#14121a;--line:rgba(212,175,55,.28);--line-soft:rgba(212,175,55,.14);--gold:#d4af37;--gold-lt:#f6e7a8;--amber:#ffb24a;--honey:#ffcf6a;--txt:#f4efe2;--muted:#b7ad93;--dim:#8a8270;--grad-gold:linear-gradient(180deg,#f6e7a8 0%,#e9c75d 38%,#caa12f 100%);--r:18px;--shadow:0 18px 60px rgba(0,0,0,.55)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% -10%,#16130d 0%,var(--black) 60%) fixed,var(--black);color:var(--txt);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:center}.frame{position:relative;width:100%;max-width:480px;height:100%;background:var(--black);overflow:hidden;display:flex;flex-direction:column}@media (min-width:481px){.frame{margin:auto;height:min(900px,100vh);border-radius:26px;border:1px solid var(--line-soft);box-shadow:var(--shadow)}}.brand-row{display:flex;align-items:center;gap:10px}.brand-mark{font-family:Cinzel,serif;font-weight:800;letter-spacing:.32em;font-size:15px;color:var(--gold-lt)}.brand-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--amber)}.title-serif{font-family:Cinzel,serif;font-weight:800;line-height:.98;letter-spacing:.02em;text-transform:uppercase;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 14px rgba(212,175,55,.25));margin:0}.tagline{color:var(--gold-lt);letter-spacing:.34em;text-transform:uppercase;font-size:11px;font-weight:600;margin:10px 0 0}.subtle{color:var(--muted);font-size:13.5px;line-height:1.55}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;padding:15px 22px;border-radius:999px;background:var(--grad-gold);color:#241c05;box-shadow:0 10px 30px #d4af3747;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{filter:grayscale(.4) brightness(.7);cursor:not-allowed}.btn.ghost{background:transparent;color:var(--gold-lt);border:1px solid var(--line);box-shadow:none}.btn.block{width:100%}.chip{display:inline-flex;align-items:center;gap:8px;background:#0e0d1199;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;color:var(--txt);letter-spacing:.04em}.chip .lbl{color:var(--dim);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.chip .ico{color:var(--gold)}.hud{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px 16px calc(16px + env(safe-area-inset-top));pointer-events:none}.screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:34px 26px calc(34px + env(safe-area-inset-bottom));text-align:center;overflow-y:auto}.screen .spacer{flex:1 1 auto}.screen .top{display:flex;justify-content:center}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.fade-in{animation:fade .5s ease both}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.field{display:flex;flex-direction:column;gap:8px;text-align:left}.field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.input{width:100%;background:#100e13;border:1px solid var(--line-soft);border-radius:14px;padding:16px;color:var(--txt);font-size:18px;font-family:Inter,sans-serif;letter-spacing:.04em;outline:none}.input:focus{border-color:var(--line)}.err{color:#ff9a9a;font-size:13px;min-height:18px}.hintbox{background:#d4af3714;border:1px dashed var(--line);border-radius:12px;padding:10px 12px;color:var(--gold-lt);font-size:13px;letter-spacing:.04em}.otp{display:flex;gap:10px;justify-content:center}.otp input{width:46px;height:56px;text-align:center;font-size:24px;font-weight:700;background:#100e13;border:1px solid var(--line-soft);border-radius:12px;color:var(--gold-lt);outline:none}.otp input:focus{border-color:var(--gold)}.link{background:none;border:none;color:var(--gold-lt);text-decoration:underline;cursor:pointer;font-size:13px}.link:disabled{color:var(--dim);text-decoration:none;cursor:default}.consent-q{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#100e13,#0b0a0e);border:1px solid var(--line-soft);border-radius:14px;padding:16px;text-align:left}.consent-q .q{font-size:15px;color:var(--txt)}.toggle{flex:none;width:58px;height:32px;border-radius:999px;background:#241f15;border:1px solid var(--line-soft);position:relative;cursor:pointer;transition:background .2s}.toggle .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#6b6350;transition:.2s}.toggle.on{background:var(--grad-gold)}.toggle.on .knob{left:31px;background:#241c05}.gcard{display:flex;gap:14px;align-items:center;text-align:left;background:linear-gradient(180deg,#100e13,#0b0a0e);border:1px solid var(--line-soft);border-radius:var(--r);padding:14px;cursor:pointer;width:100%;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.gcard:active{transform:scale(.99)}.gcard:hover{border-color:var(--line);box-shadow:0 12px 40px #00000073}.gcard .thumb{width:88px;height:88px;flex:none;border-radius:12px;overflow:hidden;border:1px solid var(--line-soft);background:#08070a}.gcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}.gcard h3{font-family:Cinzel,serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:18px;color:var(--gold-lt)}.gcard p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}.gcard .go{margin-left:auto;color:var(--gold);font-size:22px;align-self:center}.progress{text-align:left}.progress .bar{height:8px;border-radius:999px;background:#ffffff14;border:1px solid var(--line-soft);overflow:hidden}.progress .fill{height:100%;background:var(--grad-gold);transition:width .4s ease}.progress .meta{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin-top:6px}.result-num{font-family:Cinzel,serif;font-weight:800;font-size:84px;line-height:.9;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 26px rgba(212,175,55,.3))}.result-sub{color:var(--gold-lt);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:600}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line-soft);border-top-color:var(--gold);animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.play{position:relative;flex:1;overflow:hidden;touch-action:none}.play .sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#06050a}.play .sky-base{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/sky-base-portrait.jpg) center bottom / cover no-repeat}.play .sky-lights{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/sky-lights-portrait.png) center bottom / cover no-repeat;opacity:0;transition:opacity .4s ease,filter .4s ease;will-change:opacity,filter}.play .sky-glow{position:absolute;left:0;right:0;bottom:0;height:50%;opacity:0;background:radial-gradient(130% 95% at 50% 100%,#ffb24a6b,#ffb24a00 72%);transition:opacity .4s ease}.play .sky-scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0202048c,#02020400 16%)}.play canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:block}.meter{display:flex;flex-direction:column;align-items:flex-start;gap:5px;transition:transform .18s ease}.meter .meter-row{display:flex;align-items:center;gap:9px}.meter .pct{font-family:Cinzel,serif;font-weight:800;font-size:20px;line-height:1;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 6px rgba(255,178,74,.4));min-width:42px}.meter .bar{width:96px;height:7px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid var(--line-soft)}.meter .fill{height:100%;width:0%;background:var(--grad-gold);transition:width .25s ease}.chip.tick{animation:metertick .35s ease}@keyframes metertick{0%{transform:scale(1)}35%{transform:scale(1.09);box-shadow:0 0 18px #ffb24a80}to{transform:scale(1)}}.start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:34px 26px;text-align:center;background:linear-gradient(180deg,#08070a59,#08070ad1 60%)}.droplegend{display:flex;justify-content:center;gap:18px}.droplegend div{font-size:10px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.droplegend b{display:block;color:var(--gold-lt);font-size:13px;margin-top:2px}.board-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;padding:calc(64px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.caption-strip{text-align:center;min-height:26px;margin:2px 0 8px}.caption-strip .cap{font-family:Cinzel,serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:15px;color:transparent;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text}.board{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-content:center}.card{position:relative;aspect-ratio:16/10;perspective:900px;cursor:pointer}.card .inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.3,1)}.card.flip .inner,.card.matched .inner{transform:rotateY(180deg)}.face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line-soft)}.face svg,.face img{width:100%;height:100%;display:block;object-fit:cover}.face.front{background:#0b0a0e}.face.back{transform:rotateY(180deg)}.card.matched .face{border-color:var(--gold);box-shadow:0 0 18px #d4af3780}.card.matched .check{opacity:1;transform:scale(1)}.check{position:absolute;top:5px;right:5px;z-index:3;width:20px;height:20px;border-radius:50%;background:var(--grad-gold);color:#241c05;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);transition:.25s ease;box-shadow:0 0 12px #ffb24ab3}.meter-score .score-num{font-family:Cinzel,serif;font-weight:800;font-size:17px;line-height:1;color:transparent;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 5px rgba(255,178,74,.4))}.match .board-wrap{padding:calc(58px + env(safe-area-inset-top)) 62px 16px 14px}.match .board{grid-template-columns:repeat(3,1fr);gap:9px;align-content:center}.match .card{aspect-ratio:5/6}.tower-timer{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:20;width:54px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.tower-timer svg{width:54px;height:auto;filter:drop-shadow(0 0 10px rgba(255,178,74,.22))}.tower-time{font-family:Cinzel,serif;font-weight:800;font-size:15px;line-height:1;color:transparent;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 4px rgba(255,178,74,.45))}.toast{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:35;text-align:center;pointer-events:none;font-family:Cinzel,serif;font-weight:800;text-transform:uppercase;font-size:50px;line-height:1.02;letter-spacing:.03em;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;filter:drop-shadow(0 0 26px rgba(255,178,74,.85)) drop-shadow(0 6px 18px rgba(0,0,0,.6))}.toast.show{animation:toastpop 1.5s cubic-bezier(.2,.8,.2,1) forwards}@keyframes toastpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-3deg)}16%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(0)}30%{transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-54%) scale(1.02)}to{opacity:0;transform:translate(-50%,-64%) scale(1.02)}}
