:root{--overlay: rgba(8, 10, 20, .5);--accent: #ed5f39;--accent-2: #4fd1c5;--accent-3: #a78bfa;--text: #f5f6fa;--muted: #c5c8d4;--card-bg: rgba(15, 18, 30, .75);--border: rgba(255, 255, 255, .08);--shadow: 0 18px 48px rgba(0, 0, 0, .35);--wallpaper-url: none}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{height:100%;overflow:hidden}body{margin:0;height:100%;min-height:100vh;min-height:min(100svh,100dvh);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background:#0b0f1c;color:var(--text);overflow:hidden}.hero{position:relative;height:100vh;height:min(100svh,100dvh);min-height:100vh;min-height:min(100svh,100dvh);width:100%;display:grid;place-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:var(--wallpaper-url);background-size:cover;background-position:center;filter:blur(7px) saturate(1.08) contrast(1.05);transform:scale(1.05);z-index:0;transition:opacity .36s ease}.hero.plain:before{opacity:0}.hero-topbar{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);z-index:3;display:flex;gap:10px;align-items:center}.overlay{position:absolute;inset:0;background:radial-gradient(900px 520px at 18% 12%,rgba(79,209,197,.16),transparent 60%),radial-gradient(820px 520px at 82% 18%,rgba(167,139,250,.14),transparent 62%),radial-gradient(900px 640px at 50% 110%,rgba(237,95,57,.16),transparent 58%),linear-gradient(135deg,#080c1a7a,#060a1642);z-index:1;transition:opacity .36s ease}.hero.plain .overlay{opacity:0;pointer-events:none}.title-card{position:relative;z-index:2;width:min(900px,92vw);padding:32px 32px 36px;border-radius:20px;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;gap:18px;overflow:hidden}.title-card:before{content:"";position:absolute;inset:-2px;background:radial-gradient(320px 120px at 18% 6%,rgba(79,209,197,.32),transparent 65%),radial-gradient(340px 140px at 86% 10%,rgba(167,139,250,.26),transparent 68%),radial-gradient(340px 160px at 50% 105%,rgba(237,95,57,.22),transparent 70%);opacity:.7;pointer-events:none;z-index:0;filter:blur(16px)}.title-card.bare{width:min(1600px,98vw);padding:18px 14px 22px;border-radius:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.title-card.bare:before{display:none}.title-card.full{width:100%;max-width:100%;height:100vh;height:min(100svh,100dvh);padding:0;background:transparent;border:none;box-shadow:none;gap:0;display:block;overflow:hidden}.title-view{position:relative;z-index:1;display:grid;gap:16px}.proto-title{margin:0;display:grid;gap:10px;text-align:center;letter-spacing:-.4px}.proto-title .title-logo{justify-self:center}.proto-title .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.title-logo{width:min(1200px,96vw);max-height:44vh;object-fit:contain;height:auto;display:block;filter:drop-shadow(0 22px 44px rgba(0,0,0,.6))}.title-card.bare .title-logo{width:100%;max-width:none;max-height:44vh;transform:none}.title-card.bare .cta-row{margin-top:10px}.title-card.bare .playBtn{filter:none}.title-card.bare .level{min-height:66px;padding:12px 12px 11px;background:#0f121e6b;border-color:#ffffff1a}.title-card.bare .level:hover{background:#0f121e80}.title-card.bare .level.active{background:#ed5f392e}.title-card.bare .level .level-name{font-size:14px}.title-card.bare .level .level-meta{font-size:11.5px;color:#c5c8d4e0}@media(max-width:430px){.title-card{padding:24px 18px 26px}.title-card.bare{padding:14px 12px 18px}.title-view{gap:12px}.proto-title{gap:8px}.title-logo{max-height:min(36svh,320px)}.level-grid{gap:10px}.level{min-height:64px;padding:12px 12px 11px}.playBtn{width:200px;height:64px}}@media(max-height:760px){.title-card.bare{padding:18px 14px 22px}.title-card.bare .title-logo{width:100%;max-height:34vh}.title-card.bare .playBtn{width:200px;height:64px}.title-card.bare .start-btn{min-height:50px;min-width:180px;padding:12px 18px;font-size:15px}.level{min-height:64px;padding:12px 12px 11px}}@media(max-height:640px){.title-card.bare .title-logo{width:100%;max-height:28vh}.title-card.bare .playBtn{width:190px;height:58px}.level-grid{gap:10px}}.menu-btn{border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);border-radius:12px;width:44px;height:40px;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.menu-btn:hover{transform:translateY(-1px);border-color:#ffffff24;background:#ffffff0f}.menu-btn:active{transform:translateY(0)}.menu-btn:focus-visible{outline:2px solid rgba(79,209,197,.6);outline-offset:2px}.menu-icon{width:18px;display:grid;gap:4px}.menu-icon .bar{height:2px;border-radius:999px;background:#f5f6faeb}.menu-layer{position:fixed;inset:0;z-index:50;background:#080a147a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;justify-items:end;height:100vh;height:min(100svh,100dvh)}.menu-drawer{width:min(420px,92vw);height:100vh;height:min(100svh,100dvh);background:#0f121eeb;border-left:1px solid rgba(255,255,255,.08);box-shadow:-18px 0 48px #00000073;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 18px);display:grid;grid-template-rows:auto 1fr;animation:menu-in .16s ease-out}@keyframes menu-in{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}.menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-title{font-weight:800;letter-spacing:.2px}.menu-close{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);border-radius:12px;width:40px;height:40px;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer}.menu-close:hover{background:#ffffff0f}.menu-close:focus-visible{outline:2px solid rgba(79,209,197,.6);outline-offset:2px}.menu-content{padding-top:14px;display:grid;gap:16px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.menu-section-title{font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:#c5c8d4f2;margin-bottom:10px}.menu-list{margin:0;padding-left:18px;display:grid;gap:6px;color:#f5f6faeb;line-height:1.5;font-size:14px}.menu-kv{margin:0;padding:0;display:grid;gap:10px}.menu-kv-row{display:flex;flex-direction:column;gap:5px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.menu-kv-row dt{margin:0;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#c5c8d4c7;line-height:1.2}.menu-kv-row dd{margin:0;color:#f5f6faf2;line-height:1.4;min-width:0}.menu-kv-row dd.value{font-weight:800;letter-spacing:.2px}.menu-kv-row dd.value.long{font-weight:600;letter-spacing:0}.menu-kv-row dd.value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800}.menu-kv-row dd.value.set-name{font-size:15px;overflow-wrap:anywhere}.menu-kv-row dd.value.set-name .set-name-text{font-weight:700}.menu-kv-row dd.value.set-name .set-code{margin-left:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:700;white-space:nowrap;color:#c5c8d4eb}.menu-link{color:#4fd1c5f2;text-decoration:none;border-bottom:1px solid rgba(79,209,197,.35)}.menu-link:hover{border-bottom-color:#4fd1c5b3}.logo{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.logo .pill{padding:6px 12px;border-radius:999px;background:#ffffff14;font-size:13px;letter-spacing:.4px;color:var(--muted)}h1{margin:0;font-size:clamp(28px,4vw,40px);letter-spacing:-.4px}.subtitle{margin:0;color:var(--muted);line-height:1.6;font-size:15px}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:4px}.level{position:relative;border:1px solid var(--border);border-radius:14px;padding:14px 14px 13px;background:#0f121e61;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center;color:var(--text);text-align:center;min-height:72px}.level:hover{border-color:#ffffff29;transform:translateY(-1px);background:#0f121e75}.level.active{border-color:#ed5f39d9;background:#ed5f3929;box-shadow:0 0 0 1px #ed5f3959 inset,0 18px 48px #00000047;transform:translateY(-1px)}.level:focus-visible{outline:2px solid rgba(79,209,197,.6);outline-offset:2px}.level .level-inner{display:grid;gap:6px}.level .level-name{font-size:15px;letter-spacing:.2px;line-height:1.1}.level .level-meta{font-size:12px;letter-spacing:.2px;color:#c5c8d4e6}.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}.cta-row.center{justify-content:center}.title-hiscore{display:inline-flex;align-items:baseline;gap:8px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.title-hiscore .label{font-size:12px;color:#c5c8d4e6;letter-spacing:.3px}.title-hiscore .value{font-size:18px;letter-spacing:-.2px}.title-hiscore-float{position:fixed;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:3;display:inline-flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0f121e8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.title-hiscore-float .label{font-size:11px;color:#c5c8d4e6;letter-spacing:.3px}.title-hiscore-float .value{font-size:14px;letter-spacing:-.2px}.title-disclaimer{position:fixed;left:calc(env(safe-area-inset-left,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:3;max-width:min(680px,100vw - 32px);padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0f121e59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#c5c8d4f2;font-size:11px;line-height:1.35}@media(min-width:960px){.title-disclaimer{max-width:none;white-space:nowrap}}.playBtn{width:220px;height:72px;border:0;padding:0;background:transparent;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;transform:translateZ(0);isolation:isolate;border-radius:999px;line-height:1;border:1px solid transparent;background:linear-gradient(#0f121e9e,#0a0c16b3) padding-box,linear-gradient(90deg,#ff7800e6,#ffdc8cf2,#78dcffa6,#ff7800e6) border-box;box-shadow:0 18px 46px #00000057,0 0 0 1px #ffffff1f inset;overflow:hidden;clip-path:inset(0 round 999px);transition:transform .14s ease,box-shadow .14s ease}.playBtn:before{content:"";position:absolute;inset:-18px -34px;pointer-events:none;border-radius:999px;-webkit-mask-image:radial-gradient(closest-side,rgb(0,0,0) 62%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(closest-side,#000 62%,#0000);background:radial-gradient(circle at 22% 72%,#ff7800d9,#ff780000 58%),radial-gradient(circle at 78% 28%,#78dcff8c,#008cff00 56%),radial-gradient(circle at 50% 50%,#ffd27852,#ffd27800 64%),linear-gradient(90deg,#ff78002e,#ffd26e38,#78dcff29,#ff78002e);background-size:200% 200%;background-position:30% 60%;opacity:.7;filter:blur(16px) saturate(1.12);animation:playFlameDrift 1.5s ease-in-out infinite alternate,playGlowPulse 1.25s ease-in-out infinite alternate,playFlicker .12s steps(2) infinite;z-index:-1}.playBtn:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:999px;background:linear-gradient(115deg,#fff0,#ffffff3d,#fff0),radial-gradient(circle at 24% 38%,#ffffff1f,#fff0 60%);background-size:240% 100%,100% 100%;background-position:-60% 50%,0 0;mix-blend-mode:soft-light;opacity:.85;animation:playShimmer 2.1s ease-in-out infinite;z-index:1}.playBtn .playBtn__label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.12em;font-size:20px;padding:0 20px;color:#fffcf6f5;white-space:nowrap;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.35),0 12px 24px rgba(0,0,0,.35);filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}.playBtn .playBtn__spinner{position:absolute;z-index:2;width:22px;height:22px;border-radius:999px;border:2px solid rgba(0,0,0,.25);border-top-color:#000000a6;animation:spin .7s linear infinite}.playBtn .playBtn__label,.playBtn .playBtn__spinner{pointer-events:none}.playBtn .playBtn__label:after{content:none}.playBtn:hover:not(:disabled){transform:translateY(-1px) translateZ(0);box-shadow:0 22px 58px #00000061,0 0 0 1px #ffffff24 inset}.playBtn:hover:not(:disabled):after{opacity:.92}.playBtn:hover:not(:disabled):before{opacity:.92;filter:blur(14px) saturate(1.2)}.playBtn:hover:not(:disabled) .playBtn__label{text-shadow:0 1px 0 rgba(0,0,0,.35),0 12px 26px rgba(0,0,0,.38)}.playBtn:active:not(:disabled){transform:translateY(0) translateZ(0);box-shadow:0 18px 46px #00000057,0 0 0 1px #ffffff1f inset}.playBtn:focus-visible{outline:2px solid rgba(255,220,140,.85);outline-offset:4px}.playBtn:disabled,.playBtn[aria-busy=true]{cursor:not-allowed;opacity:.7}.playBtn:disabled:before,.playBtn:disabled:after,.playBtn[aria-busy=true]:before,.playBtn[aria-busy=true]:after{animation:none;opacity:.25}.playBtn:disabled .playBtn__label,.playBtn[aria-busy=true] .playBtn__label{opacity:.85}@keyframes playGlowPulse{0%{transform:scale(.995);opacity:.55}to{transform:scale(1.005);opacity:.9}}@keyframes playFlameDrift{0%{background-position:30% 60%;transform:translate(-1px) scale(.995)}to{background-position:70% 40%;transform:translate(1px) scale(1.01)}}@keyframes playShimmer{0%{background-position:-60% 50%,0 0;opacity:.65}to{background-position:160% 50%,0 0;opacity:.9}}@media(prefers-reduced-motion:reduce){.playBtn:before,.playBtn:after,.playBtn__spinner{animation:none}}@keyframes playFlicker{0%{transform:translate(-1px) scale(1);opacity:.28}50%{transform:translate(1px,-1px) scale(1.03);opacity:.4}to{transform:translateY(1px) scale(.99);opacity:.32}}.start-btn{position:relative;padding:12px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0f121e59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f5f6faf5;font-weight:800;font-size:15px;letter-spacing:.2px;cursor:pointer;box-shadow:0 16px 40px #00000052;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;min-width:140px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.start-btn:before{content:"";position:absolute;inset:-1px;border-radius:14px;background:linear-gradient(135deg,#4fd1c5cc,#ed5f39d9);opacity:0;filter:blur(10px);z-index:-1;transition:opacity .16s ease}.start-btn .btn-label{line-height:1}.start-btn .btn-icon{font-weight:900;transform:translate(0);transition:transform .14s ease,opacity .14s ease;opacity:.92}.start-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#ffffff2e;box-shadow:0 20px 50px #00000061}.start-btn:hover:not(:disabled):before{opacity:.55}.start-btn:hover:not(:disabled) .btn-icon{transform:translate(2px)}.start-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 14px 38px #00000052}.start-btn:active:not(:disabled) .btn-icon{transform:translate(0);opacity:.86}.start-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.start-btn:focus-visible{outline:2px solid rgba(79,209,197,.7);outline-offset:3px}.btn-spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(245,246,250,.35);border-top-color:#f5f6faf2;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hint{color:var(--muted);font-size:14px}.lang-toggle{display:inline-flex;gap:8px;background:#ffffff08;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.05);width:fit-content}.lang-btn{border:none;padding:7px 12px;border-radius:10px;background:transparent;color:var(--text);font-weight:700;letter-spacing:.2px;cursor:pointer;transition:all .12s ease;min-width:46px}.lang-btn.active{background:linear-gradient(135deg,#4fd1c5,#7ae2df);color:#0b0f1c;box-shadow:none}.lang-btn:hover:not(.active){background:#ffffff0d}.lang-btn:focus-visible{outline:2px solid rgba(79,209,197,.6);outline-offset:2px}.footer{margin-top:6px;font-size:12px;color:#c5c8d4cc}.alert{padding:12px 14px;border-radius:10px;font-size:14px;border:1px solid rgba(255,255,255,.12);background:#ff4d6d1f;color:#ffc8d2;margin-top:8px}.alert.error{border-color:#ff4d6d66}.panel{margin-top:10px;padding:14px;border-radius:12px;border:1px solid var(--border);background:#ffffff0a;display:grid;gap:6px;color:var(--text);font-size:14px}.panel-title{font-weight:700}.panel-row{color:var(--muted)}.select-view,.game-view{display:grid;gap:14px}.game-view{display:grid;gap:12px;min-height:100vh;position:relative;transition:opacity .36s ease,filter .36s ease;height:100dvh;overflow:hidden;overscroll-behavior:none}.game-view .alert{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:20;margin:0}.game-view.advancing{opacity:0;filter:blur(6px)}.view-fade-enter-active,.view-fade-leave-active{transition:opacity .36s ease}.view-fade-enter-from,.view-fade-leave-to{opacity:0}.game-stage{position:fixed;top:0;left:0;display:grid;grid-template-columns:1fr 1fr 1fr;width:150vw;transition:transform .42s cubic-bezier(.22,1,.36,1);transform:translateZ(0);will-change:transform;min-height:100dvh;height:100dvh;max-height:100dvh;border-radius:0;overflow:hidden;border:none;background:#0b0f1cf5}.game-view.slide-left .game-stage{transform:translate3d(-50vw,0,0)}.game-view.stage-reset .game-stage{transition:none;opacity:1}.side{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:flex-start;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 55%,#ffffff0f,#0b0f1cf5)}.side.next{justify-content:flex-end}.card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;backface-visibility:hidden;transform:translateZ(0)}.card-img.art-crop{object-fit:cover;filter:saturate(1.08) contrast(1.03)}.result-flash{position:absolute;inset:0;z-index:3;pointer-events:none;animation:flashFade .7s ease-out forwards;opacity:0}.result-flash.correct{background:#40c9a059}.result-flash.wrong,.result-flash.timeout{background:#ed5f3959}@keyframes flashFade{0%{opacity:0}20%{opacity:1}to{opacity:0}}.game-view.correct .game-desktop .vs-badge{animation:vsPulseDesktop .7s ease-out}.game-view.wrong .side.next,.game-view.timeout .side.next{animation:shake .48s ease-in-out}@keyframes vsPulseDesktop{0%{transform:translate(-50%,-50%) scale(1)}25%{transform:translate(-50%,-50%) scale(1.06)}55%{transform:translate(-50%,-50%) scale(.98)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes shake{0%{transform:translate(0)}16%{transform:translate(-10px)}33%{transform:translate(8px)}50%{transform:translate(-6px)}66%{transform:translate(4px)}83%{transform:translate(-2px)}to{transform:translate(0)}}.defeat-overlay{position:fixed;inset:0;z-index:40;pointer-events:auto;cursor:pointer;display:grid;place-items:center;overflow:hidden}.defeat-vignette{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 50%,#0000 24%,#06030ebd 68%,#020006f2),radial-gradient(128% 40% at 50% 50%,rgba(196,86,214,.4) 0%,rgba(124,70,214,.22) 36%,rgba(60,40,150,.08) 58%,transparent 72%);opacity:0;animation:defeatVeil .64s ease-out forwards}@keyframes defeatVeil{0%{opacity:0}to{opacity:1}}.defeat-mist{position:absolute;left:50%;top:50%;width:160vw;height:64vmin;pointer-events:none;filter:blur(30px);mix-blend-mode:screen;opacity:0;transform:translate(-50%,-50%)}.defeat-mist.one{background:radial-gradient(36% 60% at 28% 50%,rgba(168,90,224,.5),transparent 70%),radial-gradient(30% 56% at 60% 46%,rgba(214,96,204,.44),transparent 72%),radial-gradient(26% 52% at 82% 56%,rgba(122,82,232,.42),transparent 72%);animation:defeatMistIn .8s ease-out forwards,defeatDriftA 6s ease-in-out infinite}.defeat-mist.two{background:radial-gradient(34% 58% at 22% 52%,rgba(126,72,224,.4),transparent 72%),radial-gradient(28% 54% at 54% 48%,rgba(202,92,216,.36),transparent 74%),radial-gradient(30% 58% at 80% 44%,rgba(150,98,244,.36),transparent 72%);animation:defeatMistIn 1s ease-out forwards,defeatDriftB 8s ease-in-out infinite}@keyframes defeatMistIn{0%{opacity:0}to{opacity:1}}@keyframes defeatDriftA{0%{transform:translate(-55%,-50%) rotate(-5deg) scale(1.06)}33%{transform:translate(-44%,-54%) rotate(4deg) scale(1.18)}66%{transform:translate(-56%,-47%) rotate(-2deg) scale(1.1)}to{transform:translate(-55%,-50%) rotate(-5deg) scale(1.06)}}@keyframes defeatDriftB{0%{transform:translate(-45%,-50%) rotate(6deg) scale(1.16)}33%{transform:translate(-56%,-46%) rotate(-4deg) scale(1.02)}66%{transform:translate(-44%,-53%) rotate(3deg) scale(1.12)}to{transform:translate(-45%,-50%) rotate(6deg) scale(1.16)}}.defeat-shock{position:absolute;top:50%;left:50%;width:38vmin;height:38vmin;border-radius:50%;border:2px solid rgba(186,130,248,.5);transform:translate(-50%,-50%) scale(.2);opacity:0;animation:defeatShock .92s cubic-bezier(.16,.84,.3,1) .12s forwards}@keyframes defeatShock{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}18%{opacity:.85}to{transform:translate(-50%,-50%) scale(2.7);opacity:0}}.defeat-rule{position:absolute;left:50%;width:0;height:2px;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(167,110,235,.85) 22%,rgba(240,214,255,.95) 50%,rgba(204,96,214,.85) 78%,transparent);box-shadow:0 0 18px #b06ef099;opacity:0;animation:defeatRule .78s ease-out .24s forwards}.defeat-rule.top{top:calc(50% - 9vmin)}.defeat-rule.bottom{top:calc(50% + 9vmin)}@keyframes defeatRule{0%{width:0;opacity:0}40%{opacity:1}to{width:min(74vmin,580px);opacity:.9}}.defeat-word{position:relative;z-index:2;margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,Times New Roman,serif;font-weight:700;font-size:clamp(52px,13vmin,156px);line-height:1;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#f3ecff 52%,#d9c6f5);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:scale(1.35);filter:blur(12px);animation:defeatWord .92s cubic-bezier(.2,.9,.25,1) .18s forwards}@keyframes defeatWord{0%{opacity:0;transform:scale(1.35);filter:blur(12px);letter-spacing:.5em}55%{opacity:1}to{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 24px rgba(186,110,240,.6)) drop-shadow(0 0 60px rgba(150,70,220,.45)) drop-shadow(0 3px 6px rgba(0,0,0,.55));letter-spacing:.22em}}.defeat-fade-leave-active{transition:opacity .4s ease}.defeat-fade-leave-to{opacity:0}.correct-mark{position:fixed;inset:0;z-index:38;display:grid;place-items:center;pointer-events:none}.correct-mark-svg{width:clamp(120px,26vmin,264px);height:clamp(120px,26vmin,264px);filter:drop-shadow(0 0 26px rgba(79,209,197,.55));animation:correctPop .52s cubic-bezier(.2,.9,.25,1.2) both}@keyframes correctPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.correct-ring{fill:#0d201c57;stroke:#4fd1c5;stroke-width:6;stroke-dasharray:315;stroke-dashoffset:315;animation:correctRing .56s ease-out 60ms forwards}@keyframes correctRing{to{stroke-dashoffset:0}}.correct-check{fill:none;stroke:#eafff9;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:correctCheck .34s ease-out .32s forwards}@keyframes correctCheck{to{stroke-dashoffset:0}}.correct-pop-leave-active{transition:opacity .3s ease}.correct-pop-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.defeat-shock,.defeat-rule{display:none}.defeat-vignette{animation:none;opacity:1}.defeat-mist{animation:none;opacity:.85;transform:translate(-50%,-50%)}.defeat-word{animation:none;opacity:1;transform:none;filter:drop-shadow(0 0 22px rgba(186,110,240,.5));letter-spacing:.22em}.correct-mark-svg{animation:none}.correct-ring,.correct-check{animation:none;stroke-dashoffset:0}}.scrim{position:absolute;inset:0;background:linear-gradient(180deg,#00000040,#060a16c7)}.side.next .scrim,.side.incoming .scrim{background:linear-gradient(180deg,#0000001f,#060a168a)}.card-ui{position:absolute;inset:0;padding:0 24px;z-index:2;display:grid;gap:10px;place-content:center;justify-items:center;text-align:center;transition:opacity .24s ease,transform .24s ease}.card-header{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:4;display:flex;justify-content:center;pointer-events:none;transition:opacity .24s ease,transform .24s ease;padding:0 24px}.game-view.advancing .card-ui{opacity:0;transform:translateY(10px)}.game-view.advancing .card-header{opacity:0;transform:translateY(calc(-50% + 10px))}.card-info{display:grid;gap:10px;padding:14px 16px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#080a1452;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 44px #0003;width:80%;max-width:900px;text-align:left}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.vs-badge{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;border-radius:999px;background:#ffffffeb;color:#0b0f1c;font-weight:800;display:grid;place-items:center;box-shadow:0 12px 32px #00000047;z-index:3}.timer-text{font-weight:800;font-size:18px;color:#0b0f1c}.timer-ring{--timer-progress: 1;--timer-fill-top: hsl(120, 80%, 55%);position:absolute;inset:8px;border-radius:50%;overflow:hidden;z-index:1;background:#ffffff29;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.timer-fill{width:100%;transition:height .1s linear;height:calc(var(--timer-progress) * 100%);background:linear-gradient(180deg,var(--timer-fill-top) 0%,rgba(255,255,255,.1) 100%)}.card-name{font-size:16px;font-weight:700;color:#f5f6fafa;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-name.big{font-size:clamp(18px,2.6vw,28px)}.card-name.big.flavor{white-space:normal;text-overflow:initial;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(14px,2.1vw,20px);line-height:1.25;opacity:.95}.card-cmc{font-size:14px;color:#f5f6faf5;line-height:1.1;font-variant-numeric:tabular-nums}.card-cmc.big{font-size:clamp(18px,2.8vw,26px);font-weight:800}.card-cmc .cmc-extra{font-size:.75em;font-weight:800;color:#f5f6fae0;letter-spacing:.2px}.card-divider{width:100%;height:2px;background:#ffffff38}.stat-badge{position:absolute;z-index:6;display:inline-flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f5f6faf2;box-shadow:0 16px 44px #0000003d}.stat-badge .label{font-size:11px;letter-spacing:.3px;color:#c5c8d4f2}.stat-badge .value{font-size:14px;font-weight:900;letter-spacing:-.2px}.stat-badge.left{left:14px;bottom:14px}.stat-badge.right{right:14px;bottom:14px}.veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#0b0f1c80,#0b0f1cf2);z-index:2}.side.next .veil,.side.incoming .veil{background:radial-gradient(circle at 50% 50%,#0b0f1c42,#0b0f1cc7)}.controls-spacer{height:170px;margin-top:16px}.guess-row{display:grid;gap:12px;width:min(360px,86%);margin-top:16px;min-height:170px;align-content:start;z-index:4}@media(max-width:640px){.title-card.bare{width:100%;max-width:100%;height:100dvh;overflow:hidden;padding-top:calc(env(safe-area-inset-top,0px) + 12px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px);display:grid;align-items:center}.title-card.bare .title-logo{max-height:34vh}.title-disclaimer,.title-hiscore-float{bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.game-mobile{display:none}.game-desktop{display:block}.game-desktop .game-stage{width:100vw;grid-template-columns:1fr;grid-template-rows:50dvh 50dvh 50dvh;height:150dvh;min-height:150dvh;max-height:150dvh}.game-view.slide-left .game-desktop .game-stage{transform:translate3d(0,-50dvh,0)}.game-desktop .side{min-height:50dvh;align-items:center;justify-content:center}.game-desktop .card-header{padding:0 12px}.game-desktop .card-info{width:100%;max-width:none}.mobile-vs-row{position:fixed;inset:0;z-index:6;pointer-events:none}.mobile-vs-stat{position:fixed;left:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f5f6faf2;box-shadow:0 16px 44px #0000003d;max-width:calc(100vw - 24px)}.mobile-vs-stat .label{font-size:11px;letter-spacing:.3px;color:#c5c8d4f2;white-space:nowrap}.mobile-vs-stat .value{font-size:14px;font-weight:900;letter-spacing:-.2px;white-space:nowrap}.mobile-vs-stat.right,.mobile-vs-spacer{display:none}.mobile-hiscore{position:fixed;left:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:9;display:inline-flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f5f6faf2;box-shadow:0 16px 44px #0000003d;max-width:calc(100vw - 24px);pointer-events:none}.mobile-hiscore .label{font-size:11px;letter-spacing:.3px;color:#c5c8d4f2;white-space:nowrap}.mobile-hiscore .value{font-size:14px;font-weight:900;letter-spacing:-.2px;white-space:nowrap}.game-desktop .side.next .card-header,.game-desktop .side.incoming .card-header{top:50%;transform:translateY(-50%)}.game-desktop .side.next .card-info,.game-desktop .side.incoming .card-info{border-radius:16px}.game-desktop .side.next .card-ui{padding:0 12px calc(env(safe-area-inset-bottom,0px) + 64px);place-content:end center}.game-desktop .guess-row{width:100%;margin-top:0;min-height:auto;display:flex;gap:10px}.game-desktop .guess-btn{flex:1;min-width:0;padding:14px 10px;font-size:15px;border-radius:16px;white-space:nowrap}.stat-badge.left,.stat-badge.right{display:none}.vs-badge{z-index:7}.results-view{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}.results-actions{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);z-index:5;margin-top:0;padding:10px 0 0;background:linear-gradient(180deg,#0b0f1c00,#0b0f1ce0 55%,#0b0f1cfa)}.results-actions .action-btn{flex:1;min-width:0;padding:10px;font-size:13px;border-radius:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(min-width:641px){.game-mobile{display:none}}@media(min-width:900px){.side.next .guess-row{position:absolute;top:calc(50% + 170px);left:50%;transform:translate(-50%);width:min(560px,76%);display:flex;gap:12px;margin-top:0;min-height:auto;justify-content:center}.side.next .guess-btn{flex:1;min-width:0}}.guess-btn{width:100%;padding:14px;border:none;border-radius:14px;font-size:16px;font-weight:800;letter-spacing:.4px;color:#0b0f1c;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.guess-btn.higher{background:linear-gradient(135deg,#4fd1c5,#7ae2df);box-shadow:0 12px 30px #4fd1c559}.guess-btn.lower{background:linear-gradient(135deg,#f6b73c,#f98c62);box-shadow:0 12px 30px #f98c6259}.guess-btn.draw{background:linear-gradient(135deg,#9fa6b2,#cbd5e1);box-shadow:0 12px 30px #9fa6b259}.guess-btn:hover{transform:translateY(-1px)}.guess-btn:active{transform:translateY(0)}.guess-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.footer-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--muted)}.panel.inline{margin-top:0}.game-view.over .guess-btn{opacity:.5;pointer-events:none}.status-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status-bar .pill{background:#ffffff14}.status-bar .pill.accent{background:#ed5f392e;color:#ffd8c7;border:1px solid rgba(237,95,57,.5)}.status-bar .pill.ghost{cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted)}.results-view{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:24px 16px}.results-card{width:min(1180px,94vw);border-radius:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:18px 16px;display:grid;gap:16px}.results-header{display:grid;gap:6px;text-align:center}.results-score-only{display:flex;flex-direction:column;align-items:center}.results-score-only .results-level{display:block;font-size:clamp(26px,4vw,44px);font-weight:900;letter-spacing:-.5px;line-height:1.05;color:#f5f6fafa;text-shadow:0 12px 34px rgba(0,0,0,.5);margin-bottom:6px}.results-score-only strong{display:block;font-size:clamp(72px,9vw,120px);font-weight:900;letter-spacing:-1px;line-height:1;color:#f5f6fafa;text-shadow:0 18px 46px rgba(0,0,0,.55)}.coverflow{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:6px 0;touch-action:pan-y}.coverflow-stage{position:relative;height:320px;display:grid;place-items:center;perspective:900px;overflow:hidden}.coverflow-item{position:absolute;width:214px;height:300px;border:none;padding:0;background:transparent;cursor:pointer;border-radius:14px;box-shadow:0 18px 42px #00000073;transition:transform .22s ease,opacity .22s ease,filter .22s ease;opacity:.22;filter:saturate(.95) contrast(1.02)}.coverflow-item.active{opacity:1;filter:none}.coverflow-img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}.coverflow-fallback{width:100%;height:100%;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text);display:grid;place-items:center;padding:12px;text-align:center;font-weight:800}.coverflow-nav{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .12s ease,opacity .12s ease}.coverflow-nav:disabled{opacity:.35;cursor:not-allowed}@media(max-width:640px){.coverflow{grid-template-columns:1fr}}@media(hover:none)and (pointer:coarse){.coverflow{grid-template-columns:1fr}.coverflow-nav{display:none}}.pos-m3{transform:translate(-320px) rotateY(58deg) scale(.7)}.pos-m2{transform:translate(-220px) rotateY(52deg) scale(.78)}.pos-m1{transform:translate(-120px) rotateY(40deg) scale(.88)}.pos-0{transform:translate(0) rotateY(0) scale(1);z-index:6;opacity:1}.pos-p1{transform:translate(120px) rotateY(-40deg) scale(.88)}.pos-p2{transform:translate(220px) rotateY(-52deg) scale(.78)}.pos-p3{transform:translate(320px) rotateY(-58deg) scale(.7)}.results-current{text-align:center;display:grid;gap:6px}.results-cardname{font-weight:900;font-size:18px}.results-cmc{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.results-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.action-btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text);border-radius:12px;padding:12px 16px;font-weight:800;letter-spacing:.2px;cursor:pointer;min-width:140px;min-height:46px;transition:background .12s ease,border-color .12s ease,transform .12s ease}.action-btn.primary{border:none;background:linear-gradient(135deg,var(--accent),#f98c62);color:#0b0f1c}.action-btn:hover{background:#ffffff17}.action-btn.primary:hover{background:linear-gradient(135deg,#f06a45,#f9a07a)}.action-btn:active{transform:translateY(1px)}.hud{position:fixed;right:14px;bottom:14px;z-index:6;display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f5f6faf2;min-width:140px;text-align:right}.hud-row{font-size:12px;letter-spacing:.3px}.card-preview{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#04060ed1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out}.card-preview-img{max-width:min(92vw,460px);max-height:86vh;width:auto;height:auto;border-radius:18px;box-shadow:0 30px 80px #0009;animation:previewPop .24s cubic-bezier(.2,.9,.25,1.2) both;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.card-preview-fallback{max-width:min(82vw,360px);padding:28px 22px;border-radius:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);text-align:center;font-weight:800;font-size:18px;animation:previewPop .24s cubic-bezier(.2,.9,.25,1.2) both}@keyframes previewPop{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}.card-preview-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0006;color:var(--text);font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer}.preview-fade-enter-active,.preview-fade-leave-active{transition:opacity .2s ease}.preview-fade-enter-from,.preview-fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.card-preview-img,.card-preview-fallback{animation:none}}
