:root{--bg: #04060c;--surface: #0a0f1a;--surface2: #0e1524;--surface3: #121c30;--line: rgba(0, 240, 255, .14);--line-strong: rgba(0, 240, 255, .35);--cyan: #00f0ff;--magenta: #ff2d95;--green: #a3ff12;--amber: #ffb300;--blue: #4d7cff;--purple: #9d4dff;--red: #ff3b3b;--gold: #ffd700;--text: #cfe9ff;--muted: #7c8ba1;--warm: #ffe9c4;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, "Courier New", monospace;--sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none}#bg-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 15% -10%,rgba(157,77,255,.14),transparent 60%),radial-gradient(1000px 700px at 85% 110%,rgba(0,240,255,.1),transparent 60%),radial-gradient(700px 500px at 70% 20%,rgba(255,45,149,.05),transparent 60%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(0,240,255,.025) 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(0,240,255,.025) 47px 48px)}.ambient:after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.scanlines{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.3;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px)}#app{position:relative;z-index:1;height:100vh;height:100dvh;display:grid;grid-template-columns:264px minmax(360px,468px) 264px;gap:16px;justify-content:center;align-items:stretch;padding:12px 16px}.side-panel{display:flex;flex-direction:column;gap:12px;min-height:0}.panel-block{background:linear-gradient(180deg,var(--surface) 0%,rgba(10,15,26,.82) 100%);border:1px solid var(--line);border-radius:8px;padding:12px;overflow-y:auto;min-height:0;box-shadow:inset 0 0 30px #00f0ff08}.panel-block.grow{flex:1}.panel-title{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}.panel-title span{color:var(--muted);font-size:9px;letter-spacing:.08em}#game{display:flex;flex-direction:column;min-height:0;gap:8px;background:linear-gradient(180deg,#0a0f1a8c,#04060c59);border:1px solid var(--line);border-radius:12px;padding:10px 14px 12px;box-shadow:0 0 60px #00f0ff0f,inset 0 0 60px #00000059;position:relative}#game:before,#game:after{content:"";position:absolute;width:18px;height:18px;pointer-events:none;border-color:var(--line-strong);border-style:solid}#game:before{top:-1px;left:-1px;border-width:2px 0 0 2px;border-radius:12px 0 0}#game:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0;border-radius:0 0 12px}#topbar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.logo{font-family:var(--mono);font-weight:800;font-size:19px;letter-spacing:.06em;color:var(--text);position:relative;white-space:nowrap;text-shadow:0 0 14px rgba(0,240,255,.55);animation:logoGlitch 7s infinite steps(1)}.logo span{color:var(--cyan)}@keyframes logoGlitch{0%,93%,to{text-shadow:0 0 14px rgba(0,240,255,.55);transform:none}94%{text-shadow:-2px 0 var(--magenta),2px 0 var(--cyan);transform:translate(1px)}95%{text-shadow:2px 0 var(--magenta),-2px 0 var(--cyan);transform:translate(-1px)}96%{text-shadow:0 0 14px rgba(0,240,255,.55);transform:none}}.mode-tabs{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;flex-shrink:0}.mode-tabs button{background:transparent;border:none;color:var(--muted);font-family:var(--sans);font-size:12px;padding:6px 10px;cursor:pointer;transition:all .18s}.mode-tabs button.active{background:#00f0ff1f;color:var(--cyan);box-shadow:inset 0 -2px 0 var(--cyan)}.mode-tabs button:hover:not(.active){color:var(--text);background:#00f0ff0d}.top-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.platform-badge{font-size:10px;font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 6px;cursor:pointer;white-space:nowrap}.platform-badge:hover{color:var(--cyan);border-color:var(--line-strong)}.streak{font-size:12px;font-family:var(--mono);color:var(--amber);white-space:nowrap;cursor:default}.pro-badge{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;background:transparent;color:var(--gold);border:1px solid rgba(255,215,0,.5);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .2s}.pro-badge:hover{box-shadow:0 0 14px #ffd70059}.pro-badge.on{background:var(--gold);color:#1a1400;border-color:var(--gold)}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:14px;width:30px;height:30px;cursor:pointer;transition:all .18s;line-height:1}.icon-btn:hover{border-color:var(--line-strong);box-shadow:0 0 10px #00f0ff40}.icon-btn.off{opacity:.5}#status-strip{display:flex;flex-direction:column;gap:6px}.level-row{display:flex;align-items:center;gap:8px}.level-tag{font-family:var(--mono);font-weight:700;font-size:14px;color:var(--cyan);letter-spacing:.1em;text-shadow:0 0 10px rgba(0,240,255,.5)}.daily-tag{font-size:11px;color:var(--muted)}.boost-btn{margin-left:auto;background:#ffd70014;border:1px solid rgba(255,215,0,.4);color:var(--gold);font-size:11px;border-radius:4px;padding:3px 8px;cursor:pointer;animation:boostPulse 2.4s infinite}@keyframes boostPulse{0%,to{box-shadow:0 0 #ffd70000}50%{box-shadow:0 0 12px #ffd70059}}.hidden{display:none!important}.boss-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#ff3b3b24,#ff3b3b0a);border:1px solid rgba(255,59,59,.4);border-radius:6px;padding:5px 10px;font-size:11px;overflow:hidden}.boss-banner.preview{background:linear-gradient(90deg,#ffb3001a,#ffb30005);border-color:#ffb30059}.bb-icon{font-size:15px;color:var(--red);flex-shrink:0}.boss-banner.preview .bb-icon{color:var(--amber)}.bb-name{font-weight:700;color:var(--red);white-space:nowrap;flex-shrink:0}.boss-banner.preview .bb-name{color:var(--amber)}.bb-desc{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-row{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:8px}.score-box{background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:5px 10px;min-width:0}.score-box label{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:1px}.score-num{font-family:var(--mono);font-weight:700;font-size:17px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-box.main{border-color:var(--line-strong);box-shadow:inset 0 0 18px #00f0ff0f}.score-box.main .score-num{font-size:23px;color:var(--cyan);text-shadow:0 0 12px rgba(0,240,255,.45)}.score-box.coin .score-num{color:var(--gold);font-size:15px}#steps.low{color:var(--red);animation:lowPulse .9s infinite}@keyframes lowPulse{0%,to{opacity:1}50%{opacity:.45}}.steps-pips{display:flex;gap:2px;margin-top:3px}.pip{width:5px;height:3px;border-radius:1px;background:#7c8ba140}.pip.on{background:var(--cyan);box-shadow:0 0 4px #00f0ff99}.progress{height:6px;background:var(--surface2);border:1px solid var(--line);border-radius:3px;overflow:hidden;position:relative}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--blue),var(--cyan) 60%,var(--magenta));box-shadow:0 0 10px #00f0ff80;transition:width .25s ease-out}.progress.daily-mode .progress-fill{background:linear-gradient(90deg,var(--purple),var(--magenta))}.progress.over .progress-fill{background:linear-gradient(90deg,var(--green),var(--gold))}.progress.near-miss .progress-fill{background:linear-gradient(90deg,var(--amber),var(--red));animation:lowPulse .7s infinite}.axiom-chips{display:flex;gap:6px;min-height:28px;align-items:center}.axiom-chip{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--line-strong);color:var(--cyan);font-size:15px;cursor:pointer;transition:all .18s;font-family:var(--mono)}.axiom-chip:hover{transform:translateY(-2px);box-shadow:0 0 12px #00f0ff4d}.axiom-chip.r-rare{border-color:#4d7cff99;color:var(--blue)}.axiom-chip.r-legend{border-color:#ffd700a6;color:var(--gold);box-shadow:0 0 10px #ffd70033}.axiom-chip.sealed{filter:grayscale(1);opacity:.45}.axiom-chip.empty-slot{border-style:dashed;border-color:var(--line);color:var(--muted);cursor:default;font-size:12px}.axiom-chip.empty-slot:hover{transform:none;box-shadow:none}.board-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.board{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;position:relative;touch-action:none;flex:none}.board.flipping{animation:boardFlip .32s ease}@keyframes boardFlip{0%{transform:scaleX(1)}50%{transform:scaleX(.86);filter:hue-rotate(40deg)}to{transform:scaleX(1)}}#fx-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.cell{position:relative;border-radius:6px;background:linear-gradient(160deg,var(--surface2),var(--surface));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:clamp(16px,3.4vmin,25px);color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;overflow:hidden}.cell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.08) 3px 4px)}.cell .v{position:relative;z-index:1;text-shadow:0 0 8px rgba(207,233,255,.25)}.cell .corner{position:absolute;top:2px;right:4px;font-size:9px;z-index:1;opacity:.8}.cell.tiny .v{font-size:.62em}.cell.empty{background:#0a0f1a66;border-color:#00f0ff12;cursor:default}.cell.num{border-color:#00f0ff47;box-shadow:inset 0 0 14px #00f0ff0d}.cell.num.prime{border-color:#00f0ff99;color:var(--cyan);box-shadow:inset 0 0 16px #00f0ff1a,0 0 8px #00f0ff1f}.cell.num.fib{border-color:#a3ff1273}.cell.num.fib .v{color:var(--green);text-shadow:0 0 8px rgba(163,255,18,.4)}.cell.num.prime.fib .v{color:var(--cyan)}.cell.num.big{border-color:#ffb3008c}.cell.num.big .v{color:var(--amber)}.cell.num.zero{border-color:#9d4dffb3;background:radial-gradient(circle,rgba(157,77,255,.2),var(--surface));animation:zeroPulse 1.2s infinite}.cell.num.zero .v{color:var(--purple)}@keyframes zeroPulse{0%,to{box-shadow:0 0 6px #9d4dff4d}50%{box-shadow:0 0 18px #9d4dffa6}}.cell.dead{background:repeating-linear-gradient(45deg,#131a29 0 6px,#0c1220 6px 12px);border-color:#8a93a659;color:var(--muted);cursor:not-allowed}.cell.tumor{background:radial-gradient(circle,rgba(255,59,59,.25),var(--surface));border-color:#ff3b3bb3;color:var(--red);cursor:not-allowed;animation:tumorPulse 1s infinite}.cell.tumor.critical{animation-duration:.4s}@keyframes tumorPulse{0%,to{box-shadow:0 0 8px #ff3b3b59}50%{box-shadow:0 0 22px #ff3b3bbf}}.board.target-num .cell.empty{border-color:#a3ff1266;animation:targetPulse 1.4s infinite}.board.target-op .cell.num{border-color:#ff2d958c;animation:targetPulseOp 1.4s infinite}.board.target-bomb .cell:not(.tumor){border-color:#ffb30080}@keyframes targetPulse{0%,to{box-shadow:inset 0 0 8px #a3ff120f}50%{box-shadow:inset 0 0 16px #a3ff122e}}@keyframes targetPulseOp{0%,to{box-shadow:inset 0 0 8px #ff2d9514}50%{box-shadow:inset 0 0 16px #ff2d9533}}.cell.hover-drop{border-color:var(--green)!important;box-shadow:0 0 16px #a3ff1273,inset 0 0 14px #a3ff1226!important;transform:scale(1.04)}.cell.previewing:after{content:attr(data-preview);position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:.9em;color:var(--green);background:#04060cb8;text-shadow:0 0 10px rgba(163,255,18,.6)}.cell.cursor{outline:1px dashed rgba(0,240,255,.6);outline-offset:2px}.cell.pop{animation:cellPop .3s ease}@keyframes cellPop{0%{transform:scale(.4);filter:brightness(2.4)}70%{transform:scale(1.12)}to{transform:scale(1)}}.cell.zap{animation:cellZap .35s ease}@keyframes cellZap{0%{filter:brightness(2.6) saturate(2)}to{filter:none}}.cell.bump{animation:cellBump .28s ease}@keyframes cellBump{0%{transform:translateY(0)}40%{transform:translateY(-4px);filter:brightness(1.8)}to{transform:translateY(0)}}.cell.clearing{animation:cellClear .22s ease forwards}@keyframes cellClear{0%{filter:brightness(3);transform:scale(1.08)}to{filter:brightness(2);transform:scale(0);opacity:0}}.cell.imploding{animation:cellImplode .42s ease forwards}@keyframes cellImplode{0%{filter:brightness(2) hue-rotate(60deg)}60%{transform:scale(.5) rotate(90deg)}to{transform:scale(0) rotate(180deg);opacity:0}}.cell.nope{animation:nope .3s ease;border-color:var(--red)!important}@keyframes nope{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.board-msg{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;text-align:center;opacity:0;width:max-content;max-width:96%}.board-msg b{display:block;font-family:var(--mono);font-size:clamp(24px,5.4vmin,40px);font-weight:800;letter-spacing:.08em}.board-msg span{display:block;font-size:12px;color:var(--text);margin-top:4px;letter-spacing:.2em}.board-msg.show{animation:bannerIn 1.6s ease forwards}.board-msg.tone-cyan b{color:var(--cyan);text-shadow:0 0 24px rgba(0,240,255,.8),0 0 60px rgba(0,240,255,.4)}.board-msg.tone-gold b{color:var(--gold);text-shadow:0 0 24px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.4)}.board-msg.tone-danger b{color:var(--red);text-shadow:0 0 24px rgba(255,59,59,.8)}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}20%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-62%) scale(1)}}.hint-bar{font-size:11.5px;color:var(--muted);text-align:center;min-height:17px;letter-spacing:.02em;transition:color .2s}.hint-bar.urgent{color:var(--amber);animation:lowPulse 1s infinite}.hand-area{display:flex;gap:10px;align-items:stretch}.hand{display:flex;gap:8px;flex:1;justify-content:center;touch-action:none}.tile{width:clamp(58px,15vw,74px);height:clamp(72px,19vw,90px);border-radius:8px;position:relative;cursor:grab;touch-action:none;background:linear-gradient(165deg,var(--surface3),var(--surface));border:1px solid var(--line-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 4px 14px #00000073,inset 0 0 18px #00f0ff0a}.tile:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000080,0 0 16px #00f0ff33}.tile.selected{transform:translateY(-7px);border-color:var(--green);box-shadow:0 10px 24px #0000008c,0 0 22px #a3ff1266}.tile .tv{font-family:var(--mono);font-weight:800;font-size:27px;color:var(--text);text-shadow:0 0 12px rgba(0,240,255,.4);line-height:1}.tile .tk{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--muted)}.tile.op .tv{font-size:22px}.tile .tv.op-\+{color:var(--green);text-shadow:0 0 12px rgba(163,255,18,.5)}.tile .tv.op--{color:var(--blue);text-shadow:0 0 12px rgba(77,124,255,.5)}.tile .tv.op-×{color:var(--amber);text-shadow:0 0 12px rgba(255,179,0,.5)}.tile .tv.op-mod{color:var(--magenta);font-size:17px;text-shadow:0 0 12px rgba(255,45,149,.5)}.tile .tv.bomb{color:var(--red);text-shadow:0 0 14px rgba(255,59,59,.6)}.tile.bomb{border-color:#ff3b3b8c}.tile.nope{animation:nope .3s ease}.drag-ghost{position:fixed;z-index:300;pointer-events:none;transform:translate(-50%,-58%) scale(1.08) rotate(-2deg);opacity:.94;cursor:grabbing;box-shadow:0 14px 34px #0009,0 0 26px #00f0ff66!important}.hand-actions{display:flex;flex-direction:column;gap:6px;justify-content:center;width:92px;flex-shrink:0}.btn.act{font-size:11px;padding:7px 6px;width:100%}.btn.act b{color:var(--cyan);font-weight:700}.btn.act b.lock{color:var(--gold)}.bottom-bar{display:flex;gap:8px;justify-content:center}.bottom-bar .btn{flex:1;font-size:11.5px;padding:7px 4px;max-width:120px}.btn{font-family:var(--sans);font-size:13px;color:var(--text);background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:9px 16px;cursor:pointer;transition:all .16s;letter-spacing:.02em}.btn:hover:not(:disabled){border-color:var(--line-strong);box-shadow:0 0 14px #00f0ff33;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn.primary{border-color:#00f0ff8c;color:var(--cyan);background:#00f0ff14}.btn.primary:hover:not(:disabled){box-shadow:0 0 18px #00f0ff59}.btn.gold{border-color:#ffd7008c;color:var(--gold);background:#ffd70012}.btn.gold:hover:not(:disabled){box-shadow:0 0 18px #ffd70059}.btn.danger{border-color:#ff3b3b8c;color:var(--red);background:#ff3b3b12}.btn.ghost{background:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){color:var(--text)}.btn.pulse{animation:boostPulse 1.2s infinite}.axiom-card{display:flex;gap:9px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:6px;margin-bottom:7px;cursor:pointer;background:#0e152499;transition:all .16s}.axiom-card:hover{background:var(--surface3);transform:translate(2px)}.axiom-card.r-rare{border-left-color:var(--blue)}.axiom-card.r-legend{border-left-color:var(--gold);box-shadow:inset 0 0 16px #ffd7000d}.axiom-card.sealed{filter:grayscale(.9);opacity:.5}.axiom-card.empty{border-left-color:var(--muted);border-style:dashed;cursor:default;opacity:.6}.axiom-card.empty:hover{transform:none}.ac-icon{font-family:var(--mono);font-size:19px;color:var(--cyan);width:26px;text-align:center;flex-shrink:0}.axiom-card.r-rare .ac-icon{color:var(--blue)}.axiom-card.r-legend .ac-icon{color:var(--gold)}.ac-text{min-width:0}.ac-text b{display:block;font-size:12px;color:var(--text);margin-bottom:2px}.ac-text span{display:block;font-size:10px;color:var(--muted);line-height:1.45}.seal-note{font-size:10px;color:var(--red);margin-top:6px;font-family:var(--mono)}.seal-note.binary-note{color:var(--blue)}.log-empty{font-size:11px;color:var(--muted);padding:6px 2px}.log-row{display:grid;grid-template-columns:26px 34px 1fr auto;gap:5px;align-items:baseline;font-family:var(--mono);font-size:10.5px;padding:4px 2px;border-bottom:1px dashed rgba(0,240,255,.07)}.lg-step{color:var(--muted)}.lg-tile{color:var(--cyan);font-weight:700}.lg-kind{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg-score{color:var(--green)}.lb-row{display:grid;grid-template-columns:20px 1fr auto;gap:7px;align-items:baseline;font-size:11.5px;padding:5px 6px;border-radius:4px;margin-bottom:2px}.lb-row .lb-rank{font-family:var(--mono);color:var(--muted);font-size:10px}.lb-row .lb-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-row .lb-name i{display:block;font-style:normal;font-size:9px;color:var(--muted)}.lb-row .lb-score{font-family:var(--mono);color:var(--cyan);font-size:11px}.lb-row.you{background:#ffd70017;border:1px solid rgba(255,215,0,.35)}.lb-row.you .lb-name{color:var(--gold);font-weight:700}.lb-row.you .lb-score{color:var(--gold)}.lb-head{font-family:var(--mono);font-size:11px;color:var(--cyan);letter-spacing:.1em;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}.lb-head span{font-size:8.5px;color:var(--muted);border:1px solid var(--line);padding:1px 4px;border-radius:3px}.panel-more{width:100%;margin-top:8px;font-size:11px;padding:6px}.stat-lines div{display:flex;justify-content:space-between;font-size:11.5px;padding:4px 2px;border-bottom:1px dashed rgba(0,240,255,.07)}.stat-lines span{color:var(--muted)}.stat-lines b{font-family:var(--mono);color:var(--text);font-weight:600}#modal-root{position:fixed;inset:0;z-index:100;pointer-events:none}.modal-scrim{position:fixed;inset:0;background:#020408cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .18s;pointer-events:auto}.modal-scrim.in{opacity:1}.modal-scrim.out{opacity:0}.modal-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.95);width:min(92vw,520px);max-height:88dvh;display:flex;flex-direction:column;background:linear-gradient(170deg,var(--surface3) 0%,var(--surface) 45%,var(--bg) 100%);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 0 80px #00f0ff24,0 24px 60px #0009;opacity:0;transition:all .18s ease;pointer-events:auto;overflow:hidden}.modal-dialog.in{opacity:1;transform:translate(-50%,-50%) scale(1)}.modal-dialog.out{opacity:0;transform:translate(-50%,-50%) scale(.96)}.modal-dialog.wide{width:min(94vw,780px)}.modal-dialog.tone-gold{border-color:#ffd70080;box-shadow:0 0 80px #ffd7001f,0 24px 60px #0009}.modal-dialog.tone-danger{border-color:#ff3b3b80;box-shadow:0 0 80px #ff3b3b1f,0 24px 60px #0009}.modal-head{padding:14px 18px 10px;border-bottom:1px solid var(--line);position:relative;flex-shrink:0}.modal-title{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--cyan);letter-spacing:.06em;display:flex;align-items:center;gap:8px}.modal-title .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:lowPulse 2s infinite}.tone-gold .modal-title{color:var(--gold)}.tone-gold .modal-title .dot{background:var(--gold);box-shadow:0 0 10px var(--gold)}.tone-danger .modal-title{color:var(--red)}.tone-danger .modal-title .dot{background:var(--red);box-shadow:0 0 10px var(--red)}.modal-sub{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.18em;margin-top:4px}.modal-x{position:absolute;right:12px;top:12px;background:transparent;border:1px solid var(--line);color:var(--muted);width:26px;height:26px;border-radius:5px;cursor:pointer;font-size:12px}.modal-x:hover{color:var(--red);border-color:#ff3b3b80}.modal-body{padding:16px 18px;overflow-y:auto;min-height:0}.modal-actions{display:flex;gap:8px;padding:12px 18px 16px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--line);flex-shrink:0}.modal-actions .btn{font-size:12.5px}.pro-reason{font-size:12.5px;color:var(--warm);line-height:1.6;background:#ffb30012;border:1px solid rgba(255,179,0,.3);border-radius:6px;padding:10px 12px;margin-bottom:14px}.pro-hero{text-align:center;margin-bottom:14px}.pro-crown{font-size:46px;color:var(--gold);text-shadow:0 0 30px rgba(255,215,0,.7);font-family:var(--mono)}.pro-name{font-family:var(--mono);font-size:24px;letter-spacing:.14em;color:var(--text)}.pro-name b{color:var(--gold)}.pro-tag{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--muted);margin-top:3px}.pro-feats{list-style:none;margin-bottom:16px}.pro-feats li{padding:8px 0;border-bottom:1px dashed rgba(255,215,0,.15)}.pro-feats b{display:block;font-size:13px;color:var(--gold);margin-bottom:2px}.pro-feats span{font-size:11px;color:var(--muted)}.pro-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.price-card{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer;text-align:center;transition:all .18s;color:var(--text)}.price-card:hover{transform:translateY(-2px);box-shadow:0 0 18px #ffd70033}.price-card.best{border-color:#ffd70099;background:#ffd7000f}.p-tag{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.price-card.best .p-tag{color:var(--gold)}.p-price{display:block;font-family:var(--mono);font-size:26px;font-weight:800;color:var(--gold)}.p-price i{font-size:12px;font-style:normal;color:var(--muted)}.p-price.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.p-note{display:block;font-size:10px;color:var(--muted);margin-top:4px}.pro-demo{font-size:10px;color:var(--amber);text-align:center;opacity:.85}.ad-label{font-size:12px;color:var(--text);margin-bottom:10px}.ad-player{position:relative;aspect-ratio:16 / 9;background:#000;border-radius:8px;border:1px solid var(--line);overflow:hidden;margin-bottom:10px;display:flex;align-items:center;justify-content:center}.ad-glitch{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono)}.ad-glitch span{font-size:30px;font-weight:800;color:#00f0ff29;animation:adGlitch 1.1s infinite steps(2)}.ad-glitch span:nth-child(2){color:#ff2d9529;animation-delay:.3s}.ad-glitch span:nth-child(3){color:#ffd70021;animation-delay:.6s}@keyframes adGlitch{0%,to{transform:none;opacity:.7}50%{transform:translate(4px) skew(6deg);opacity:1}}.ad-copy{position:relative;z-index:1;text-align:center;font-size:13px;color:var(--text);line-height:1.7;padding:0 16px}.ad-copy i{font-size:10px;color:var(--muted)}.ad-count{position:absolute;right:10px;top:10px;z-index:2;font-family:var(--mono);font-size:15px;font-weight:700;color:var(--gold);background:#000000a6;border:1px solid rgba(255,215,0,.4);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ad-progress{height:5px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-bottom:10px}.ad-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--green),var(--gold));transition:width .9s linear}.ad-reward{font-size:12px;color:var(--muted);text-align:center}.ad-reward b{color:var(--gold)}.shop-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--text);margin-bottom:4px}.shop-coins{font-family:var(--mono);font-size:17px;color:var(--gold);font-weight:700}.shop-slots{font-size:11px;color:var(--muted);margin-bottom:12px}.shop-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.shop-card{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:5px;transition:all .18s}.shop-card:hover{transform:translateY(-2px)}.shop-card.r-common{border-top:3px solid var(--cyan)}.shop-card.r-rare{border-top:3px solid var(--blue)}.shop-card.r-legend{border-top:3px solid var(--gold);box-shadow:inset 0 0 24px #ffd7000f}.shop-card.sold{opacity:.45}.sc-icon{font-family:var(--mono);font-size:30px;color:var(--cyan);text-shadow:0 0 14px rgba(0,240,255,.4)}.r-rare .sc-icon{color:var(--blue);text-shadow:0 0 14px rgba(77,124,255,.4)}.r-legend .sc-icon{color:var(--gold);text-shadow:0 0 14px rgba(255,215,0,.5)}.sc-name{font-size:13.5px;font-weight:700;color:var(--text)}.sc-name .lock{font-size:10px;color:var(--gold)}.sc-en{font-family:var(--mono);font-size:8.5px;color:var(--muted);letter-spacing:.06em}.sc-rarity{font-size:10px;color:var(--cyan)}.r-rare .sc-rarity{color:var(--blue)}.r-legend .sc-rarity{color:var(--gold)}.sc-desc{font-size:11px;color:var(--text);line-height:1.55;flex:1}.sc-flavor{font-size:10px;color:var(--muted);font-style:italic;line-height:1.5}.sc-buy{width:100%;margin-top:6px;font-size:12px;padding:8px}.shop-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.shop-tip{font-size:10px;color:var(--muted)}.shop-reroll{font-size:11.5px;padding:7px 12px}.result-body{text-align:center}.result-title{font-size:27px;font-weight:800;color:var(--text);letter-spacing:.06em}.result-title.gold{color:var(--gold);text-shadow:0 0 24px rgba(255,215,0,.5)}.result-title.danger{color:var(--red);text-shadow:0 0 24px rgba(255,59,59,.5)}.result-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.16em;margin:5px 0 12px}.result-score{font-family:var(--mono);font-size:38px;font-weight:800;color:var(--cyan);text-shadow:0 0 22px rgba(0,240,255,.5)}.result-score i{font-size:15px;font-style:normal;color:var(--muted);text-shadow:none}.reward-line{font-size:12.5px;color:var(--gold);margin:8px 0}.rating-line{font-size:12.5px;color:var(--text);margin:8px 0 2px}.rating-line b{color:var(--gold)}.streak-line{font-size:13px;color:var(--amber);margin-bottom:6px}.near-miss{font-size:12px;color:var(--warm);line-height:1.6;margin:10px 0;background:#ffb30014;border:1px solid rgba(255,179,0,.4);border-radius:6px;padding:9px 12px;animation:lowPulse 1.4s infinite}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.stats-grid>div{background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:8px 4px}.stats-grid b{display:block;font-family:var(--mono);font-size:15px;color:var(--cyan);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis}.stats-grid span{font-size:9.5px;color:var(--muted)}.lb-mini{margin-top:12px;text-align:left}.boss-intro,.endless-intro{text-align:center;padding:8px 0}.boss-icon{font-size:54px;color:var(--red);text-shadow:0 0 34px rgba(255,59,59,.7);animation:tumorPulse 1.2s infinite}.boss-name{font-size:26px;font-weight:800;color:var(--red);margin:8px 0 2px;letter-spacing:.08em}.boss-en{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.18em;margin-bottom:14px}.boss-desc{font-size:13.5px;color:var(--text);line-height:1.7;margin-bottom:12px}.boss-counter{font-size:11.5px;color:var(--amber);background:#ffb30012;border:1px solid rgba(255,179,0,.3);border-radius:6px;padding:8px 12px}.endless-symbol{font-size:64px;font-family:var(--mono);color:var(--gold);text-shadow:0 0 40px rgba(255,215,0,.8)}.endless-title{font-size:23px;font-weight:800;color:var(--gold);margin:6px 0 12px;letter-spacing:.1em}.endless-desc{font-size:13px;color:var(--text);line-height:1.9}.endless-desc b{font-family:var(--mono);color:var(--cyan);font-size:16px}.report-tip{font-size:11px;color:var(--muted);margin-bottom:10px;line-height:1.6}.report-pre{font-family:var(--mono);font-size:12.5px;line-height:1.75;color:var(--text);background:#020409;border:1px solid var(--line);border-radius:8px;padding:14px;white-space:pre-wrap;word-break:break-all;user-select:text;-webkit-user-select:text}.report-pre.small{font-size:11px}.challenge-code{font-family:var(--mono);font-size:11px;color:var(--gold);word-break:break-all;background:#ffd7000d;border:1px dashed rgba(255,215,0,.4);border-radius:6px;padding:10px;margin-bottom:10px;user-select:text;-webkit-user-select:text}.challenge-note{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.6}.poster-body{text-align:center}.poster-img{width:100%;max-height:58dvh;object-fit:contain;border-radius:8px;border:1px solid rgba(255,215,0,.4);box-shadow:0 0 40px #ffd7001f;margin-bottom:10px}.rank-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faction-join{width:100%;margin-top:10px;font-size:11.5px}.faction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.faction-btn{background:var(--surface2);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:12px;padding:10px 8px;cursor:pointer;transition:all .15s}.faction-btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}.faction-btn.active{border-color:var(--gold);color:var(--gold);background:#ffd70014;box-shadow:0 0 12px #ffd70033}.codex-tabs{display:flex;gap:8px;margin-bottom:14px}.ctab{background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:12px;padding:7px 14px;cursor:pointer}.ctab.active{color:var(--cyan);border-color:var(--line-strong);background:#00f0ff14}.codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px}.codex-card{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:11px;border-top:3px solid var(--cyan)}.codex-card.r-rare{border-top-color:var(--blue)}.codex-card.r-legend{border-top-color:var(--gold)}.codex-card.boss{border-top-color:var(--red)}.codex-card.owned{box-shadow:inset 0 0 20px #00f0ff14;border-color:var(--line-strong)}.cx-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cx-icon{font-family:var(--mono);font-size:24px;color:var(--cyan)}.cx-icon.danger{color:var(--red)}.r-rare .cx-icon{color:var(--blue)}.r-legend .cx-icon{color:var(--gold)}.cx-rarity{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.12em}.cx-name{font-size:13.5px;font-weight:700;color:var(--text)}.cx-owned{font-size:9.5px;color:var(--green)}.cx-en{font-family:var(--mono);font-size:8.5px;color:var(--muted);margin:2px 0 6px}.cx-desc{font-size:11px;color:var(--text);line-height:1.55;margin-bottom:6px}.cx-flavor{font-size:10px;color:var(--muted);font-style:italic;line-height:1.5}.td-cell{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface3);border:1px solid var(--line-strong);border-radius:5px;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--cyan)}.td-cell.zero{color:var(--purple);border-color:#9d4dff99}.td-cell.hot{color:var(--gold);border-color:#ffd700a6;box-shadow:0 0 10px #ffd7004d}.td-cell.dead{background:repeating-linear-gradient(45deg,#131a29 0 5px,#0c1220 5px 10px);color:var(--muted);border-color:#8a93a666}.td-arrow{color:var(--muted);font-size:12px}.td-boom{font-size:18px}.mpip{position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-radius:50%;pointer-events:none;z-index:1}.tile .mpip{right:5px;bottom:5px;width:8px;height:8px}[data-mod="0"] .mpip{background:var(--cyan);box-shadow:0 0 6px #00f0ffcc}[data-mod="1"] .mpip{background:var(--amber);box-shadow:0 0 6px #ffb300cc}[data-mod="2"] .mpip{background:var(--magenta);box-shadow:0 0 6px #ff2d95cc}.mpip.num-pip{width:auto;height:auto;border-radius:0;background:none!important;box-shadow:none!important;font-family:var(--mono);font-size:9px;font-weight:800;line-height:1}[data-mod="0"] .mpip.num-pip{color:var(--cyan)}[data-mod="1"] .mpip.num-pip{color:var(--amber)}[data-mod="2"] .mpip.num-pip{color:var(--magenta)}.cell.will-boom{border-color:var(--gold)!important;box-shadow:0 0 16px #ffd70080,inset 0 0 14px #ffd70024!important}.cell.will-boom:before{content:attr(data-boom);position:absolute;inset:1px auto auto 3px;z-index:3;font-size:12px;opacity:1;background:none;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,215,0,.9));animation:boomFlag .6s infinite alternate}@keyframes boomFlag{0%{transform:scale(1)}to{transform:scale(1.3)}}.cell.boom-line{border-color:#ffd7008c!important;box-shadow:inset 0 0 12px #ffd7001f}.cell.boom-spot{border-color:var(--gold)!important;box-shadow:0 0 14px #ffd7006b,inset 0 0 12px #ffd7001f!important;animation:spotPulse .9s infinite alternate}.cell.boom-spot:after{content:"💥";position:absolute;top:1px;right:3px;z-index:3;font-size:11px;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,215,0,.9))}@keyframes spotPulse{0%{box-shadow:0 0 8px #ffd7004d,inset 0 0 8px #ffd70014}to{box-shadow:0 0 18px #ffd70099,inset 0 0 14px #ffd70029}}.tile .boom-badge{position:absolute;top:-7px;right:-6px;z-index:4;padding:1px 5px;border-radius:8px;font-size:10px;font-weight:700;color:#1a1400;background:var(--gold);box-shadow:0 0 8px #ffd700b3;pointer-events:none}.rule-tag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;font-size:10px;font-weight:700;color:var(--amber);border:1px solid rgba(255,191,0,.5);vertical-align:middle}.coach-bar{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#00f0ff1a,#9d4dff14);border:1px solid rgba(0,240,255,.4);border-radius:8px;padding:8px 12px;animation:coachIn .3s ease}@keyframes coachIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.coach-step{font-family:var(--mono);font-weight:800;font-size:13px;color:#04121a;background:var(--cyan);border-radius:6px;padding:4px 8px;flex-shrink:0;box-shadow:0 0 12px #00f0ff80}.coach-text{flex:1;font-size:12px;color:var(--text);line-height:1.5}.coach-text b{display:block;color:var(--cyan);font-size:12.5px;margin-bottom:2px}.coach-skip{font-size:10.5px;padding:5px 9px;flex-shrink:0}.cell.coach-cell{border-color:var(--cyan)!important;animation:coachCell 1s infinite;z-index:2}@keyframes coachCell{0%,to{box-shadow:0 0 6px #00f0ff59,inset 0 0 10px #00f0ff1f}50%{box-shadow:0 0 22px #00f0ffd9,inset 0 0 18px #00f0ff4d}}.tile.coach-tile{border-color:var(--cyan)!important;animation:coachTile 1s infinite}@keyframes coachTile{0%,to{transform:translateY(0);box-shadow:0 0 8px #00f0ff59}50%{transform:translateY(-6px);box-shadow:0 0 24px #00f0ffd9}}#app.in-tutorial .bottom-bar,#app.in-tutorial .hand-actions,#app.in-tutorial #boostBtn{display:none}#app.in-tutorial .side-panel{opacity:.45}.hint-bar{cursor:pointer}.hint-bar:hover{color:var(--cyan)}.rules-body{display:flex;flex-direction:column;gap:12px}.rule-row{display:flex;gap:12px;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:12px}.rule-demo{display:flex;gap:5px;align-items:center;flex-shrink:0}.rule-text{font-size:11.5px;color:var(--text);line-height:1.6}.rule-text b{color:var(--gold)}.rule-text>b:first-child{display:block;font-size:13px;margin-bottom:3px;color:var(--cyan)}.tut-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#00f0ff0d;border:1px dashed rgba(0,240,255,.3);border-radius:8px;padding:10px 12px;font-size:11px;color:var(--text)}.tut-legend b{color:var(--cyan);font-size:11.5px}.tut-legend em{color:var(--gold);font-style:normal;font-weight:700}.lg-item{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.m0{background:var(--cyan);box-shadow:0 0 8px #00f0ffcc}.dot.m1{background:var(--amber);box-shadow:0 0 8px #ffb300cc}.dot.m2{background:var(--magenta);box-shadow:0 0 8px #ff2d95cc}.tut-recap{display:flex;flex-direction:column;gap:12px}.recap-title{font-size:15px;font-weight:800;color:var(--gold);text-align:center;text-shadow:0 0 16px rgba(255,215,0,.4)}.recap-lines{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text);line-height:1.6}.recap-lines>div{display:flex;gap:8px;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:9px 12px}.recap-lines b{color:var(--gold)}.recap-lines .td-cell{width:24px;height:24px;font-size:12px;flex-shrink:0}.recap-tip{font-size:10.5px;color:var(--muted);text-align:center}.set-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(0,240,255,.1)}.set-row label{font-size:12.5px;color:var(--text);flex-shrink:0}.set-row.buttons{flex-wrap:wrap;justify-content:flex-start;border-bottom:none}.set-row.buttons .btn{font-size:11.5px;padding:7px 11px}.set-input{background:#020409;border:1px solid var(--line-strong);border-radius:6px;color:var(--cyan);font-family:var(--mono);font-size:13px;padding:7px 10px;width:160px;outline:none}.set-input:focus{box-shadow:0 0 12px #00f0ff40}.platform-switch{display:flex;gap:6px;flex-wrap:wrap}.platform-switch .btn{font-size:11px;padding:7px 10px}.set-note{font-size:10.5px;color:var(--muted);line-height:1.65;padding:10px 0}.set-about{font-family:var(--mono);font-size:9.5px;color:var(--muted);line-height:1.8;margin-top:10px;text-align:center;letter-spacing:.04em}.toggle-sound,.toggle-fx{font-size:11.5px;padding:7px 12px}.replace-tip{font-size:12.5px;color:var(--text);margin-bottom:12px;line-height:1.6}.replace-tip b{color:var(--gold)}.replace-list{display:flex;flex-direction:column;gap:7px}.replace-row{display:grid;grid-template-columns:30px 90px 1fr;gap:9px;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:9px 11px;cursor:pointer;text-align:left;color:var(--text);transition:all .15s}.replace-row:hover{border-color:var(--red);background:#ff3b3b0f}.ra-icon{font-family:var(--mono);font-size:18px;color:var(--cyan)}.ra-name{font-size:12px;font-weight:700}.ra-desc{font-size:10px;color:var(--muted);line-height:1.45}.confirm-body{font-size:13px;color:var(--text);line-height:1.7}#toast-root{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:92vw}.toast{font-size:12.5px;color:var(--text);background:#0a0f1af2;border:1px solid var(--line-strong);border-left:3px solid var(--cyan);border-radius:6px;padding:9px 16px;opacity:0;transform:translateY(-8px);transition:all .22s ease;box-shadow:0 8px 30px #00000080;backdrop-filter:blur(6px);max-width:92vw}.toast.in{opacity:1;transform:translateY(0)}.toast-gold{border-left-color:var(--gold);color:var(--warm)}.toast-danger{border-left-color:var(--red)}.toast-success{border-left-color:var(--green)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}::-webkit-scrollbar-thumb{background:#00f0ff38;border-radius:4px;border:1px solid rgba(0,240,255,.15)}::-webkit-scrollbar-thumb:hover{background:#00f0ff73}*{scrollbar-width:thin;scrollbar-color:rgba(0,240,255,.3) var(--surface)}@media(max-width:1179px){#app{grid-template-columns:minmax(0,1fr);padding:8px 10px}.side-panel{display:none}#game{max-width:520px;width:100%;margin:0 auto}}@media(max-width:560px){#app{padding:6px}#game{padding:8px 9px 9px;gap:6px;border-radius:10px}.logo{font-size:15px}.mode-tabs button{font-size:11px;padding:5px 7px}.platform-badge{display:none}.streak{font-size:11px}.score-row{grid-template-columns:1.4fr 1fr .9fr .8fr;gap:5px}.score-box{padding:4px 7px}.score-num{font-size:14px}.score-box.main .score-num{font-size:18px}.bb-desc{display:none}.hand-actions{width:78px}.btn.act{font-size:10px;padding:6px 4px}.shop-cards,.rank-cols,.tut-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:1;min-width:40%}.bottom-bar .btn{font-size:10.5px;padding:6px 2px}.daily-tag{display:none}}@media(max-height:700px){.tile{height:68px}.hint-bar{font-size:10.5px}#topbar{gap:6px}.axiom-chips{min-height:24px}.axiom-chip{width:24px;height:24px;font-size:13px}.boss-banner{padding:3px 8px}}@media(max-width:460px){html[lang=en] .mode-tabs button{font-size:0;padding:5px 7px}html[lang=en] .mode-tabs button[data-mode=daily]:after{content:"Daily";font-size:11px}html[lang=en] .mode-tabs button[data-mode=run]:after{content:"Run";font-size:11px}}@media(max-width:380px){#topbar{gap:5px}.logo{font-size:13px}.mode-tabs button{font-size:0;padding:5px 7px}.mode-tabs button[data-mode=daily]:after{content:"每日";font-size:10px}.mode-tabs button[data-mode=run]:after{content:"肉鸽";font-size:10px}html[lang=en] .mode-tabs button[data-mode=daily]:after{content:"Daily"}html[lang=en] .mode-tabs button[data-mode=run]:after{content:"Run"}.streak{font-size:10px}.pro-badge{padding:3px 5px;font-size:10px}.icon-btn{width:26px;height:26px;font-size:12px}.hand-area{gap:6px}.hand{gap:5px}.tile{width:clamp(46px,14vw,58px);height:clamp(60px,17vw,74px)}.tile .tv{font-size:22px}.hand-actions{width:52px;gap:4px}.btn.act{font-size:9px;padding:5px 2px}.score-row{grid-template-columns:1.3fr 1fr .8fr .7fr;gap:4px}.score-box{padding:4px 5px}.score-box label{font-size:8px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-bar{gap:4px}.bottom-bar .btn{font-size:9.5px}}.rotate-gate{display:none}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){.rotate-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;position:fixed;inset:0;z-index:600;text-align:center;background:radial-gradient(ellipse at 50% 40%,#0a1222fa,#04060cfc);backdrop-filter:blur(6px)}.rotate-gate .rg-phone{width:44px;height:74px;border:2px solid var(--cyan);border-radius:8px;box-shadow:0 0 24px #00f0ff80,inset 0 0 12px #00f0ff33;animation:rgSpin 2.4s ease-in-out infinite}.rotate-gate b{font-family:var(--mono);font-size:17px;color:var(--cyan);letter-spacing:.14em;text-shadow:0 0 16px rgba(0,240,255,.7)}.rotate-gate span{font-size:12px;color:var(--muted);letter-spacing:.1em}}@keyframes rgSpin{0%,20%{transform:rotate(90deg)}55%,to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.05s!important}}
