@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink: #0E0E12;--ink-soft: #17171D;--panel: rgba(24, 24, 30, .88);--panel-solid: #1B1B22;--cream: #FFFFFF;--cream-dim: #B4B4C0;--terracotta: #00B06F;--tomato: #FF4D5E;--gold: #FFC845;--basil: #00D68F;--neon: #FF5E8A;--sky: #4C8DFF;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .22);--font-display: "Manrope", system-ui, -apple-system, sans-serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 14px;--r-xl: 18px;--shadow: 0 20px 60px rgba(0, 0, 0, .55);--glow-warm: 0 0 40px rgba(245, 184, 65, .28);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--ink);color:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate;touch-action:none}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 42%,#0000 38%,#0000008c),linear-gradient(180deg,#080a0f8c,#080a0f00 22%,#080a0f00 62%,#080a0fbf)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.8rem 1.4rem;border-radius:999px;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#F0A63C 0%,var(--terracotta) 55%,#C2331D 100%);color:#20100a;font-weight:700;box-shadow:0 10px 30px #e2542c61,inset 0 1px #ffffff59}.btn-primary:hover{box-shadow:0 16px 42px #e2542c8c,inset 0 1px #fff6}.btn-ghost{border:1.5px solid var(--line-strong);color:var(--cream);background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{background:#ffffff1a;border-color:#f8eddd66}.btn-quiet{background:#ffffff0d;border:1px solid var(--line);color:var(--cream-dim);padding:.55rem .95rem;font-size:.82rem}.btn-quiet:hover{color:var(--cream);border-color:var(--line-strong)}.btn-sm{padding:.55rem 1rem;font-size:.82rem}.btn-lg{padding:1rem 2rem;font-size:1.05rem}.btn-wide{width:100%}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0f121aa6;border:1px solid var(--line);color:var(--cream-dim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s}.icon-btn:hover{color:var(--cream);background:#ffffff1a;transform:translateY(-2px)}.icon-btn.is-on{color:var(--gold);border-color:#f5b84173}.screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;padding:clamp(1rem,2.4vw,2rem);pointer-events:none}.screen>*{pointer-events:auto}.screen-menu{justify-content:space-between}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#f6c544,#e2542c 70%);box-shadow:0 8px 24px #e2542c73,inset 0 1px #ffffff80;color:#2a1109}.brand-word{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.16em;text-transform:uppercase}.brand-sub{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim)}.menu-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.top-actions{display:flex;gap:.5rem}.logo-block{max-width:680px;padding-bottom:clamp(.5rem,2vh,2rem)}.logo-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}.logo-eyebrow:before{content:"";width:26px;height:1px;background:var(--gold);opacity:.7}.logo-title{font-family:var(--font-display);font-size:clamp(3.2rem,10.5vw,7.5rem);line-height:.84;letter-spacing:-.045em;font-weight:800;text-transform:uppercase;color:var(--cream);text-shadow:0 10px 40px rgba(0,0,0,.6)}.logo-title em{display:block;font-style:normal;font-weight:800;background:linear-gradient(100deg,#f6c544,#ff8a3d 40%,#e2542c 75%,#c2331d);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px rgba(226,84,44,.45))}.logo-desc{margin-top:1rem;max-width:430px;color:var(--cream-dim);font-size:clamp(.9rem,1.4vw,1.02rem);line-height:1.6;font-weight:300}.logo-desc strong{color:var(--cream);font-weight:600}.picker{width:100%;max-width:1180px}.picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.picker-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim)}.picker-hint{font-size:.76rem;color:#f8eddd73}.char-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.5rem,1.2vw,1rem)}.char-card{position:relative;text-align:left;overflow:hidden;padding:1rem;border-radius:var(--r-md);background:linear-gradient(160deg,#1c202cd1,#0c0f16db);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);transition:transform .22s cubic-bezier(.2,.8,.3,1),border-color .22s,box-shadow .22s,background .22s;display:flex;gap:.9rem;align-items:center}.char-card:hover{transform:translateY(-4px);border-color:#f8eddd47;box-shadow:0 18px 40px #00000073}.char-card.is-active{border-color:#f5b841a6;background:linear-gradient(160deg,#482c1ad9,#141112e6);box-shadow:0 0 0 1px #f5b84140 inset,0 18px 44px #e2542c38}.char-card.is-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 0% 0%,rgba(245,184,65,.18),transparent 55%)}.char-avatar{position:relative;flex:0 0 auto;width:62px;height:62px;border-radius:16px;display:grid;place-items:center;color:#20120a;box-shadow:inset 0 1px #fff6,0 8px 20px #00000059}.char-avatar svg{width:30px;height:30px}.char-meta{min-width:0}.char-name{font-family:var(--font-display);font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.char-role{font-size:.75rem;color:var(--cream-dim);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-tags{display:flex;gap:.3rem;margin-top:.45rem;flex-wrap:wrap}.char-tag{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:.18rem .45rem;border-radius:999px;background:#ffffff12;color:#f8edddb3}.char-check{position:absolute;top:.55rem;right:.55rem;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#241305;opacity:0;transform:scale(.6);transition:all .2s ease}.char-card.is-active .char-check{opacity:1;transform:scale(1)}.menu-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}.menu-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.menu-note{font-size:.74rem;color:#f8eddd6b;display:flex;align-items:center;gap:.4rem}.best-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .95rem;border-radius:999px;background:#0f121a99;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.8rem;color:var(--cream-dim)}.best-pill b{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums}.streak-note{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:clamp(1.6rem,5vw,3rem);font-weight:800;color:var(--gold);text-shadow:0 6px 30px rgba(0,0,0,.6);pointer-events:none;z-index:8;animation:popOut .9s ease forwards}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(.75rem,2vw,1.5rem);padding-top:max(clamp(.75rem,2vw,1.5rem),env(safe-area-inset-top))}.hud-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.hud-left{display:flex;flex-direction:column;gap:.5rem}.hud-right{display:flex;align-items:center;gap:.5rem;pointer-events:auto}.hud-score{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 4px 20px rgba(0,0,0,.55)}.hud-score small{font-size:.8rem;letter-spacing:.2em;color:var(--cream-dim);font-weight:600;display:block;margin-bottom:.2rem}.hud-metrics{display:flex;gap:.45rem;flex-wrap:wrap}.metric{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;background:#0a0c128c;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cream)}.metric svg{color:var(--gold)}.metric.is-pizza svg{color:#ffb444}.hearts{display:flex;gap:.28rem;align-items:center}.heart{color:var(--tomato);filter:drop-shadow(0 2px 8px rgba(220,38,38,.5));transition:transform .2s,opacity .2s}.heart.is-lost{color:#ffffff2e;filter:none;transform:scale(.85)}.multiplier{font-family:var(--font-display);font-weight:800;font-size:.95rem;padding:.2rem .5rem;border-radius:8px;background:linear-gradient(135deg,#f6c544,#e2542c);color:#25120a;box-shadow:0 4px 14px #e2542c66}.powerups{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.power-pill{display:flex;align-items:center;gap:.5rem;padding:.35rem .65rem .35rem .4rem;border-radius:999px;background:#0a0c129e;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.74rem;font-weight:600;letter-spacing:.02em;width:fit-content;animation:slideIn .3s ease}.power-pill .dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#14100a}.power-pill.boost .dot{background:linear-gradient(140deg,#8fb4ff,#4b6bf5);color:#fff;box-shadow:0 0 16px #6e8bff99}.power-pill.magnet .dot{background:linear-gradient(140deg,#ffe08a,#f5b841);color:#3a2508;box-shadow:0 0 16px #f5b84180}.power-bar{width:46px;height:4px;border-radius:999px;background:#ffffff26;overflow:hidden}.power-bar i{display:block;height:100%;border-radius:inherit;background:var(--cream);transition:width .12s linear}.power-pill.boost .power-bar i{background:#9db8ff}.power-pill.magnet .power-bar i{background:var(--gold)}.hint{position:absolute;left:50%;bottom:12%;transform:translate(-50%);z-index:7;pointer-events:none;padding:.55rem 1rem;border-radius:999px;background:#0a0c12a8;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.78rem;color:var(--cream-dim);display:flex;align-items:center;gap:.5rem;white-space:nowrap;animation:fadeUp .4s ease}.hint kbd{font-family:var(--font-body);font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:5px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);color:var(--cream)}.pause-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;place-items:center;background:#06080c8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease;padding:1rem}.panel{position:relative;width:min(440px,100%);padding:1.8rem;background:linear-gradient(165deg,#1a1e2af5,#0c0f16fa);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:panelIn .3s cubic-bezier(.2,.9,.3,1)}.panel-kicker{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.panel h2{font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1.05}.panel p{color:var(--cream-dim);font-size:.9rem;line-height:1.6;margin-top:.5rem}.panel-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.4rem}.panel-row{display:flex;gap:.6rem}.panel-row .btn{flex:1}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:grid;place-items:center;padding:1rem;background:#05070bad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .2s ease}.modal-card{width:min(470px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.6rem;border-radius:var(--r-lg);background:linear-gradient(170deg,#1a1f2b,#0c0f16 70%);border:1px solid var(--line-strong);box-shadow:var(--shadow);animation:panelIn .32s cubic-bezier(.2,.9,.3,1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-head h3{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.modal-head p{color:var(--cream-dim);font-size:.85rem;margin-top:.35rem;line-height:1.5}.modal-close{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;border:1px solid var(--line);color:var(--cream-dim);transition:all .18s}.modal-close:hover{background:#ffffff24;color:var(--cream);transform:rotate(90deg)}.qr-wrap{margin:1.2rem 0 .9rem;padding:1rem;border-radius:var(--r-md);background:radial-gradient(circle at 50% 0%,rgba(245,184,65,.14),transparent 70%),#ffffff0a;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.75rem}.qr-frame{padding:.7rem;border-radius:18px;background:#fbf3e6;box-shadow:0 14px 34px #00000080,0 0 0 1px #ffffff24;position:relative;line-height:0}.qr-frame canvas,.qr-frame img{display:block;width:188px;height:188px;border-radius:8px}.qr-frame:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:24px;pointer-events:none;border:1px dashed rgba(248,237,221,.22)}.qr-caption{font-size:.76rem;color:var(--cream-dim);text-align:center;display:flex;align-items:center;gap:.35rem}.qr-caption svg{color:var(--gold)}.link-box{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .45rem .45rem .8rem;border-radius:999px;background:#00000059;border:1px solid var(--line)}.link-box span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;color:var(--cream-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem}.over-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:1rem;background:radial-gradient(ellipse at 50% 45%,#1e08068c,#05070bd9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .35s ease}.over-card{width:min(480px,100%);padding:clamp(1.3rem,4vw,2rem);border-radius:var(--r-lg);border:1px solid var(--line-strong);background:linear-gradient(170deg,#261a18f5,#0c0c10fa);box-shadow:var(--shadow);text-align:center;animation:panelIn .4s cubic-bezier(.2,.9,.3,1)}.over-kicker{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--terracotta)}.over-card h2{font-family:var(--font-display);font-size:clamp(2rem,7vw,2.9rem);font-weight:800;letter-spacing:-.035em;margin-top:.3rem;line-height:1}.over-score{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,10vw,3.6rem);letter-spacing:-.04em;line-height:1;margin:.9rem 0 .2rem;background:linear-gradient(100deg,#ffe7a8,#f5b841 45%,#e2542c);-webkit-background-clip:text;background-clip:text;color:transparent}.over-score-label{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim)}.over-newbest{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;padding:.25rem .7rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#3fd08a24;color:var(--basil);border:1px solid rgba(63,208,138,.3)}.over-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.2rem 0 1.3rem}.over-stat{padding:.7rem .4rem;border-radius:var(--r-sm);background:#ffffff0d;border:1px solid var(--line)}.over-stat b{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.over-stat span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim)}.over-actions{display:flex;flex-direction:column;gap:.55rem}.howto-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}.howto-item{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--line)}.howto-item svg{flex:0 0 auto;color:var(--gold);margin-top:1px}.howto-item b{display:block;font-size:.82rem;font-weight:600}.howto-item span{font-size:.74rem;color:var(--cream-dim);line-height:1.45}.legend{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.legend-row{display:flex;align-items:center;gap:.7rem;font-size:.8rem;color:var(--cream-dim)}.legend-swatch{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;color:#1a1008}.legend-row b{color:var(--cream);font-weight:600}.toast-wrap{position:absolute;z-index:20;left:50%;bottom:1.4rem;transform:translate(-50%);display:flex;flex-direction:column;gap:.4rem;align-items:center;pointer-events:none}.toast{padding:.6rem 1rem;border-radius:999px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.45rem;background:#12161ff0;border:1px solid var(--line-strong);box-shadow:var(--shadow);animation:toastIn .3s cubic-bezier(.2,.9,.3,1);white-space:nowrap}.toast svg{color:var(--basil)}.toast.error svg{color:var(--tomato)}.loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#241a20,#080a0e 70%);transition:opacity .45s ease,visibility .45s}.loader.is-done{opacity:0;visibility:hidden}.loader-inner{display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-disc{width:64px;height:64px;border-radius:50%;background:conic-gradient(from 0deg,#f6c544,#e2542c,#c2331d,#f6c544);box-shadow:0 0 40px #e2542c80;animation:spin 1.4s linear infinite;position:relative}.loader-disc:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:#0f1118;box-shadow:inset 0 0 0 1px #ffffff14}.loader-inner p{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes panelIn{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}70%{opacity:1;transform:translate(-50%,-56%) scale(1)}to{opacity:0;transform:translate(-50%,-72%) scale(1)}}@keyframes pulseRing{0%{box-shadow:0 0 #f5b8418c}to{box-shadow:0 0 0 16px #f5b84100}}@media (max-width: 900px){.char-card{flex-direction:column;align-items:flex-start;gap:.6rem;padding:.8rem}.char-avatar{width:48px;height:48px;border-radius:13px}.char-avatar svg{width:24px;height:24px}.char-role{display:none}.logo-desc{max-width:340px;font-size:.86rem}}@media (max-width: 640px){.screen{padding:.85rem;padding-top:max(.85rem,env(safe-area-inset-top));padding-bottom:max(.85rem,env(safe-area-inset-bottom))}.brand-word{font-size:.82rem}.brand-sub{display:none}.brand-mark{width:38px;height:38px;border-radius:12px}.logo-title{font-size:clamp(2.9rem,16vw,4.4rem)}.logo-desc{max-width:100%}.menu-foot{align-items:stretch}.menu-actions{width:100%}.menu-actions .btn-primary{flex:1}.menu-note{display:none}.best-pill{padding:.45rem .75rem;font-size:.74rem}.picker-hint{display:none}.char-name{font-size:.92rem}.char-tags{margin-top:.3rem}.hud-score{font-size:2rem}.metric{font-size:.74rem;padding:.25rem .5rem}.howto-grid{grid-template-columns:1fr}.qr-frame canvas,.qr-frame img{width:160px;height:160px}.over-stats{gap:.35rem}.panel,.modal-card{padding:1.25rem}}@media (max-height: 620px) and (orientation: landscape){.logo-title{font-size:clamp(2.2rem,8vh,3.4rem)}.logo-desc{display:none}.menu-foot{margin-top:.4rem}.char-avatar{width:42px;height:42px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.brand-mark{overflow:hidden;background:radial-gradient(circle at 30% 25%,#2a1a12,#120d0b 70%);box-shadow:0 8px 24px #e2542c61,inset 0 0 0 1px #f5b84159}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.logo-emblem{position:relative;width:clamp(88px,11vw,126px);aspect-ratio:1;margin-bottom:.9rem;border-radius:24px;overflow:hidden;border:1px solid rgba(245,184,65,.4);box-shadow:0 18px 46px #0000008c,inset 0 0 0 1px #ffffff0f;animation:emblemIn .7s cubic-bezier(.2,.8,.3,1) backwards}.logo-emblem img{width:100%;height:100%;object-fit:cover;display:block}.logo-emblem-glow{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;pointer-events:none;background:radial-gradient(circle at 50% 60%,rgba(226,84,44,.42),transparent 62%);mix-blend-mode:screen;animation:emblemPulse 4.5s ease-in-out infinite}@keyframes emblemIn{0%{opacity:0;transform:translateY(-10px) scale(.94)}to{opacity:1;transform:none}}@keyframes emblemPulse{0%,to{opacity:.45}50%{opacity:.9}}.loader-emblem{position:relative;width:96px;height:96px;display:grid;place-items:center}.loader-emblem img{width:78px;height:78px;border-radius:50%;display:block;box-shadow:0 0 38px #e2542c8c,0 0 0 1px #f5b84159;animation:emblemPulse 2.6s ease-in-out infinite}.loader-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--gold);border-right-color:#e2542c99;animation:spin 1.3s linear infinite}.card-emblem{width:54px;height:54px;border-radius:50%;display:block;margin:0 auto .7rem;border:1px solid rgba(245,184,65,.35);box-shadow:0 10px 26px #00000073}.panel-emblem{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;opacity:.9;border:1px solid rgba(245,184,65,.28)}.modal-emblem{width:44px;height:44px;border-radius:50%;flex:0 0 auto;border:1px solid rgba(245,184,65,.3);box-shadow:0 8px 20px #0006}.modal-head{align-items:flex-start}@media (max-width: 720px){.logo-emblem{width:72px;border-radius:18px;margin-bottom:.65rem}.logo-emblem img{border-radius:18px}.panel-emblem{width:36px;height:36px}}@media (max-height: 700px){.logo-emblem{display:none}}.char-badge{margin-left:.4rem;font-style:normal;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.12rem .35rem;border-radius:999px;background:#f5b84133;color:var(--gold);border:1px solid rgba(245,184,65,.4);vertical-align:middle}.char-ability{display:inline-flex;align-items:center;gap:.28rem;margin-top:.45rem;font-size:.63rem;font-weight:600;letter-spacing:.02em;padding:.2rem .5rem;border-radius:999px;background:#6e8bff24;color:#a9bcff;border:1px solid rgba(110,139,255,.26)}.char-ability.passive{background:#f5b84121;color:#f3c877;border-color:#f5b84147}.char-ability.passive svg{color:var(--gold)}.char-ability.active{background:#3fd08a1f;color:#8fe3b6;border-color:#3fd08a42}.char-card.is-locked{border-style:dashed;border-color:#f8eddd2e}.char-card.is-locked .char-avatar{filter:grayscale(.65) brightness(.62)}.char-card.is-locked .char-meta{opacity:.78}.char-price{position:absolute;top:.55rem;right:.55rem;display:inline-flex;align-items:center;gap:.22rem;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.22rem .48rem;border-radius:999px;background:linear-gradient(135deg,#f0a63c,#e2542c);color:#22100a;box-shadow:0 6px 16px #e2542c66}.map-picker{margin-top:1rem}.map-picker .picker-label{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.map-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.35rem,.9vw,.7rem)}.map-pill{display:flex;align-items:center;gap:.5rem;text-align:left;padding:.5rem .65rem;border-radius:14px;background:#ffffff09;border:1px solid var(--line);transition:transform .18s ease,border-color .18s,background .18s,box-shadow .18s}.map-pill:hover{transform:translateY(-2px);border-color:var(--line-strong);background:#ffffff12}.map-pill.is-active{border-color:color-mix(in srgb,var(--map-accent) 65%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--map-accent) 18%,transparent),#ffffff0a);box-shadow:0 0 0 1px color-mix(in srgb,var(--map-accent) 28%,transparent) inset}.map-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--map-accent);box-shadow:0 0 10px var(--map-accent)}.map-meta{min-width:0;display:flex;flex-direction:column}.map-meta b{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-meta small{font-size:.62rem;color:#f8eddd80;letter-spacing:.04em}.map-blurb{display:flex;align-items:center;gap:.3rem;margin-top:.5rem;font-size:.72rem;color:#f8eddd80;line-height:1.4}.map-blurb svg{color:var(--gold);flex:0 0 auto}.store-card{width:min(430px,100%)}.store-kicker{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.store-hero{position:relative;margin:1.1rem 0 .9rem;height:116px;border-radius:var(--r-md);display:grid;place-items:center;color:#20120a;overflow:hidden;box-shadow:inset 0 1px #fff6,0 16px 34px #0006}.store-hero svg{position:relative;z-index:2}.store-hero-ring{position:absolute;width:210px;height:210px;border-radius:50%;border:1px dashed rgba(32,18,10,.35);animation:spinSlow 18s linear infinite}@keyframes spinSlow{to{transform:rotate(360deg)}}.store-ability{display:flex;gap:.7rem;padding:.8rem;border-radius:var(--r-md);background:#ffffff0b;border:1px solid var(--line)}.store-ability-icon{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#ffffff12}.store-ability b{font-family:var(--font-display);font-size:.95rem}.store-ability em{display:block;font-style:normal;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#f8eddd80;margin-top:.15rem}.store-ability p{font-size:.78rem;color:var(--cream-dim);line-height:1.45;margin-top:.35rem}.store-list{list-style:none;margin:.9rem 0;display:grid;gap:.4rem}.store-list li{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--cream-dim)}.store-list svg{color:var(--basil);flex:0 0 auto}.store-price{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;margin-bottom:.7rem;border-radius:var(--r-md);background:linear-gradient(120deg,#f5b84124,#e2542c1a);border:1px solid rgba(245,184,65,.28)}.store-price strong{font-family:var(--font-display);font-size:1.55rem;color:var(--gold);letter-spacing:-.02em}.store-price span{display:block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#f8eddd8c}.store-price svg{color:var(--basil)}.store-note,.store-lock-note{display:flex;align-items:flex-start;gap:.4rem;margin-top:.7rem;font-size:.7rem;line-height:1.5;color:#f8eddd80}.store-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--gold)}.store-note svg{flex:0 0 auto;margin-top:.1rem;color:var(--sky)}.store-lock-note{justify-content:center;color:#f8eddd66}.power-pill.passive{background:#f5b8411f;border-color:#f5b8414d;color:var(--gold)}.ability-fab{position:absolute;right:max(clamp(.75rem,2vw,1.5rem),env(safe-area-inset-right));bottom:max(clamp(.9rem,2.4vw,1.8rem),env(safe-area-inset-bottom));pointer-events:auto;display:flex;align-items:center;gap:.6rem;padding:.55rem .95rem .55rem .55rem;border-radius:999px;background:#0c1018b8;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 30px #00000073;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s,border-color .18s;overflow:hidden}.ability-fab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:conic-gradient(var(--ability-tint) var(--ability-pct),transparent var(--ability-pct));opacity:.18;pointer-events:none}.ability-fab.is-ready{border-color:color-mix(in srgb,var(--ability-tint) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ability-tint) 30%,transparent) inset,0 14px 34px #00000080}.ability-fab.is-ready:hover{transform:translateY(-2px) scale(1.02)}.ability-fab:active{transform:scale(.98)}.ability-fab:disabled{cursor:progress;opacity:.82}.ability-fab.is-active{animation:abilityPulse 1s ease-in-out infinite}@keyframes abilityPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ability-tint) 45%,transparent)}50%{box-shadow:0 0 0 10px #0000}}.ability-fab-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ability-tint) 22%,rgba(255,255,255,.06));color:var(--ability-tint);border:1px solid color-mix(in srgb,var(--ability-tint) 40%,transparent)}.ability-fab-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.ability-fab-text b{font-size:.78rem;font-weight:600}.ability-fab-text small{font-size:.62rem;color:#f8eddd8c;letter-spacing:.08em;text-transform:uppercase}.ability-fab kbd{font-family:var(--font-body);font-size:.6rem;font-weight:700;padding:.12rem .32rem;border-radius:5px;color:var(--cream-dim);background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}@media (max-width: 760px){.map-row{grid-template-columns:repeat(2,minmax(0,1fr))}.map-blurb{display:none}.screen-menu{overflow-y:auto}.char-price{top:.45rem;right:.45rem;font-size:.6rem;padding:.18rem .4rem}.char-ability{font-size:.58rem;padding:.16rem .42rem}.ability-fab{padding:.45rem .7rem .45rem .45rem;gap:.4rem}.ability-fab-text,.ability-fab kbd{display:none}}@media (max-height: 880px) and (min-width: 761px){.logo-block{padding-bottom:.2rem}.logo-title{font-size:clamp(2.4rem,4.6vw,3.4rem)}.logo-desc{font-size:.88rem;margin-top:.4rem}.map-picker{margin-top:.75rem}.ability-fab-icon{width:34px;height:34px}}.howto-abilities{display:grid;gap:.4rem;margin-top:.9rem}.howto-runner{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:12px;background:#ffffff0a;border:1px solid var(--line)}.howto-runner-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#20120a}.howto-runner div{flex:1;min-width:0}.howto-runner b{font-size:.78rem;display:block}.howto-runner b em{font-style:normal;color:var(--cream-dim);font-weight:500;font-size:.68rem}.howto-runner span{font-size:.7rem;color:#f8eddd8c}.howto-lock{color:#f8eddd66}.howto-free{color:var(--gold)}.engine-warning{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;display:flex;flex-direction:column;gap:.3rem;text-align:center;max-width:320px;padding:1rem 1.2rem;border-radius:var(--r-md);background:#0f121ad1;border:1px solid var(--line-strong);color:var(--cream-dim);font-size:.76rem;line-height:1.5;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.engine-warning b{font-family:var(--font-display);color:var(--gold);font-size:.92rem}body.qa-rig .screen,body.qa-rig .vignette,body.qa-rig .loader{display:none!important}body{font-weight:500;letter-spacing:-.005em}.btn{border-radius:10px;font-weight:800;letter-spacing:-.01em;text-transform:none;padding:.85rem 1.35rem}.btn-sm{padding:.55rem .9rem}.btn-lg{padding:1rem 1.9rem;font-size:1.02rem}.btn-primary{background:#00b06f;color:#fff;box-shadow:inset 0 -3px #00000047,0 6px 18px #00b06f59}.btn-primary:hover{background:#00c67d;box-shadow:inset 0 -3px #0000004d,0 10px 26px #00b06f73}.btn-ghost{background:#22222a;border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 -3px #00000038}.btn-ghost:hover{background:#2c2c36;border-color:#ffffff42}.icon-btn{width:40px;height:40px;border-radius:10px;background:#1c1c23;border:1px solid rgba(255,255,255,.1);color:#d8d8e0}.icon-btn:hover{background:#2a2a34;color:#fff}.icon-btn.is-on{color:var(--gold);border-color:#ffc84580}.brand-mark{width:42px;height:42px;border-radius:11px;background:#ffc845;box-shadow:inset 0 -3px #0003,0 6px 16px #00000059;overflow:hidden}.brand-word{letter-spacing:.12em;font-weight:800}.brand-sub{letter-spacing:.18em;font-weight:700}.picker-label{font-weight:800;letter-spacing:.16em;color:#c9c9d4}.picker-hint{color:#ffffff6b}.char-card{border-radius:12px;padding:.95rem;background:#1b1b22;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px #00000059;-webkit-backdrop-filter:none;backdrop-filter:none}.char-card:hover{border-color:#fff3;background:#20202a;box-shadow:0 6px #0000004d;transform:translateY(-3px)}.char-card.is-active{border-color:#00b06f;background:#1e2a25;box-shadow:inset 0 0 0 2px #00b06f59,0 6px #0000004d}.char-card.is-active:after{background:radial-gradient(120% 90% at 0% 0%,rgba(0,176,111,.18),transparent 60%)}.char-avatar{width:58px;height:58px;border-radius:10px;box-shadow:inset 0 -4px #0000002e,inset 0 1px #ffffff73}.char-name{font-weight:800;letter-spacing:-.015em}.char-role{font-weight:600;color:#a8a8b6}.char-check{border-radius:6px;background:#00b06f;color:#fff}.char-price{border-radius:6px;background:#26262f;color:#ffc845;border:1px solid rgba(255,200,69,.3);font-weight:800}.map-pill{border-radius:10px;background:#1b1b22;border:1px solid rgba(255,255,255,.09)}.map-pill.is-active{border-color:var(--map-accent, #00B06F);background:#20202a}.best-pill,.metric,.power-pill,.hint{border-radius:8px;background:#14141acc;border:1px solid rgba(255,255,255,.1)}.best-pill b{color:#ffc845;font-weight:800}.logo-eyebrow{font-weight:800;letter-spacing:.2em;color:#00d68f}.logo-eyebrow:before{background:#00d68f}.logo-title em{background:linear-gradient(100deg,#7cffc4,#00d68f 45%,#00a863);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px rgba(0,214,143,.35))}.logo-desc{font-weight:500;color:#b4b4c0}.logo-desc strong{color:#fff;font-weight:800}.menu-note{font-weight:600;color:#ffffff73}.modal-backdrop{background:#060609b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card,.over-card,.pause-panel,.panel{border-radius:14px;background:#17171d;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff0a}.modal-close,.panel-close{border-radius:8px;background:#26262f;border:1px solid rgba(255,255,255,.1)}.modal-close:hover{background:#33333f}.modal-head h3,.panel-head h3{font-weight:800;letter-spacing:-.02em}.store-card{border-radius:14px}.store-kicker{font-weight:800;letter-spacing:.16em;color:#00d68f}.store-hero{border-radius:12px}.store-list li{font-weight:600}.store-list svg{color:#00d68f}.store-price{border-radius:10px;background:#1f1f27;border:1px solid rgba(255,255,255,.09)}.store-price strong{font-weight:800;color:#fff}.store-ability{border-radius:10px;background:#1f1f27;border:1px solid rgba(255,255,255,.08)}.over-kicker,.panel-kicker{font-weight:800;letter-spacing:.18em;color:#00d68f}.over-score{font-weight:800}.multiplier{border-radius:6px;background:#ffc845;color:#1a1206;box-shadow:none;font-weight:800}.hud-score{font-weight:800}.toast{border-radius:10px;background:#1e1e26;border:1px solid rgba(255,255,255,.12);font-weight:700}.char-price{display:inline-flex;align-items:center;gap:.25rem;padding:.16rem .42rem}
