@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest/onest-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest/onest-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest/onest-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest/onest-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Akira;src:url(/fonts/Akira_Expanded.otf)format("opentype");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Akira;src:url(/fonts/SMENA-AKIRA-CYR.ttf)format("truetype");font-display:swap;unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--bg:#fff;--bg-soft:#fafbfc;--bg-elevated:#f4f5f8;--graphite:#1e2230;--accent:#4da8ff;--accent-hover:#2e93f5;--accent-soft:#eaf4ff;--text:#1e2230;--text-secondary:#8a8fa3;--text-muted:#b8bcc8;--line:#ecedf2;--border:#e2e4ec;--icon-idle:#5a5f70;--danger:#e63946;--sq-light:#f4f6fa;--sq-dark:#c9d6e8;--r-card:22px;--r-md:14px;--r-pill:999px;--stroke:1.5px;--font-display:"Akira", "Impact", sans-serif;--font-body:"Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;padding:0;font-size:15px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;min-height:44px;padding:0}.display{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase}.screen{max-width:520px;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.card{background:var(--bg);border:var(--stroke) solid var(--border);border-radius:var(--r-card);flex-direction:column;gap:12px;padding:18px;display:flex}.card.soft{background:var(--bg-elevated);border-color:#0000}.card h2{margin:0;font-size:15px}.card p{color:var(--text-secondary);margin:0;font-size:14px}.btn{border-radius:var(--r-pill);border:var(--stroke) solid var(--border);background:var(--bg);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--graphite);border-color:var(--graphite);color:#fff}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.block{width:100%}.btn:disabled{opacity:.5}.chips{gap:8px;display:flex}.chip{border-radius:var(--r-md);border:var(--stroke) solid var(--border);background:var(--bg);flex:1;min-height:44px;font-size:13px;font-weight:600}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.muted{color:var(--text-secondary);font-size:13px}.error{color:var(--danger);font-size:14px}.hero{padding:8px 2px 4px}.hero h1{margin:0 0 6px;font-size:28px;line-height:1.1}.hero .sub{color:var(--text-secondary);margin:0;font-size:14px}.ticket-card{border-color:var(--accent);background:var(--accent-soft)}.credits{text-align:center;color:var(--text-muted);padding-top:6px;font-size:11px}.player{align-items:center;gap:10px;min-height:48px;display:flex}.avatar{border:var(--stroke) solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.avatar.w{background:#fff}.avatar.b{background:var(--graphite);color:#fff;border-color:var(--graphite)}.player .who{flex:1;min-width:0}.player .name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.player .meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.captures{touch-action:none;flex-wrap:wrap;justify-content:flex-end;gap:0;max-width:46%;display:flex}.captures img{pointer-events:none;width:20px;height:20px;margin-left:-4px}.captures .cap{position:relative}.board-wrap{touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.board{aspect-ratio:1;touch-action:none;-webkit-touch-callout:none;border-radius:18px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.sq{position:relative}.sq.light{background:var(--sq-light)}.sq.dark{background:var(--sq-dark)}.sq.last:before{content:"";background:#4da8ff38;position:absolute;inset:0}.sq.sel:before{content:"";background:#4da8ff73;position:absolute;inset:0}.sq.check:before{content:"";background:radial-gradient(circle,#e63946bf 0%,#e6394640 55%,#0000 75%);position:absolute;inset:0}.sq .piece{pointer-events:none;-webkit-user-drag:none;width:92%;height:92%;transition:transform .12s;position:absolute;inset:4%}.sq.pressed .piece{transform:scale(1.12)}.sq.masked .piece{opacity:0}.dj-fly{z-index:6;pointer-events:none;width:12.5%;height:12.5%;position:absolute}.dj-fly img{object-fit:cover;border-radius:14%;width:100%;height:100%;display:block;box-shadow:0 10px 26px #1e223073,0 0 0 2px #fff}.sq .hint{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sq .hint:after{content:"";background:#1e223038;border-radius:50%;width:28%;height:28%}.sq .hint.take:after{box-sizing:border-box;background:0 0;border:4px solid #1e223038;width:86%;height:86%}.sq .crown{width:30%;height:30%;color:var(--accent);pointer-events:none;position:absolute;top:3%;right:3%}.coord{pointer-events:none;opacity:.55;font-size:9px;font-weight:700;position:absolute}.coord.file{bottom:4%;right:9%}.coord.rank{top:5%;left:8%}.promo{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3;border-radius:18px;place-items:center;display:grid;position:absolute;inset:0}.promo .row{border-radius:var(--r-card);border:var(--stroke) solid var(--border);background:#fff;gap:8px;padding:10px;display:flex}.promo button{border-radius:var(--r-md);background:var(--bg-elevated);width:56px;height:56px}.promo img{pointer-events:none;width:44px;height:44px}.radio{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);align-items:center;gap:8px;max-width:100%;padding:4px 12px 4px 4px;display:flex}.radio-btn{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;min-width:28px;height:28px;min-height:28px;display:grid}.radio-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.radio-open{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:999px;flex-shrink:0;min-height:28px;padding:0 12px;font-size:11px;font-weight:700}.radio-open:active{transform:scale(.96)}.radio:has(.radio-open){padding-right:4px}.view-banner{border-radius:var(--r-md);background:var(--accent-soft);width:100%;min-height:40px;color:var(--accent);font-size:13px;font-weight:600}.moves-card{border:var(--stroke) solid var(--border);border-radius:var(--r-card);padding:12px 14px}.moves-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.moves-head .display{font-size:12px}.moves-nav{gap:6px;display:flex}.moves-nav button{border-radius:var(--r-md);border:var(--stroke) solid var(--border);min-width:36px;min-height:36px;color:var(--icon-idle);place-items:center;display:grid}.moves-nav button:disabled{opacity:.35}.moves{max-height:220px;overflow-y:auto}.move-row{grid-template-columns:28px 1fr 1fr;align-items:center;gap:4px;display:grid}.move-no{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.move{text-align:left;border-radius:10px;flex-direction:column;min-height:36px;padding:4px 8px;line-height:1.15;display:flex}.move b{font-size:14px;font-weight:600}.move small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.move.on{background:var(--accent-soft)}.move.on b{color:var(--accent)}.bubble{background:var(--bg-elevated);border-radius:var(--r-card);padding:12px 16px;font-size:14px;animation:.18s pop}.bubble .from{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent);margin-bottom:4px;font-size:10px}.timer{border-radius:var(--r-card);background:var(--bg-elevated);justify-content:center;align-items:baseline;gap:10px;padding:10px 16px;display:flex}.timer-digits{font-variant-numeric:tabular-nums;color:var(--graphite);font-size:30px}.timer-label{color:var(--text-secondary);font-size:13px}.timer.low{background:#fdecee}.timer.low .timer-digits{color:var(--danger)}.status-line{text-align:center;color:var(--text-secondary);min-height:18px;font-size:13px}.actions{gap:10px;display:flex}.actions .btn{flex:1}.result{border-radius:var(--r-card);border:var(--stroke) solid var(--border);text-align:center;flex-direction:column;gap:10px;padding:18px;animation:.2s pop;display:flex}.result h2{margin:0;font-size:22px}.result.win{border-color:var(--accent);background:var(--accent-soft)}.dj{z-index:50;border-radius:var(--r-card);border:var(--stroke) solid var(--border);pointer-events:none;background:#fff;width:200px;padding:8px 8px 12px;animation:.12s ease-out djin;position:fixed;box-shadow:0 18px 40px #1e223038}.dj img{aspect-ratio:1;object-fit:cover;background:var(--bg-elevated);border-radius:16px;width:100%;display:block}.dj .dj-name{font-family:var(--font-display);letter-spacing:.04em;margin:10px 4px 2px;font-size:13px;line-height:1.15}.dj .dj-role{color:var(--text-secondary);margin:0 4px;font-size:12px}.dj.card-only{background:#000;border:none;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 20px 48px #1e223059}.dj.card-only img{aspect-ratio:1;border-radius:0}.toast{left:16px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--graphite);color:#fff;border-radius:var(--r-md);text-align:center;z-index:60;padding:12px 16px;font-size:14px;animation:.18s pop;position:fixed}.center{text-align:center;min-height:60vh;color:var(--text-secondary);place-items:center;display:grid}@keyframes pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes djin{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.center-text{text-align:center}.nb{--pt-a:var(--sq-dark);--pt-b:#e3eaf4;background:var(--sq-light);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:18px;padding:6px 4px}.nb-row{grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,.85fr) repeat(6,minmax(0,1fr)) minmax(0,.75fr);column-gap:1px;display:grid}.nb-pt,.nb-bar,.nb-off{aspect-ratio:1/5.6;position:relative}.nb-pt .tri{background:var(--pt-a);position:absolute;inset:0 4%}.nb-pt.even .tri{background:var(--pt-b)}.nb-pt.top .tri{clip-path:polygon(0 0,100% 0,50% 88%)}.nb-pt.bottom .tri{clip-path:polygon(50% 12%,100% 100%,0 100%)}.nb-pt.last .tri{background:#4da8ff59}.nb-pt.dest .tri{background:var(--accent);opacity:.55}.nb-pt .pt-no{text-align:center;color:var(--text-muted);pointer-events:none;font-size:8px;position:absolute;left:0;right:0}.nb-pt.top .pt-no{bottom:-1px}.nb-pt.bottom .pt-no{top:-1px}.nb-bar{background:#e8ecf3;border-radius:8px}.nb-off{background:#e8ecf3;border-radius:8px;flex-direction:column-reverse;align-items:center;gap:2px;padding:4px 0;display:flex;overflow:hidden}.nb-off.top{flex-direction:column}.nb-off.dest{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.nb-off .slab{border-radius:2px;flex-shrink:0;width:80%;height:5px}.nb-off .slab.w{border:1px solid var(--graphite);background:#fff}.nb-off .slab.b{background:var(--graphite)}.stack{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.stack.down{flex-direction:column-reverse}.ck{aspect-ratio:1;pointer-events:auto;box-sizing:border-box;border-radius:50%;flex-shrink:0;place-items:center;width:92%;transition:transform .12s;display:grid}.ck.w{border:1.5px solid var(--graphite);background:#fff}.ck.b{background:var(--graphite);border:1.5px solid var(--graphite)}.ck.face{background-position:50%;background-size:cover;border:none}.ck b{font-size:10px;font-weight:700}.ck.face b{color:#fff;background:#1e2230d1;border-radius:999px;padding:0 4px;line-height:14px}.dj.card-only.round{background:0 0;border-radius:50%;box-shadow:0 18px 44px #1e223061}.dj.card-only.round img{background:0 0;border-radius:50%}.ck.w b{color:var(--graphite)}.ck.b b{color:#fff}.nb-pt.src .stack>.ck:last-child,.nb-bar.src .stack>.ck:last-child{box-shadow:0 0 0 2px var(--accent-soft), 0 0 0 3.5px var(--accent)}.nb-pt.sel .stack>.ck:last-child,.nb-bar.sel .stack>.ck:last-child{box-shadow:0 0 0 3px var(--accent);transform:scale(1.12)}.nb-mid{grid-template-columns:1fr 1fr;align-items:center;min-height:40px;display:grid}.nb-dice{justify-content:center;gap:6px;display:flex}.die{border:1.5px solid var(--graphite);background:#fff;border-radius:7px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:28px;height:28px;padding:3px;transition:opacity .2s;display:grid}.die i{border-radius:50%}.die i.on{background:var(--graphite)}.die.used{opacity:.3}.actions.two .btn{flex:1}.die-roll{transform-origin:50% 80%;animation:.78s cubic-bezier(.25,.8,.35,1) both die-roll;display:inline-block}.die-roll.from-right{animation-name:die-roll-r}@keyframes die-roll{0%{opacity:0;transform:translate(-70px,-90px)rotate(-260deg)scale(.6)}12%{opacity:1}48%{transform:translate(0)rotate(-20deg)scale(1.12,.86)}62%{transform:translate(-6px,-18px)rotate(14deg)scale(.96,1.05)}76%{transform:translate(0)rotate(-6deg)scale(1.06,.93)}86%{transform:translate(2px,-5px)rotate(3deg)}to{transform:none}}@keyframes die-roll-r{0%{opacity:0;transform:translate(70px,-90px)rotate(280deg)scale(.6)}12%{opacity:1}48%{transform:translate(0)rotate(22deg)scale(1.12,.86)}62%{transform:translate(7px,-16px)rotate(-12deg)scale(.96,1.05)}76%{transform:translate(0)rotate(5deg)scale(1.06,.93)}86%{transform:translate(-2px,-4px)rotate(-2deg)}to{transform:none}}.fx-stage{position:relative}.fx-layer{pointer-events:none;z-index:40;position:absolute;inset:0;overflow:visible}.fx-shake{animation:.36s fx-shake}.fx-shake-big{animation:.6s fx-shake-big}.fx-shake-dice .nb-dice .die{animation:.5s fx-die}@keyframes fx-shake{0%,to{transform:none}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(2px,1px)}}@keyframes fx-shake-big{0%,to{transform:none}15%{transform:translate(-9px,4px)rotate(-.6deg)}35%{transform:translate(8px,-5px)rotate(.5deg)}55%{transform:translate(-6px,3px)}75%{transform:translate(3px,-2px)}}@keyframes fx-die{0%{transform:none}20%{transform:translateY(-14px)rotate(-25deg)}45%{transform:translateY(0)rotate(15deg)}65%{transform:translateY(-5px)rotate(-8deg)}to{transform:none}}.fx-cap-wrap{width:0;height:0;position:absolute}.fx-burst{border:3px solid var(--accent);border-radius:50%;width:60px;height:60px;animation:.45s ease-out forwards fx-burst;position:absolute;top:-30px;left:-30px}@keyframes fx-burst{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.9)}}.fx-cap{background:#000;border-radius:16px;width:118px;height:118px;animation:1.1s cubic-bezier(.2,.8,.2,1) forwards fx-cap;position:absolute;top:-150px;left:-59px;overflow:hidden;box-shadow:0 16px 36px #1e223073}.fx-cap.round{background:0 0;border-radius:50%}.fx-cap img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.fx-cap .slice{opacity:0}.fx-cap .slice.a{clip-path:inset(18% 0 58%);animation:1.1s step-end forwards fx-slice-a}.fx-cap .slice.b{clip-path:inset(62% 0 14%);animation:1.1s step-end forwards fx-slice-b}.fx-cap .slice.c{clip-path:inset(42% 0 46%);animation:1.1s step-end forwards fx-slice-c}.fx-cap:after{content:"";pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,#ffffff2e 0 2px,#0000 2px 5px);animation:1.1s step-end forwards fx-scan;position:absolute;inset:0}@keyframes fx-scan{0%,26%{opacity:0}28%{opacity:1;transform:translateY(-3px)}40%{transform:translateY(2px)}52%,to{opacity:0}}@keyframes fx-slice-c{0%,34%{opacity:0}36%{opacity:1;filter:grayscale()brightness(1.6);transform:translate(18px)}41%{transform:translate(-16px)}46%,to{opacity:0}}@keyframes fx-cap{0%{opacity:0;transform:scale(.35)translateY(30px)}12%{opacity:1;transform:scale(1.08)}20%{transform:scale(1)}58%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:translateY(150px)rotate(16deg)scale(.7)}}@keyframes fx-slice-a{0%,28%{opacity:0}30%{opacity:1;filter:grayscale()sepia()hue-rotate(175deg)saturate(5);transform:translate(12px)}36%{transform:translate(-9px)}42%{transform:translate(6px)}48%,to{opacity:0}}@keyframes fx-slice-b{0%,31%{opacity:0}33%{opacity:1;filter:grayscale()contrast(1.6);transform:translate(-14px)}39%{transform:translate(10px)}45%{transform:translate(-4px)}50%,to{opacity:0}}.fx-tag{white-space:nowrap;background:var(--graphite);color:#fff;border-radius:999px;padding:4px 8px;font-size:9px;animation:1.1s forwards fx-tag;position:absolute;top:-26px;left:0;transform:translate(-50%)}.fx-tag.at{margin-top:-36px;top:auto}.fx-burst.at{position:absolute}.fx-cap.long,.fx-tag.long{animation-duration:1.45s}.fx-splash{width:0;height:0;position:absolute}.fx-reveal{z-index:2;width:0;height:0;position:absolute}.fx-reveal img{object-fit:cover;border:3px solid #fff;border-radius:16px;width:132px;height:132px;animation:.95s cubic-bezier(.2,.8,.2,1) forwards fx-reveal;position:absolute;top:-66px;left:-66px;box-shadow:0 14px 34px #1e223073}@keyframes fx-reveal{0%{opacity:.4;transform:scale(.22)}22%{opacity:1;transform:scale(1.06)}30%{transform:scale(1)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.22)}}.fx-splash i{border:3px solid var(--accent);opacity:0;border-radius:50%;width:44px;height:44px;animation:.85s ease-out forwards fx-splash;position:absolute;top:-22px;left:-22px}.fx-splash i:nth-child(2){border-width:2px;animation-delay:.12s}.fx-splash i:nth-child(3){border-width:1px;border-color:#8a8fa3;animation-delay:.24s}@keyframes fx-splash{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.7)}}.fx-cap-wrap.below .fx-cap{top:34px}.fx-cap-wrap.below .fx-tag{top:158px}@keyframes fx-tag{0%,10%{opacity:0;transform:translate(-50%,6px)}22%{opacity:1;transform:translate(-50%)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-8px)}}.fx-ring{border:4px solid var(--accent);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;animation:.8s ease-out forwards fx-ring;position:absolute}.fx-ring.late{opacity:0;border-color:var(--graphite);animation-delay:.18s}@keyframes fx-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2.8)}}.fx-word{color:var(--graphite);text-shadow:3px 0 var(--accent), -3px 0 #b8bcc8;white-space:nowrap;font-size:64px;line-height:1;animation:1.25s cubic-bezier(.2,.9,.2,1) forwards fx-slam;position:absolute;transform:translate(-50%,-50%)}.fx-word.small{text-shadow:2px 0 var(--accent), -2px 0 #b8bcc8;font-size:30px;animation-duration:1s}.fx-word:before,.fx-word:after,.fx-drop-word:before,.fx-drop-word:after{content:attr(data-text);opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.fx-word:before,.fx-drop-word:before{color:var(--accent);animation:.5s step-end .12s 2 fx-glitch-a}.fx-word:after{color:#fff;animation:.5s step-end .15s 2 fx-glitch-b}.fx-drop-word:after{color:#b8bcc8;animation:.5s step-end .9s 3 fx-glitch-b}.fx-drop-word:before{animation:.5s step-end .86s 3 fx-glitch-a}@keyframes fx-glitch-a{0%{opacity:1;clip-path:inset(8% 0 72%);transform:translate(-10px)}20%{clip-path:inset(55% 0 20%);transform:translate(12px)}40%{clip-path:inset(30% 0 52%);transform:translate(-6px)}60%{clip-path:inset(80% 0 4%);transform:translate(8px)}80%{clip-path:inset(18% 0 66%);transform:translate(-3px)}to{opacity:0}}@keyframes fx-glitch-b{0%{opacity:1;clip-path:inset(62% 0 18%);transform:translate(9px)}25%{clip-path:inset(12% 0 70%);transform:translate(-12px)}50%{clip-path:inset(40% 0 44%);transform:translate(5px)}75%{clip-path:inset(88% 0 2%);transform:translate(-7px)}to{opacity:0}}@keyframes fx-slam{0%{filter:blur(10px);opacity:0;transform:translate(-50%,-50%)scale(2.6)}12%{filter:blur();opacity:1;transform:translate(-50%,-50%)scale(.92)}18%{transform:translate(-50%,-50%)scale(1)}24%{text-shadow:-5px 0 var(--danger), 5px 0 var(--accent)}30%{text-shadow:3px 0 var(--danger), -3px 0 var(--accent)}75%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-64%)}}.fx-fly{background:var(--graphite);border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;animation:.7s cubic-bezier(.3,.1,.3,1) forwards fx-fly;position:absolute;overflow:hidden;box-shadow:0 8px 18px #1e223073}.fx-fly img{width:100%;height:100%;display:block}@keyframes fx-fly{0%{transform:translate(0)rotate(0)scale(1)}45%{transform:translate(calc(var(--dx) * .5), calc(var(--dy) * .5 - 50px)) rotate(300deg) scale(1.5)}to{transform:translate(var(--dx), var(--dy)) rotate(720deg) scale(1)}}.fx-drop{z-index:100;flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:3.6s forwards fx-drop-bg;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes fx-drop-bg{0%{background:#0e101800}20%{background:#0e1018c7}23%{background:#0e1018ed}88%{opacity:1;background:#0e1018ed}to{opacity:0;background:#0e1018ed}}.fx-pulse{opacity:0;border:2px solid #4da8ffcc;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;animation:.2s ease-out fx-pulse,.2s ease-out .28s fx-pulse,.2s ease-out .48s fx-pulse,.18s ease-out .62s fx-pulse,.15s ease-out .71s fx-pulse;position:absolute;top:40%;left:50%}@keyframes fx-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.fx-flash{opacity:0;pointer-events:none;background:#fff;animation:.9s linear .82s forwards fx-flash;position:absolute;inset:0}@keyframes fx-flash{0%{opacity:.9}14%{opacity:0}26%{opacity:.45}38%,to{opacity:0}}.fx-shards{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fx-drop-word{color:#fff;opacity:0;text-shadow:6px 0 var(--accent), -6px 0 #5a5f70;font-size:112px;line-height:1;animation:2.8s cubic-bezier(.2,.9,.2,1) .82s forwards fx-drop-word;position:relative}@keyframes fx-drop-word{0%{filter:blur(14px);opacity:0;transform:scale(3)}8%{filter:blur();opacity:1;transform:scale(.9)}12%{transform:scale(1)}16%{text-shadow:-9px 0 var(--accent), 9px 0 #5a5f70;transform:translate(4px)}20%{text-shadow:6px 0 var(--accent), -6px 0 #5a5f70;transform:none}to{opacity:1}}.fx-tear{opacity:0;pointer-events:none;width:120%;animation:.42s step-end .82s 2 fx-tear;position:absolute;left:-10%}.fx-tear.t1{background:var(--accent);height:9px;top:31%}.fx-tear.t2{background:#fff;height:4px;animation-delay:.9s;top:47%}.fx-tear.t3{background:#4da8ff8c;height:14px;animation-delay:.86s;top:63%}@keyframes fx-tear{0%{opacity:.9;transform:translate(-30px)}30%{opacity:.7;transform:translate(26px)}60%{opacity:.9;transform:translate(-12px)}to{opacity:0}}.fx-drop-sub{color:#fff;opacity:0;text-align:center;padding:0 16px;font-size:16px;animation:.5s 1.05s forwards fx-fade-up}@keyframes fx-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fx-split{opacity:0;width:190px;height:190px;margin-top:18px;animation:.4s 1.1s forwards fx-fade-up;position:relative}.fx-split .half{object-fit:cover;border-radius:18px;width:100%;height:100%;position:absolute;inset:0}.fx-split.round .half{border-radius:50%}.fx-split .half.l{clip-path:polygon(0 0,54% 0,46% 100%,0 100%);animation:.9s cubic-bezier(.3,0,.2,1) 1.75s forwards fx-half-l}.fx-split .half.r{clip-path:polygon(54% 0,100% 0,100% 100%,46% 100%);animation:.9s cubic-bezier(.3,0,.2,1) 1.75s forwards fx-half-r}@keyframes fx-half-l{to{opacity:.15;transform:translate(-46px,30px)rotate(-12deg)}}@keyframes fx-half-r{to{opacity:.15;transform:translate(46px,30px)rotate(12deg)}}@media (prefers-reduced-motion:reduce){.fx-flash{display:none}.fx-shake,.fx-shake-big{animation:none}}.sea-head{justify-content:space-between;align-items:baseline;margin:2px 2px -4px;display:flex}.sea-head .display{color:var(--text-secondary);font-size:12px}.sg{background:var(--bg-soft);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-touch-callout:none;border-radius:16px;grid-template-columns:16px repeat(10,minmax(0,1fr));gap:2px;padding:6px 6px 8px 2px;display:grid}.sg.small{width:74%;margin:0 auto}.sg-lab{color:var(--text-muted);place-items:center;min-height:14px;font-size:10px;font-weight:600;display:grid}.sg-cell{aspect-ratio:1;background:#e6eef8;border-radius:5px;position:relative;overflow:hidden}.sg.target .sg-cell.aim{cursor:pointer}.sg.target .sg-cell.aim:active{background:var(--accent-soft)}.sg-cell.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.sg-cell.sel:after{content:"";border:2px solid var(--accent);border-radius:50%;position:absolute;inset:22%}.sg-cell.ship{background:var(--graphite);border-radius:3px}.sg-cell.ship.one{border-radius:8px}.sg-cell.ship.h.start{border-radius:8px 3px 3px 8px}.sg-cell.ship.h.end{border-radius:3px 8px 8px 3px}.sg-cell.ship.v.start{border-radius:8px 8px 3px 3px}.sg-cell.ship.v.end{border-radius:3px 3px 8px 8px}.sg-face{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sg-cell.miss:after,.sg-cell.near:after{content:"";border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sg-cell.miss:after{background:var(--text-secondary);width:24%;height:24%}.sg-cell.near:after{background:var(--text-muted);width:14%;height:14%}.sg-cell.hit:after,.sg-cell.kill:after{content:"";background:linear-gradient(45deg, transparent 43%, var(--accent) 43%, var(--accent) 57%, transparent 57%), linear-gradient(-45deg, transparent 43%, var(--accent) 43%, var(--accent) 57%, transparent 57%);position:absolute;inset:12%}.sg-cell.kill .sg-face,.sg-cell.sunk .sg-face{filter:grayscale()brightness(.45)}.sg-cell.kill:after{background:linear-gradient(45deg,#0000 43%,#fff 43% 57%,#0000 57%),linear-gradient(-45deg,#0000 43%,#fff 43% 57%,#0000 57%)}.sea-log{border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.sea-log-row b{color:var(--graphite);font-weight:600}.sea-log-row.hit,.sea-log-row.kill{color:var(--accent)}.dm-score{justify-content:space-between;align-items:baseline;padding:0 2px;font-size:14px;display:flex}.dm-score b{font-weight:700}.dm-opp{flex-wrap:wrap;align-items:center;gap:3px;min-height:40px;display:flex}.dm-opp img{border-radius:3px;width:18px;height:36px;box-shadow:0 1px 2px #1e223040}.dm-opp .muted{margin-left:auto}.dm-table{background:#e6eef8;border-radius:18px;flex-direction:column;justify-content:center;gap:4px;min-height:150px;padding:10px 6px;display:flex}.dm-empty{text-align:center;color:var(--text-secondary);font-size:13px}.dm-row{align-items:center;gap:2px;display:flex}.dm-slot{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.dm-slot img{border-radius:3px;position:absolute;box-shadow:0 1px 3px #1e223059}.dm-hand{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-wrap:wrap;justify-content:center;gap:6px;padding-top:4px;display:flex}.dm-tile{opacity:.55;border-radius:6px;width:44px;height:88px;transition:transform .12s,opacity .12s}.dm-tile img{pointer-events:none;border-radius:6px;width:100%;height:100%;display:block}.dm-tile.ok{opacity:1;box-shadow:0 0 0 2px var(--accent);transform:translateY(-6px)}.dm-tile.sel{box-shadow:0 0 0 3px var(--accent);transform:translateY(-12px)scale(1.06)}.dm-round{z-index:60;border-radius:var(--r-card);color:#fff;text-align:center;background:#1e2230f0;flex-direction:column;gap:12px;padding:18px;animation:.3s fx-fade-up;display:flex;position:fixed;top:38%;left:16px;right:16px}.dm-round .display{font-size:18px}.dm-round-hand{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.dm-round-hand img{border-radius:3px;width:26px;height:52px}
