:root{--bg: #05060d;--panel: rgba(10, 14, 28, .72);--panel-border: rgba(120, 150, 255, .18);--text: #eaf0ff;--text-dim: #aab4d4;--t-cyan: #2fd2e6;--t-yellow: #f4c84a;--t-purple: #9b5cf0;--t-green: #54d36a;--t-red: #ec4a52;--t-blue: #3a7bf0;--t-orange: #f0902f;--gold-a: #ffb53d;--gold-b: #f08a1d;--blue-a: #3f8bff;--blue-b: #2b5fd0;--purple-a: #9a5bf2;--purple-b: #6f33c9;--gray-a: #5a6886;--gray-b: #3a4560;--font-display: "Russo One", system-ui, sans-serif;--font-ui: "Montserrat", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden}#app{height:100vh}.menu{position:relative;height:100vh;display:grid;grid-template-columns:minmax(160px,1fr) minmax(360px,560px) minmax(160px,1fr);align-items:center;justify-items:center;gap:clamp(8px,2vw,40px);padding:clamp(12px,3vh,36px) clamp(12px,3vw,48px);overflow:hidden}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(120% 90% at 50% -10%,#131a36,#070a16 55%,#04050b)}.glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}.glow--blue{width:46vw;height:46vw;left:-12vw;top:8vh;background:radial-gradient(circle,#2a6cff 0%,transparent 65%)}.glow--purple{width:40vw;height:40vw;left:22vw;top:-6vh;background:radial-gradient(circle,#7a2ff0 0%,transparent 65%);opacity:.45}.glow--pink{width:38vw;height:38vw;right:6vw;top:18vh;background:radial-gradient(circle,#ff2f8f 0%,transparent 65%);opacity:.4}.glow--orange{width:44vw;height:44vw;right:-14vw;top:2vh;background:radial-gradient(circle,#ff7b1f 0%,transparent 65%);opacity:.5}.stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent),radial-gradient(1px 1px at 70% 60%,#cfe0ff 50%,transparent),radial-gradient(1px 1px at 40% 80%,#fff 50%,transparent),radial-gradient(1px 1px at 85% 25%,#ffd9b0 50%,transparent),radial-gradient(1px 1px at 10% 70%,#fff 50%,transparent),radial-gradient(1px 1px at 55% 15%,#d8e6ff 50%,transparent);opacity:.5}.board{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:240px}.board__label{font-family:var(--font-display);font-size:clamp(13px,1.4vw,18px);letter-spacing:1px;color:#cdd8ff;text-shadow:0 0 12px rgba(90,140,255,.7);align-self:flex-start}.board--right .board__label{align-self:flex-end}.board__grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:3px;width:100%;padding:8px;border-radius:10px;background:#040610a8;border:1px solid rgba(120,150,255,.22);box-shadow:inset 0 0 30px #0009,0 0 26px #3c6eff40;aspect-ratio:var(--cols) / 12}.cell{aspect-ratio:1;border-radius:3px}.cell--empty{background:#7896ff0d;box-shadow:inset 0 0 0 1px #7896ff0f}.cell--c{background:var(--t-cyan)}.cell--y{background:var(--t-yellow)}.cell--p{background:var(--t-purple)}.cell--g{background:var(--t-green)}.cell--r{background:var(--t-red)}.cell--b{background:var(--t-blue)}.cell--o{background:var(--t-orange)}.cell:not(.cell--empty){box-shadow:inset 0 2px 2px #ffffff73,inset 0 -3px 4px #00000059,0 0 8px #ffffff1f}.board__stage{position:relative;width:100%}.board__blind{position:absolute;left:0;right:0;top:0;height:52%;border-radius:10px 10px 0 0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(90,130,255,.1) 0 2px,transparent 2px 8px),#03040aed;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);animation:menu-blind-glitch 2.2s linear infinite}@keyframes menu-blind-glitch{0%{background-position:0 0,0 0}to{background-position:0 -16px,0 0}}.board__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:3px;padding:8px;pointer-events:none}.board__overlay .cell{background:transparent;box-shadow:none}.board__overlay .cell--s{background:#3b3f4a;box-shadow:inset 0 2px 2px #ffffff29,inset 0 -3px 4px #00000073,0 0 12px #0000008c}.callout{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:clamp(12px,1.3vw,16px);line-height:1.15;text-transform:uppercase}.callout__icon{font-size:clamp(26px,3vw,40px);display:grid;place-items:center}.callout__text{display:flex;flex-direction:column}.callout--left{color:#d7def2;text-shadow:0 0 14px rgba(120,160,255,.6)}.callout--left .callout__icon{color:#e9eefc}.callout--right{flex-direction:row-reverse;text-align:right;color:#ffd2a6;text-shadow:0 0 16px rgba(255,120,40,.7)}.callout--right .callout__icon{color:#ff8a3d}.center{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2.4vh,26px)}.logo{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;padding-top:18px}.logo__bomb{position:absolute;top:-14px;left:50%;transform:translate(-58%) rotate(-8deg);font-size:clamp(34px,4.5vw,56px);filter:drop-shadow(0 0 10px rgba(255,180,60,.7))}.logo__warn{position:absolute;top:-6px;right:-.6em;font-family:var(--font-display);font-size:clamp(26px,3.4vw,44px);color:#fff;background:linear-gradient(180deg,#ff5a4d,#c11f1f);width:1.4em;height:1.4em;display:grid;place-items:center;clip-path:polygon(50% 0,100% 100%,0 100%);text-shadow:0 1px 2px rgba(0,0,0,.5);filter:drop-shadow(0 0 12px rgba(255,70,60,.8))}.logo__word{margin:0;font-family:var(--font-display);font-size:clamp(40px,7vw,92px);letter-spacing:1px;line-height:.9;text-transform:uppercase}.logo__sabo{color:#ff3b30;background:linear-gradient(180deg,#ff6a5e,#ff2a20 45%,#b3120f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #5e0907) drop-shadow(0 0 18px rgba(255,60,48,.6))}.logo__tetris{background:linear-gradient(180deg,#fff,#cfd6ea 45%,#8a93b4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #2a3046) drop-shadow(0 0 16px rgba(150,180,255,.45))}.tagline{margin:0;display:flex;gap:.5em;font-family:var(--font-display);font-size:clamp(13px,1.7vw,22px);letter-spacing:2px;text-transform:uppercase}.tagline--a{color:#46a0ff;text-shadow:0 0 12px rgba(70,160,255,.7)}.tagline--b{color:#eef3ff;text-shadow:0 0 12px rgba(200,220,255,.6)}.tagline--c{color:#ff4d6a;text-shadow:0 0 12px rgba(255,77,106,.7)}.actions{width:min(100%,440px);display:flex;flex-direction:column;gap:clamp(10px,1.5vh,16px);margin-top:4px}.btn{display:flex;align-items:center;gap:16px;width:100%;padding:clamp(10px,1.6vh,16px) clamp(16px,2vw,22px);border:none;border-radius:14px;cursor:pointer;color:#fff;text-align:left;font-family:var(--font-ui);background-image:linear-gradient(180deg,var(--c-a),var(--c-b));box-shadow:inset 0 1px #ffffff59,inset 0 -3px 8px #0000004d,0 8px 20px #00000073,0 0 22px var(--c-glow);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn:active{transform:translateY(1px);filter:brightness(.96)}.btn:focus-visible{outline:2px solid #fff;outline-offset:3px}.btn__icon{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:24px;background:#00000047;box-shadow:inset 0 0 0 1px #ffffff40}.btn__text{display:flex;flex-direction:column;line-height:1.15}.btn__title{font-family:var(--font-display);font-size:clamp(15px,1.7vw,21px);letter-spacing:.5px}.btn__subtitle{font-size:clamp(11px,1.1vw,13px);font-weight:600;opacity:.82;text-transform:lowercase}.btn--gold{--c-a: var(--gold-a);--c-b: var(--gold-b);--c-glow: rgba(255, 150, 40, .45)}.btn--blue{--c-a: var(--blue-a);--c-b: var(--blue-b);--c-glow: rgba(60, 120, 255, .45)}.btn--purple{--c-a: var(--purple-a);--c-b: var(--purple-b);--c-glow: rgba(140, 80, 240, .45)}.btn--gray{--c-a: var(--gray-a);--c-b: var(--gray-b);--c-glow: rgba(90, 110, 150, .35)}.bottomnav{display:flex;gap:clamp(6px,1vw,14px);padding:10px clamp(10px,1.5vw,18px);margin-top:6px;border-radius:16px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.navitem{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:72px;padding:8px 6px;border:none;background:transparent;color:var(--text);cursor:pointer;font-family:var(--font-ui);border-radius:10px;transition:color .12s ease,transform .12s ease,background .12s ease}.navitem:hover{transform:translateY(-1px);background:#7896ff14}.navitem:focus-visible{outline:2px solid var(--t-blue);outline-offset:2px}.navitem:disabled{color:var(--text-dim);opacity:.45;cursor:not-allowed;transform:none;background:transparent}.navitem:disabled .navitem__icon{color:var(--text-dim)}.navitem__icon{font-size:22px;display:grid;place-items:center;color:#9fb0e0}.navitem__label{font-size:clamp(9px,.9vw,11px);font-weight:700;letter-spacing:.5px}.langswitch{position:absolute;top:clamp(10px,2vh,18px);right:clamp(10px,2vw,18px);z-index:5;font-family:var(--font-ui)}.langswitch__toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;cursor:pointer;color:var(--text);font-weight:700;font-size:14px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 6px 18px #0006,0 0 18px #5a8cff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:filter .12s ease,transform .12s ease}.langswitch__toggle:hover{filter:brightness(1.12)}.langswitch__toggle:focus-visible{outline:2px solid #8db4ff;outline-offset:2px}.langswitch__globe{display:grid;place-items:center;font-size:18px;color:#9fb8ff}.langswitch__label{letter-spacing:.5px}.langswitch__caret{display:grid;place-items:center;font-size:14px;color:var(--text-dim);transition:transform .15s ease}.langswitch.is-open .langswitch__caret{transform:rotate(180deg)}.langswitch__list{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;margin:0;padding:6px;list-style:none;border-radius:14px;background:#0c101ef5;border:1px solid var(--panel-border);box-shadow:0 16px 38px #0000008c,0 0 22px #5a8cff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none;max-height:min(70vh,460px);overflow-y:auto}.langswitch.is-open .langswitch__list{display:block}.langswitch__option{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;color:var(--text);font-size:14px}.langswitch__option:hover,.langswitch__option:focus-visible{background:#5a82ff29;outline:none}.langswitch__option.is-active{background:#5a82ff1a}.langswitch__check{display:grid;place-items:center;font-size:14px;color:#54d36a}.langswitch__native{font-weight:600}.langswitch__code{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--text-dim)}.version{position:absolute;right:14px;bottom:10px;z-index:3;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#b4bedc99}.version__tag{letter-spacing:.5px}.version__about{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.version__about-icon{display:grid;place-items:center;font-size:14px}.version__about:hover{color:#d7def2;border-color:#78a0ff80;box-shadow:0 0 14px #5a8cff59;transform:translateY(-1px)}.version__about:focus-visible{outline:2px solid rgba(120,160,255,.7);outline-offset:2px}@media (max-width: 1080px){.board{max-width:180px}.callout__text{font-size:12px}}@media (max-width: 820px){.menu{grid-template-columns:1fr}.board{display:none}.center{gap:18px}}@media (max-width: 560px){.langswitch__toggle{padding:8px;gap:0}.langswitch__label,.langswitch__caret{display:none}.langswitch__globe{font-size:20px}}@media (max-width: 420px){.actions{width:100%}.btn__icon{width:38px;height:38px;font-size:20px}.bottomnav .navitem{min-width:0}.navitem__label{display:none}}@media (max-height: 560px){.logo__word{font-size:clamp(34px,9vw,60px)}.center{gap:10px}}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.game{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,18px);padding:clamp(10px,2vh,24px) clamp(10px,2vw,28px);overflow:hidden}.game__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.game__exit{position:absolute;top:14px;left:14px;z-index:6;width:42px;height:42px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:26px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game__exit:hover{filter:brightness(1.15)}.arena{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:clamp(18px,5vw,80px);width:100%;flex:1}.side{display:flex;align-items:center;gap:clamp(10px,1.4vw,20px);min-width:0}.boardcol{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.side__head{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.side__name{font-family:var(--font-display);font-size:clamp(15px,1.8vw,22px);letter-spacing:1px;color:#cdd8ff;text-shadow:0 0 12px rgba(90,140,255,.6)}.side--bot .side__name{color:#ffd2a6;text-shadow:0 0 12px rgba(255,120,40,.6)}.energy{display:flex;align-items:center;gap:8px;width:100%}.energy__bar{flex:1;height:12px;border-radius:8px;background:#7896ff1f;border:1px solid var(--panel-border);overflow:hidden}.energy__bar i{display:block;height:100%;width:0%;border-radius:8px;background:linear-gradient(90deg,#3a7bf0,#f4c84a);box-shadow:0 0 12px #f4c84a99;transition:width .18s ease}.energy__num{font-family:var(--font-display);font-size:16px;min-width:1.6em;text-align:right;color:#fff}.energy__label{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--text-dim)}.boardwrap{position:relative}.board3d{transform:perspective(1400px) rotateY(0);transform-origin:center center;transition:transform .52s cubic-bezier(.45,.05,.25,1);will-change:transform;overflow:hidden;border-radius:10px;border:1px solid var(--panel-border);box-shadow:0 0 30px #3c6eff38;font-size:0}.board3d.is-flipped{transform:perspective(1400px) rotateY(180deg)}.boardwrap canvas{display:block;height:clamp(320px,66vh,700px);width:auto;max-width:40vw;box-shadow:inset 0 0 30px #0009;transition:transform .17s cubic-bezier(.22,.61,.36,1);will-change:transform}.effects{position:absolute;top:6px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:3;pointer-events:none}.chip{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 7px;border-radius:7px;color:#fff;background:#0000008c;border:1px solid rgba(255,255,255,.2)}.chip--blindness{box-shadow:0 0 10px #785af0b3}.chip--noRotate{box-shadow:0 0 10px #f08c28b3}.chip--invertedControls{box-shadow:0 0 10px #3cd2beb3}.chip--flip{box-shadow:0 0 10px #ff5096b3}.chip--strangePiece{box-shadow:0 0 10px #96a0b4cc}.chip--autoRotate{box-shadow:0 0 10px #50c8ffb3}.chip--fieldShift{box-shadow:0 0 10px #78e6a0b3}.ov{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;border-radius:10px;pointer-events:none;z-index:4}.ov.is-shown{display:flex}.ov--blind{background:#03040a8c}.ov--blind .ov__text{font-family:var(--font-display);font-size:clamp(13px,1.5vw,18px);letter-spacing:1px;color:#9fb8ff;text-shadow:0 0 14px rgba(120,90,240,.9);animation:pulse 1s ease-in-out infinite}.ov--warn .ov__text{font-family:var(--font-display);font-size:clamp(15px,2vw,26px);letter-spacing:1px;color:#fff;padding:8px 14px;border-radius:10px;background:#be1e2880;text-shadow:0 0 16px rgba(255,70,60,.9);animation:pulse .6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.panel{display:flex;flex-direction:column;justify-content:center;gap:clamp(7px,1.1vh,15px);align-self:stretch;padding:4px 0}.atk{display:flex;align-items:center;gap:9px;width:clamp(120px,9vw,152px);padding:9px 11px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.atk__key{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;font-family:var(--font-display);font-size:11px;color:#cdd8ff;background:#7896ff24;border:1px solid var(--panel-border)}.atk__icon{flex:none;display:grid;place-items:center;font-size:18px;color:#9fb8ff}.atk__name{flex:1;min-width:0;font-family:var(--font-display);font-size:11px;letter-spacing:.3px;line-height:1.05}.atk__cost{flex:none;font-size:12px;font-weight:700;color:#f4c84a}.atk:not(.atk--ro):hover:not(:disabled){transform:translate(2px);filter:brightness(1.12);border-color:#f4c84a66}.atk:not(.atk--ro):active:not(:disabled){transform:translate(1px) scale(.98);filter:brightness(.92)}.atk.is-ready{border-color:#f4c84a8c;box-shadow:0 0 14px #f4c84a47}.atk.is-unaffordable{opacity:.38}.atk:disabled{cursor:not-allowed}.atk.is-active{border-color:#966ef5d9;background:#785af029;box-shadow:0 0 16px #825ff099}.atk.is-active .atk__icon{color:#c9b6ff}.panel--ro .atk{width:clamp(58px,4.6vw,80px);justify-content:center;gap:6px;cursor:default;padding:9px 8px}.legend{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;padding:8px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px;color:var(--text-dim)}.legend__item b{color:#fff;font-family:var(--font-display);font-weight:400;margin-right:4px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:none;align-items:center;justify-content:center;flex-direction:column;gap:22px}.overlay.is-shown{display:flex}.overlay--countdown{pointer-events:none}.countdown__num{font-family:var(--font-display);font-size:clamp(80px,18vw,200px);color:#fff;text-shadow:0 0 40px rgba(90,140,255,.9),0 6px 0 rgba(0,0,0,.4);animation:pop .4s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.overlay--result{background:#03050cd1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.result__title{font-family:var(--font-display);font-size:clamp(44px,9vw,104px);letter-spacing:2px}.result__title.is-win{color:#ffd24a;text-shadow:0 0 36px rgba(255,200,60,.8)}.result__title.is-lose{color:#ff4d6a;text-shadow:0 0 36px rgba(255,77,106,.8)}.result__buttons{display:flex;gap:14px}.result__buttons .btn{width:auto;padding:12px 26px;justify-content:center}@media (max-width: 820px){.arena{flex-direction:column;align-items:center;gap:18px;overflow-y:auto}.side{flex-direction:column;align-items:center;gap:12px}.side--human .boardcol{order:1}.side--human .panel{order:2}.boardwrap canvas{height:clamp(260px,42vh,440px);max-width:86vw}.panel--human{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-self:auto;width:min(94vw,440px);padding:0}.panel--human .atk{width:auto}.panel--ro{display:none}}.diffbadge{position:absolute;top:14px;right:14px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:6px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.diffbadge__label{font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--text-dim)}.diffbadge__value{font-family:var(--font-display);font-size:14px;color:#ffd24a;text-shadow:0 0 10px rgba(255,200,60,.5)}.overlay--picker{background:#03050cdb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.picker{display:flex;flex-direction:column;align-items:center;gap:26px;padding:8px}.picker__title{font-family:var(--font-display);font-size:clamp(22px,4vw,40px);letter-spacing:1px;color:#eaf0ff;text-shadow:0 0 24px rgba(90,140,255,.6)}.picker__options{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.diffbtn{min-width:150px;padding:18px 22px;border-radius:16px;border:2px solid transparent;cursor:pointer;color:#fff;font-family:var(--font-display);font-size:clamp(16px,2vw,22px);letter-spacing:.5px;background-image:linear-gradient(180deg,var(--c-a),var(--c-b));box-shadow:inset 0 1px #ffffff59,0 8px 20px #00000073,0 0 22px var(--c-glow);transition:transform .12s ease,filter .12s ease}.diffbtn:hover{transform:translateY(-3px);filter:brightness(1.1)}.diffbtn:focus-visible{outline:2px solid #fff;outline-offset:3px}.diffbtn.is-active{border-color:#fff;box-shadow:inset 0 1px #fff6,0 0 0 3px #ffffff40,0 0 28px var(--c-glow)}.diffbtn--easy{--c-a: #54d36a;--c-b: #2c9a47;--c-glow: rgba(84, 211, 106, .45)}.diffbtn--medium{--c-a: var(--gold-a);--c-b: var(--gold-b);--c-glow: rgba(255, 150, 40, .45)}.diffbtn--hard{--c-a: #ec4a52;--c-b: #b3221f;--c-glow: rgba(236, 74, 82, .5)}@media (max-width: 560px){.diffbadge{padding:5px 9px}.diffbadge__value{font-size:12px}.diffbtn{min-width:120px;padding:14px 16px}}.about{position:relative;width:100%;min-height:100%;height:100%;overflow:hidden}.about__scroll{position:relative;z-index:2;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.about__inner{max-width:1040px;margin:0 auto;padding:clamp(70px,9vh,110px) clamp(18px,4vw,40px) clamp(48px,8vh,90px);display:flex;flex-direction:column;gap:clamp(34px,6vh,64px)}.about__back{position:absolute;top:16px;left:16px;z-index:6;display:inline-flex;align-items:center;gap:4px;padding:9px 15px 9px 11px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-dim);font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.about__back-icon{font-size:20px;line-height:1}.about__back:hover{color:#fff;border-color:#78a0ff80;box-shadow:0 0 16px #5a8cff66;transform:translate(-2px)}.about__back:focus-visible{outline:2px solid rgba(120,160,255,.7);outline-offset:2px}.about-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.about-hero__eyebrow{font-family:var(--font-ui);font-size:12px;font-weight:800;letter-spacing:3px;color:var(--text-dim)}.about-hero__name{font-family:var(--font-display);font-size:clamp(34px,6.5vw,68px);line-height:1.02;margin:0;background:linear-gradient(95deg,#6fa8ff,#c79bff,#ff9bd0);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 42px rgba(120,120,255,.35)}.about-hero__tagline{font-family:var(--font-display);font-size:clamp(15px,2.2vw,22px);letter-spacing:1px;margin:0;color:#ffd2a6;text-shadow:0 0 16px rgba(255,130,50,.55)}.about-hero__bio{max-width:720px;margin:6px 0 0;font-size:clamp(14px,1.6vw,17px);line-height:1.7;color:var(--text-dim)}.about-hero__bio b{color:#eaf0ff;font-weight:700}.about-experiment{align-self:center;max-width:760px;width:100%;text-align:center;padding:clamp(20px,3vw,30px) clamp(22px,4vw,40px);border-radius:18px;border:1px solid rgba(155,92,240,.45);background:linear-gradient(180deg,#785af01f,#0a0e1c8c);box-shadow:0 0 28px #785af038,inset 0 0 30px #785af014;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative}.about-experiment:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;border-radius:3px;background:linear-gradient(180deg,#3a7bf0,#9b5cf0,#ff6ab0);box-shadow:0 0 12px #8c64f5cc}.about-experiment__title{font-family:var(--font-display);font-size:clamp(17px,2.4vw,24px);margin:0 0 10px;color:#d7c8ff;text-shadow:0 0 18px rgba(140,100,245,.55)}.about-experiment__body{margin:0;font-size:clamp(13.5px,1.5vw,16px);line-height:1.7;color:var(--text-dim)}.about-section{display:flex;flex-direction:column;align-items:center;gap:6px}.about-section__title{font-family:var(--font-display);font-size:clamp(22px,3.4vw,34px);margin:0;color:#eaf0ff;text-shadow:0 0 22px rgba(90,140,255,.4)}.about-section__sub{margin:0 0 18px;font-size:13px;letter-spacing:.5px;color:var(--text-dim)}.stackgrid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,2vw,22px);margin-top:8px}.stackcard{border-radius:16px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px 20px 20px;box-shadow:0 14px 40px #00000059;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.stackcard:hover{transform:translateY(-4px);border-color:#78a0ff66;box-shadow:0 18px 50px #2846a059}.stackcard--planned{opacity:.92;border-style:dashed}.stackcard__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.stackcard__title{font-family:var(--font-display);font-size:18px;margin:0;color:#eaf0ff}.stackcard__badge{font-family:var(--font-ui);font-size:9.5px;font-weight:800;letter-spacing:1px;padding:3px 8px;border-radius:999px;white-space:nowrap}.stackcard__badge--now{color:#0a1a10;background:linear-gradient(90deg,#54d36a,#2fd2a0);box-shadow:0 0 14px #54d36a73}.stackcard__badge--planned{color:var(--text-dim);background:#7896ff1a;border:1px solid var(--panel-border)}.stackcard__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.stackcard__item{position:relative;padding-left:18px;font-size:13.5px;line-height:1.4;color:var(--text-dim)}.stackcard__item:before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:2px;background:linear-gradient(135deg,#3a7bf0,#9b5cf0);box-shadow:0 0 8px #7878ff99}.stackcard--planned .stackcard__item:before{background:#96a5c880;box-shadow:none}.linkrow{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px}.linkbtn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);color:#eaf0ff;font-family:var(--font-display);font-size:15px;letter-spacing:.4px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.linkbtn__icon{display:grid;place-items:center;font-size:22px}.linkbtn__arrow{font-size:13px;color:var(--text-dim);transition:transform .16s ease}.linkbtn:hover{transform:translateY(-3px)}.linkbtn:hover .linkbtn__arrow{transform:translate(2px,-2px)}.linkbtn:focus-visible{outline:2px solid rgba(120,160,255,.7);outline-offset:3px}.linkbtn--github:hover{border-color:#dce6ff99;box-shadow:0 0 22px #c8d7ff4d}.linkbtn--github .linkbtn__icon{color:#e9eefc}.linkbtn--producthunt:hover{border-color:#ff8c5099;box-shadow:0 0 22px #ff783c59}.linkbtn--producthunt .linkbtn__icon{color:#ff8a3d}.linkbtn--linkedin:hover{border-color:#4696ffa6;box-shadow:0 0 22px #3c82ff66}.linkbtn--linkedin .linkbtn__icon{color:#4f9bff}.reveal{opacity:0;transform:translateY(16px);animation:about-reveal .55s cubic-bezier(.22,.7,.3,1) forwards;animation-delay:calc(var(--i, 0) * 70ms + 80ms)}@keyframes about-reveal{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.reveal{animation:none;opacity:1;transform:none}}@media (max-width: 560px){.about__back{font-size:12px;padding:8px 12px 8px 9px}.linkrow{flex-direction:column;align-items:stretch}.linkbtn{justify-content:center}}.lobby{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.lobby__card{position:relative;z-index:2;width:min(440px,92vw);display:flex;flex-direction:column;align-items:center;gap:16px;padding:34px 30px 30px;background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;box-shadow:0 24px 70px #00000080;text-align:center}.lobby__title{font-family:var(--font-display);font-size:clamp(20px,4.6vw,30px);letter-spacing:1px;color:var(--text)}.lobby__codelabel{font-family:var(--font-ui);font-size:12px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase}.lobby__code{font-family:var(--font-display);font-size:clamp(46px,12vw,72px);letter-spacing:10px;padding-left:10px;color:#fff;text-shadow:0 0 32px rgba(90,140,255,.7)}.lobby__hint{font-size:13px;color:var(--text-dim)}.lobby__spinner{display:flex;gap:8px;margin:4px 0 6px}.lobby__spinner i{width:10px;height:10px;border-radius:50%;background:var(--t-blue);animation:lobbyPulse 1.1s ease-in-out infinite}.lobby__spinner i:nth-child(2){animation-delay:.16s}.lobby__spinner i:nth-child(3){animation-delay:.32s}@keyframes lobbyPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.lobby__input{width:100%;font-family:var(--font-display);font-size:clamp(28px,8vw,44px);text-align:center;letter-spacing:12px;padding:14px 10px 14px 22px;color:#fff;background:#040610b3;border:1px solid var(--panel-border);border-radius:12px;text-transform:uppercase;outline:none}.lobby__input:focus{border-color:var(--t-blue);box-shadow:0 0 0 3px #3a7bf040}.lobby__error{min-height:18px;font-size:13px;color:var(--t-red)}.lobby__actions{display:flex;gap:12px}.lobby__actions .btn,.lobby__cancel{width:auto;padding:12px 26px;justify-content:center}.lobby__botjoined{font-family:var(--font-display);font-size:clamp(20px,5vw,30px);color:var(--t-green);text-shadow:0 0 26px rgba(84,211,106,.6)}.lobby__botsection{width:100%;margin-top:6px;padding-top:18px;border-top:1px solid var(--panel-border);display:flex;flex-direction:column;align-items:center;gap:12px}.lobby__botlabel{font-family:var(--font-ui);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim)}.lobby__diffs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,20px);z-index:50;max-width:90vw;padding:12px 20px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;color:var(--text);font-size:14px;box-shadow:0 16px 40px #00000073;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.toast.is-shown{opacity:1;transform:translate(-50%)}.acctchip-wrap{position:absolute;top:14px;left:14px;z-index:7}.acctchip{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 7px;border-radius:999px;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);cursor:pointer;transition:transform .12s ease,border-color .12s ease}.acctchip:hover{transform:translateY(-1px);border-color:#7896ff66}.acctchip__av{font-size:22px;line-height:1}.acctchip__info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.acctchip__name{font-family:var(--font-display);font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acctchip__sub{font-size:10px;color:var(--text-dim);letter-spacing:.5px}.field{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left}.field>span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.field__input{width:100%;font-family:var(--font-ui);font-size:16px;padding:11px 12px;color:#fff;background:#040610b3;border:1px solid var(--panel-border);border-radius:10px;outline:none}.field__input:focus{border-color:var(--t-blue);box-shadow:0 0 0 3px #3a7bf040}.linklike{background:none;border:none;color:var(--t-blue);font-size:13px;cursor:pointer;padding:4px}.linklike:hover{text-decoration:underline}.authcard,.profcard,.lbcard{width:min(460px,94vw);gap:14px}.prof__head{display:flex;align-items:center;gap:14px;width:100%}.prof__avatar{font-size:52px;line-height:1}.prof__id{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.prof__name{font-family:var(--font-display);font-size:22px;display:flex;align-items:center;gap:8px}.prof__guest{font-size:10px;letter-spacing:1px;padding:2px 7px;border-radius:6px;background:#7896ff2e;color:var(--text-dim)}.prof__edit{width:100%;display:flex;flex-direction:column;gap:8px}.prof__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.stat{flex:1 1 80px;display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:12px;background:#04061099;border:1px solid var(--panel-border)}.stat__v{font-family:var(--font-display);font-size:22px;color:#fff}.stat__l{font-size:10px;letter-spacing:.5px;color:var(--text-dim);text-transform:uppercase}.prof__avatarlabel{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim)}.avatarpicker{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.avatarbtn{font-size:26px;line-height:1;width:48px;height:48px;border-radius:12px;background:#04061099;border:1px solid var(--panel-border);cursor:pointer;transition:transform .1s ease,border-color .1s ease}.avatarbtn:hover{transform:translateY(-2px)}.avatarbtn.is-active{border-color:var(--t-yellow);box-shadow:0 0 14px #f4c84a80}.prof__authrow{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.prof__guestnote{font-size:12px;color:var(--text-dim);text-align:center}.lb__head,.lb__row{display:grid;grid-template-columns:40px 36px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px 10px}.lb__head{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--panel-border)}.lb__list{width:100%;max-height:52vh;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(123,108,242,.6) transparent;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%)}.lb__list::-webkit-scrollbar{width:8px}.lb__list::-webkit-scrollbar-track{background:transparent;margin:4px 0}.lb__list::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background:linear-gradient(180deg,#9b5cf099,#3a7bf099);background-clip:padding-box}.lb__list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9b5cf0f2,#3a7bf0f2);background-clip:padding-box}.lb__list::-webkit-scrollbar-button{display:none}.lb__row{border-radius:10px}.lb__row.is-me{background:#7896ff24}.lb__rank{font-family:var(--font-display);color:var(--text-dim)}.lb__av{font-size:22px}.lb__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb__rating{font-family:var(--font-display);color:#ffd24a}.lb__empty{padding:24px;color:var(--text-dim)}.side__id{display:flex;align-items:center;gap:7px}.side__avatar{font-size:20px;line-height:1}.side__avatar:empty{display:none}.result__rating{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:-8px}.result__rdelta{font-family:var(--font-display);font-size:clamp(28px,6vw,48px)}.result__rdelta.is-up{color:#54d36a;text-shadow:0 0 24px rgba(84,211,106,.6)}.result__rdelta.is-down{color:#ff6a6a;text-shadow:0 0 24px rgba(255,106,106,.6)}.result__rval{font-size:12px;color:var(--text-dim);letter-spacing:1px}.result__cta{width:auto;padding:12px 22px;justify-content:center}@media (max-width: 560px){.acctchip__name{max-width:84px}}.fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}.boardflash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:10px;background:#fff;opacity:0;pointer-events:none}.boardflash.is-on{animation:boardflash .24s ease-out}@keyframes boardflash{0%{opacity:.55}to{opacity:0}}.board3d.is-lock{animation:lockpulse .16s ease-out}@keyframes lockpulse{0%{filter:brightness(1.5)}to{filter:brightness(1)}}.energy__bar i.is-pulse{animation:energypulse .36s ease-out}@keyframes energypulse{0%{filter:brightness(2);box-shadow:0 0 18px #f4c84af2}to{filter:brightness(1)}}.energy__num.is-pop{animation:numpop .36s ease-out;display:inline-block}@keyframes numpop{0%{transform:scale(1.6);color:#ffd24a}to{transform:scale(1)}}.nextbox{display:flex;align-items:center;gap:6px}.nextbox__label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}.next{width:52px;height:52px;border-radius:8px;background:#040610b3;border:1px solid var(--panel-border)}.setcard{width:min(440px,94vw);gap:16px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:14px}.setrow>span{color:var(--text)}.setval{color:var(--t-yellow)}.setnote{font-size:12px;color:var(--text-dim);text-align:left;width:100%;margin-top:-8px}.setswitch{width:22px;height:22px;accent-color:var(--t-blue);cursor:pointer}.setrange{flex:1;max-width:220px;accent-color:var(--t-blue);cursor:pointer}.set__back{width:auto;padding:12px 26px;justify-content:center;margin-top:4px}.ov--warn.is-shown{animation:warnthrob .6s ease-in-out infinite}@keyframes warnthrob{0%,to{background:#be1e2800}50%{background:#be1e282e}}@media (max-width: 820px){.next{width:40px;height:40px}}.prof__savename.is-saved{background:linear-gradient(180deg,#54d36a,#2fae47);box-shadow:0 0 16px #54d36a80}.prof__savename:disabled{opacity:.75;cursor:default}.acctchip__guest{margin-left:6px;font-size:9px;letter-spacing:.5px;padding:1px 6px;border-radius:6px;background:#7896ff2e;color:var(--text-dim);vertical-align:middle}.btn{position:relative}.btn__badge{position:absolute;top:6px;right:8px;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#00000052;color:#eaf0ff;opacity:.9;pointer-events:none}.result__practice{font-size:clamp(13px,2vw,16px);color:var(--text-dim);letter-spacing:.5px}.prof__explainer{font-size:12px;color:var(--text-dim);text-align:center;width:100%;margin-top:-6px}.touch{display:none}.touchbtn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media (max-width: 520px){.game{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.arena{flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;height:100%;overflow:hidden;padding:2px 6px;position:relative}.legend{display:none}.diffbadge{top:6px;left:52px;right:auto;padding:4px 9px}.side--bot{position:absolute;top:4px;right:4px;z-index:6;width:clamp(64px,23vw,96px);flex-direction:column;align-items:stretch;gap:2px;padding:3px;border-radius:8px;background:#0406108c;border:1px solid var(--panel-border)}.side--bot .side__head{flex-direction:row;align-items:center;justify-content:space-between;gap:3px}.side--bot .side__name,.side--bot .energy__label,.side--bot .nextbox__label,.side--bot .effects,.side--bot .ov--warn .ov__text{display:none}.side--bot .side__avatar{font-size:12px}.side--bot .next{width:20px;height:20px}.side--bot .boardwrap canvas{height:auto;width:100%;max-width:100%}.side--human{width:100%;flex-direction:column;align-items:center;gap:4px;min-height:0}.side--human .boardcol{width:100%;align-items:center;gap:4px;min-height:0}.side--human .side__head{width:auto;flex-direction:row;align-items:center;gap:10px}.side--human .boardwrap canvas{height:auto;width:auto;max-width:92vw;max-height:44vh;touch-action:manipulation}.side--human .panel--human{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;width:100%;max-width:100%;padding:4px 10px;order:2;align-self:stretch;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(123,108,242,.6) transparent;touch-action:pan-x;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.side--human .panel--human .atk{flex:0 0 auto;width:auto;min-width:92px;min-height:44px;scroll-snap-align:start;touch-action:manipulation}.side--human .panel--human::-webkit-scrollbar{height:6px}.side--human .panel--human::-webkit-scrollbar-track{background:transparent;margin:0 6px}.side--human .panel--human::-webkit-scrollbar-thumb{border-radius:999px;border:1px solid transparent;background:linear-gradient(90deg,#9b5cf099,#3a7bf099);background-clip:padding-box}.side--human .panel--human::-webkit-scrollbar-button{display:none}.touch{display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:10px;margin-top:auto;padding:6px 2px;touch-action:manipulation}.touch__cluster{display:flex;gap:10px}.touchbtn{width:56px;height:56px;display:grid;place-items:center;font-size:24px;line-height:1;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text)}.touchbtn:active{background:#7896ff33;transform:scale(.95)}.touchbtn:disabled{opacity:.4}.touchbtn.is-inverted{border-color:var(--t-red);color:#ffc2c2}}.admin{min-height:100vh;padding:20px;color:var(--text);font-family:var(--font-ui);background:var(--bg);overflow-y:auto}.admin--center{display:flex;align-items:center;justify-content:center}.admin__card{width:min(360px,92vw);display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px}.admin__title{font-family:var(--font-display);margin:0}.admin__err{color:var(--t-red);min-height:16px;font-size:13px}.admin__muted{color:var(--text-dim)}.admin__link{color:var(--t-blue);text-decoration:none;font-size:13px}.admin__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin__baractions{display:flex;align-items:center;gap:12px}.admin__stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin__stat{flex:1 1 90px;display:flex;flex-direction:column;align-items:center;padding:12px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px}.admin__statv{font-family:var(--font-display);font-size:24px;color:#fff}.admin__statl{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.admin__panel{margin-bottom:22px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:14px}.admin__panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin__panelhead h2{font-family:var(--font-display);font-size:16px;margin:0}.admin__search{padding:8px 10px;border-radius:8px;border:1px solid var(--panel-border);background:#040610b3;color:#fff;outline:none;min-width:200px}.admin__tablewrap{overflow-x:auto}.admin__table{width:100%;border-collapse:collapse;font-size:13px}.admin__table th,.admin__table td{text-align:left;padding:7px 10px;border-bottom:1px solid rgba(120,150,255,.1);white-space:nowrap}.admin__table th{color:var(--text-dim);font-weight:700;font-size:11px;text-transform:uppercase}.admin__tag{font-size:9px;padding:1px 5px;border-radius:5px;background:#f4c84a33;color:#ffd24a}.admin__pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}.admin__pageinfo{color:var(--text-dim);font-size:13px}.admin .btn{width:auto;padding:9px 16px;justify-content:center}.admin__analytics{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.admin__metrika{flex:1 1 200px;min-width:160px;padding:9px 11px;border-radius:8px;border:1px solid var(--panel-border);background:#040610b3;color:#fff;outline:none}.admin__metrika:focus{border-color:var(--t-blue)}.admin__mstatus{font-size:13px;color:var(--text-dim);min-height:16px}.rating-tip{position:absolute;top:calc(100% + 8px);left:0;z-index:9;width:min(280px,78vw);padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 16px 40px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rating-tip[hidden]{display:none}.rating-tip__text{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--text)}.rating-tip__profile{width:100%;padding:8px 12px;border-radius:9px;border:1px solid var(--panel-border);background:#7896ff29;color:var(--text);font-family:var(--font-display);font-size:13px;cursor:pointer}.rating-tip__profile:hover{background:#7896ff47}.consent{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;width:min(560px,94vw);display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between;padding:14px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 20px 50px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.consent__text{margin:0;flex:1 1 240px;font-size:13px;line-height:1.45;color:var(--text)}.consent__actions{display:flex;gap:10px}.consent__actions .btn{width:auto;padding:9px 18px;justify-content:center}@media (max-width: 520px){.side--human .boardwrap{touch-action:none}}.acctchip__tokens{font-size:10px;color:var(--t-yellow);letter-spacing:.5px}.shop{position:relative;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}.shop__wrap{position:relative;z-index:2;width:min(720px,94vw);display:flex;flex-direction:column;gap:14px}.shop__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shop__balance{font-family:var(--font-display);font-size:20px;color:var(--t-yellow)}.shop__balance span{font-family:var(--font-ui);font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.shop__err{min-height:16px;color:var(--t-red);font-size:13px}.shop__msg{color:var(--text-dim);padding:20px}.shop__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.shopcard{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--panel-border);text-align:center}.shopcard.is-owned{border-color:#54d36a66}.shopcard__type{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.shopcard__name{font-family:var(--font-display);font-size:14px}.shopcard__price{font-family:var(--font-display);color:var(--t-yellow)}.shopcard__action{margin-top:4px;width:100%}.shopcard__action .btn{width:100%;padding:8px 10px;justify-content:center}.shop__swatch{display:flex;gap:3px}.shop__swatch i{width:14px;height:14px;border-radius:3px;display:inline-block}.shop__ownedtag{font-size:11px;color:var(--t-green);letter-spacing:.5px}.shop__back{width:auto;align-self:center;padding:10px 24px;justify-content:center}.admin__subh{font-family:var(--font-display);font-size:13px;margin:14px 0 6px;color:var(--text-dim)}.admin__ri,.admin__si{width:100%;padding:5px 7px;border-radius:6px;border:1px solid var(--panel-border);background:#040610b3;color:#fff;outline:none}.admin__rewards td,.admin__shoptable td{padding:5px 8px}.admin__rdel,.admin__ssave,.admin__grant{padding:5px 10px;border-radius:7px;border:1px solid var(--panel-border);background:#7896ff24;color:var(--text);cursor:pointer}.admin__rewardactions,.admin__shopadd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.admin__newname,.admin__newprice,.admin__newtype{padding:7px 9px;border-radius:7px;border:1px solid var(--panel-border);background:#040610b3;color:#fff;outline:none}.admin__newprice{width:90px}.admin__payoutresult{margin-bottom:8px}
