:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#081016;--bg-strong:#04080d;--surface:#0d1822d1;--surface-strong:#0f1b26f2;--surface-soft:#ffffff0e;--line:#a9edff2e;--line-strong:#70e8ff5c;--text:#f4fbff;--muted:#91a6b4;--muted-strong:#bdd2dd;--cyan:#29d8ff;--mint:#64e8a7;--coral:#ff6277;--amber:#ffd35a;--violet:#a76bff;--shadow:0 18px 60px #00000073;font-synthesis:none;text-rendering:geometricprecision;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100svh;color:var(--text);background:radial-gradient(circle at 50% 16%, #29d8ff1f, transparent 34rem), linear-gradient(180deg, #081016bf, #04080deb), url(./arcade-grid-bg-C_JZnEno.png) center / cover fixed, var(--bg);overflow-x:hidden}body.is-local-duel-active{overflow:hidden}button,select,input{font:inherit}button{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100svh;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex-direction:column;gap:14px;display:flex}.app-shell:fullscreen{background:radial-gradient(circle at 50% 16%, #29d8ff1f, transparent 34rem), linear-gradient(180deg, #081016bf, #04080deb), url(./arcade-grid-bg-C_JZnEno.png) center / cover fixed, var(--bg);width:100vw;height:100vh;overflow:auto}.topbar{border:1px solid var(--line);width:min(1420px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050c1294;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:10px 12px;display:flex}.brand{min-width:0;color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{background:#ffffff12;border:1px solid #29d8ff52;border-radius:8px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:36px;height:36px;padding:5px;display:grid}.brand-mark span{border-radius:3px;box-shadow:0 0 14px}.brand-mark span:first-child{color:var(--cyan);background:var(--cyan);grid-area:1/1}.brand-mark span:nth-child(2){color:var(--mint);background:var(--mint);grid-area:1/2}.brand-mark span:nth-child(3){color:var(--amber);background:var(--amber);grid-area:2/2}.brand-mark span:nth-child(4){color:var(--coral);background:var(--coral);grid-area:2/3}.brand-copy{gap:1px;min-width:0;display:grid}.brand-copy strong{letter-spacing:0;font-size:1rem;line-height:1.05}.brand-copy small{color:var(--muted);font-size:.75rem;line-height:1.2}.top-actions{gap:8px;display:inline-flex}.icon-button,.touch-button{width:42px;height:42px;color:var(--text);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff14;border-radius:8px;place-items:center;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:inline-grid}.icon-button svg,.touch-button svg{stroke-width:2.15px;width:19px;height:19px}.icon-button:hover,.touch-button:hover,.touch-button.is-held{background:#29d8ff24;border-color:#29d8ff8c;box-shadow:0 0 28px #29d8ff24}.icon-button:active,.touch-button:active,.touch-button.is-held{transform:translateY(1px)scale(.98)}.game-layout{flex:1;grid-template-columns:minmax(132px,160px) minmax(0,1fr) minmax(132px,160px);align-items:stretch;gap:14px;width:min(1420px,100%);min-height:0;margin:0 auto;display:grid}.ad-rail{justify-content:center;align-items:center;min-height:600px;display:flex}.ad-unit{color:#f4fbffb8;text-align:center;background:linear-gradient(#fff1,#ffffff05),#03090f75;border:1px dashed #a9edff52;border-radius:8px;align-content:center;place-items:center;gap:7px;width:100%;min-height:min(600px,100svh - 126px);padding:16px 10px;display:grid;box-shadow:inset 0 0 0 1px #ffffff06}.ad-unit span{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:750}.ad-unit small{color:var(--muted);font-size:.72rem}.game-shell{border:1px solid var(--line);min-width:0;min-height:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#0d1822d6,#060d14e0),#050c12cc;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:12px;display:grid}.stats-strip{grid-template-columns:1.45fr repeat(3,minmax(86px,.7fr));gap:9px;display:grid}.stat-card,.panel-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;box-shadow:inset 0 1px #ffffff0e}.stat-card{gap:2px;min-width:0;padding:10px 12px;display:grid}.stat-card span,.panel-title span,.metrics-panel span,.event-panel span,.field-row span,.toggle-row span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:760;line-height:1.1}.stat-card strong{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1rem,2.8vw,1.55rem);line-height:1.05;overflow:hidden}.stat-card-primary{background:linear-gradient(135deg, #29d8ff29, #a76bff17), var(--surface);border-color:#29d8ff59}.battle-strip{background:linear-gradient(135deg,#64e8a71c,#29d8ff14),#050c12a8;border:1px solid #64e8a747;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.battle-strip-main{gap:2px;min-width:0;display:grid}.battle-kicker{color:var(--mint);text-transform:uppercase;font-size:.7rem;font-weight:850;line-height:1}.battle-strip-main strong,.battle-room-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;line-height:1.1;overflow:hidden}.battle-strip-main small,.battle-status,.battle-help,.battle-player-card small,.battle-score-card span{color:var(--muted-strong);font-size:.78rem;line-height:1.25}.battle-score-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.battle-score-card{background:#ffffff0b;border:1px solid #ffffff12;border-radius:8px;gap:2px;min-width:0;padding:8px 10px;display:grid}.battle-score-card span,.battle-score-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.battle-score-card strong{color:var(--text);font-size:1.08rem;line-height:1.05}.battle-strip-actions{gap:8px;display:inline-flex}.battle-small-button{min-height:36px;padding:0 12px}.battle-wide-button{width:100%}.stage-grid{grid-template-columns:minmax(116px,.38fr) minmax(260px,420px) minmax(116px,.38fr);justify-content:center;align-items:stretch;gap:12px;min-height:0;display:grid}.side-panel{align-content:start;gap:10px;min-width:0;display:grid}.panel-section{min-width:0;padding:11px}.panel-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.panel-title strong{color:var(--muted-strong);text-transform:uppercase;font-size:.72rem;line-height:1.1}.piece-preview{background:#ffffff0b;border-radius:8px;place-items:center;min-height:96px;padding:8px;display:grid}.piece-preview.is-empty{color:#f4fbff59}.empty-piece{text-transform:uppercase;font-size:.78rem;font-weight:750}.piece-grid{grid-template-columns:repeat(var(--preview-cols), 1fr);grid-template-rows:repeat(var(--preview-rows), 1fr);gap:3px;display:grid}.piece-grid-large{aspect-ratio:1;width:min(76px,100%)}.piece-grid-small{aspect-ratio:1;width:52px}.piece-cell{background:linear-gradient(180deg, #ffffff8c, transparent 28%), var(--piece-color);box-shadow:inset 0 0 0 1px #ffffff3d, 0 0 12px color-mix(in srgb, var(--piece-color), transparent 54%);border-radius:3px}.piece-cell-empty{box-shadow:none;background:0 0}.metrics-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.metrics-panel div{background:#ffffff09;border:1px solid #ffffff0f;border-radius:8px;gap:3px;padding:8px;display:grid}.metrics-panel strong,.event-panel strong{color:var(--text);font-size:.95rem;line-height:1.1}.board-column{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}.board-frame{aspect-ratio:1/2;touch-action:none;background:radial-gradient(circle at 50% 12%,#29d8ff24,#0000 34%),linear-gradient(#ffffff14,#ffffff04);border:1px solid #29d8ff47;border-radius:8px;justify-self:center;width:min(100%,50svh - 108px);min-width:250px;max-width:420px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0b,0 22px 70px #00000075,0 0 38px #29d8ff1f}.game-canvas{position:absolute;inset:0}.game-canvas canvas{display:block}.status-overlay,.settings-layer,.language-layer,.battle-layer,.leaderboard-layer,.calculus-layer,.rewarded-ad-layer,.local-duel-layer,.tutorial-layer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01050966;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.settings-layer{z-index:20}.language-layer{z-index:22}.battle-layer{z-index:24}.leaderboard-layer{z-index:26}.calculus-layer{z-index:30;background:#000408b8}.rewarded-ad-layer{z-index:32;background:#000408b8}.local-duel-layer{z-index:34;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:radial-gradient(circle at 25% 18%,#29d8ff1f,#0000 28rem),radial-gradient(circle at 78% 20%,#ff62771c,#0000 28rem),#010509d6;align-items:stretch;overflow:auto}.tutorial-layer{z-index:40;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.tutorial-layer-solid{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000408b8}.status-overlay{z-index:8;background:#00000052;padding:18px;position:absolute}.is-tutorial-active .status-overlay,.is-hidden{display:none!important}.status-card,.settings-panel,.language-panel,.battle-panel,.leaderboard-panel,.calculus-panel,.rewarded-ad-panel,.tutorial-card{border:1px solid var(--line-strong);width:min(330px,100%);box-shadow:var(--shadow);text-align:center;background:#081017eb;border-radius:8px;gap:12px;padding:16px;display:grid}.language-panel{text-align:left;width:min(700px,100%)}.battle-panel{text-align:left;width:min(560px,100%)}.leaderboard-panel{text-align:left;width:min(620px,100%)}.calculus-panel{text-align:left;width:min(420px,100%)}.rewarded-ad-panel{text-align:center;width:min(360px,100%)}.rewarded-ad-panel strong{font-size:1.35rem;line-height:1.05}.rewarded-ad-panel p{color:var(--muted-strong);margin:0;font-size:.94rem;line-height:1.42}.rewarded-progress{background:#ffffff14;border:1px solid #29d8ff3d;border-radius:999px;width:100%;height:10px;overflow:hidden}.rewarded-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), var(--mint));width:0%;height:100%;transition:width .1s linear;display:block}.language-help{color:var(--muted-strong);margin:0;font-size:.92rem;line-height:1.35}.leaderboard-help,.calculus-panel p{color:var(--muted-strong);margin:0;font-size:.92rem;line-height:1.4}.calculus-question{background:#29d8ff14;border:1px solid #29d8ff38;border-radius:8px;padding:12px;font-weight:760;color:var(--text)!important}.calculus-form{gap:10px;display:grid}.calculus-hint{min-height:20px;color:var(--muted-strong);line-height:1.35}.calculus-status{min-height:20px;color:var(--mint)!important}.calculus-status.is-error{color:var(--coral)!important}.battle-help,.battle-status{margin:0}.battle-field{gap:6px;display:grid}.battle-field span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:760;line-height:1.1}.battle-field input{width:100%;min-height:42px;color:var(--text);border:1px solid var(--line);background:#01060ab8;border-radius:8px;padding:0 11px}.battle-action-grid{grid-template-columns:minmax(128px,.7fr) minmax(0,1fr) minmax(116px,.6fr);align-items:end;gap:10px;display:grid}.battle-room-card{background:#64e8a712;border:1px solid #64e8a747;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.battle-room-card>div{gap:4px;min-width:0;display:grid}.battle-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.battle-player-card{background:#ffffff0b;border:1px solid #ffffff12;border-radius:8px;gap:5px;min-width:0;padding:11px;display:grid}.battle-player-card span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:760;line-height:1.1}.battle-player-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.battle-status{min-height:20px}.battle-status.is-error{color:var(--coral)}.battle-modal-actions{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.leaderboard-tabs{flex-wrap:wrap;gap:8px;display:flex}.leaderboard-tab{min-height:36px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:8px;padding:0 12px;font-weight:780}.leaderboard-tab.is-selected{color:#041018;background:linear-gradient(135deg, var(--cyan), var(--mint));border-color:#0000}.leaderboard-status{min-height:20px;color:var(--muted-strong);margin:0;font-size:.9rem}.leaderboard-status.is-error{color:var(--coral)}.leaderboard-list{gap:8px;max-height:min(42svh,360px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.leaderboard-entry{background:#ffffff0b;border:1px solid #ffffff12;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.leaderboard-entry-rank{color:var(--cyan);font-weight:860}.leaderboard-entry-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:780;overflow:hidden}.leaderboard-entry-meta{color:var(--muted);font-size:.78rem}.leaderboard-entry-score{font-variant-numeric:tabular-nums;font-weight:900}.local-duel-shell{grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1480px,100%);min-height:0;margin:0 auto;display:grid}.local-duel-header{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050c12bd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.local-duel-header>div:first-child{gap:3px;min-width:0;display:grid}.local-duel-header strong{font-size:1.15rem;line-height:1.05}.local-duel-header small{color:var(--muted-strong);font-size:.86rem;line-height:1.25}.local-duel-actions{gap:8px;display:inline-flex}.local-duel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;display:grid}.local-duel-player{border:1px solid var(--line);min-width:0;min-height:0;box-shadow:var(--shadow);background:linear-gradient(#0d1822e0,#060d14e6),#050c12d6;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(170px,.38fr);gap:10px;padding:12px;display:grid}.local-duel-player-left{border-color:#29d8ff52}.local-duel-player-right{border-color:#ffd35a52}.local-player-header,.local-player-metrics{grid-column:1/-1;gap:8px;min-width:0;display:grid}.local-player-header{grid-template-columns:minmax(0,1fr) minmax(112px,.34fr);align-items:stretch}.local-player-header>div,.local-player-metrics>div,.local-controls{background:#ffffff0b;border:1px solid #ffffff12;border-radius:8px;min-width:0;padding:10px}.local-player-header span,.local-player-metrics span,.local-controls strong{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:780;line-height:1.1}.local-player-header strong,.local-player-metrics strong{color:var(--text);margin-top:4px;font-size:1.12rem;line-height:1.05;display:block}.local-player-score strong{font-size:clamp(1.35rem,3.2vw,2rem)}.local-player-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.local-duel-board-frame{aspect-ratio:1/2;background:radial-gradient(circle at 50% 12%,#29d8ff1f,#0000 34%),#050c129e;border:1px solid #29d8ff47;border-radius:8px;place-self:center;width:auto;min-width:190px;max-width:360px;height:min(100%,100svh - 322px);min-height:300px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0b,0 18px 56px #0000006b}.local-duel-canvas{position:absolute;inset:0}.local-controls{grid-template-columns:1fr;align-content:center;align-items:center;gap:7px;display:grid}.local-controls strong{color:var(--mint)}.local-controls span{min-width:0;color:var(--muted-strong);text-align:center;justify-content:flex-start;align-items:center;gap:4px;font-size:.78rem;line-height:1.15;display:flex}.local-controls em{font-style:normal}kbd{color:#041018;background:linear-gradient(135deg, var(--cyan), var(--mint));border-radius:6px;place-items:center;min-width:24px;min-height:24px;padding:0 6px;font-size:.74rem;font-weight:860;line-height:1;display:inline-grid;box-shadow:inset 0 -1px #04101847}.language-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:min(392px,100svh - 270px);padding:2px;display:grid;overflow:auto}.language-option{min-height:58px;color:var(--text);border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff0f;border-radius:8px;align-content:center;gap:3px;padding:9px 11px;display:grid}.language-option strong{font-size:.94rem;line-height:1.1}.language-option span{color:var(--muted);font-size:.74rem;line-height:1.15}.language-option:hover,.language-option.is-selected{background:#29d8ff1f;border-color:#29d8ff94}.tutorial-card{z-index:43;text-align:left;background:linear-gradient(#0d1b27fa,#050c12fa);border-color:#29d8ff8a;gap:13px;width:min(360px,100vw - 28px);padding:18px;position:fixed}.tutorial-card-center{top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-card-targeted{transform:none}.tutorial-progress{color:#041018;background:linear-gradient(135deg, var(--cyan), var(--mint));text-transform:uppercase;border-radius:8px;width:max-content;max-width:100%;padding:5px 9px;font-size:.72rem;font-weight:850;line-height:1}.tutorial-card h2{color:var(--text);letter-spacing:0;margin:0;font-size:1.35rem;line-height:1.08}.tutorial-card p{color:var(--muted-strong);margin:0;font-size:.98rem;line-height:1.45}.tutorial-actions{justify-content:flex-end;gap:10px;display:flex}.tutorial-actions .primary-button,.tutorial-actions .ghost-button{min-width:112px}.tutorial-spotlight{z-index:42;pointer-events:none;border:2px solid #29d8ffd9;border-radius:10px;position:fixed;box-shadow:0 0 0 9999px #000408ad,0 0 32px #29d8ff6b}.status-card span{color:var(--cyan);text-transform:uppercase;font-size:.72rem;font-weight:800}.status-card strong{font-size:1.7rem;line-height:1}.status-card small{color:var(--muted-strong);font-size:.88rem}.revive-button{background:#ffd35a1f;border-color:#ffd35a73}.revive-action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.primary-button,.ghost-button{color:#041018;background:linear-gradient(135deg, var(--cyan), var(--mint));cursor:pointer;border-radius:8px;min-height:42px;padding:0 16px;font-weight:840}.ghost-button{color:var(--text);border:1px solid var(--line);background:#ffffff14}.touch-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:none}.touch-button{background:#ffffff13;width:100%;height:48px}.touch-button-drop{color:#041018;background:linear-gradient(135deg, var(--cyan), var(--mint));border-color:#0000}.touch-button-wide{grid-column:span 2}.next-pieces{gap:8px;display:grid}.next-piece{background:#ffffff0b;border:1px solid #ffffff0e;border-radius:8px;place-items:center;min-height:64px;display:grid}.next-piece-active{background:#29d8ff14;border-color:#29d8ff52}.event-panel{gap:5px;display:grid}.mobile-ad-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,720px);margin:0 auto;display:none}.mobile-ad{min-height:96px}.mobile-ad span{writing-mode:horizontal-tb;text-orientation:mixed}.site-footer{width:min(1420px,100%);color:var(--muted);justify-content:center;gap:16px;margin:-2px auto 0;font-size:.78rem;line-height:1.2;display:flex}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.settings-panel{text-align:left}.settings-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-header strong{font-size:1.1rem}.field-row,.toggle-row{background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:10px;display:flex}.field-row select,.field-row input{width:min(150px,46%);min-height:38px;color:var(--text);border:1px solid var(--line);background:#01060ab8;border-radius:8px;padding:0 10px}.toggle-row input{width:44px;height:24px;accent-color:var(--cyan)}.settings-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=1120px){.game-layout{grid-template-columns:minmax(0,1fr)}.ad-rail{display:none}.mobile-ad-row{display:grid}.game-shell{justify-self:center;width:100%;max-width:820px}}@media (width<=760px){.app-shell{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));gap:10px}.settings-layer,.language-layer,.battle-layer,.leaderboard-layer,.calculus-layer,.rewarded-ad-layer{overscroll-behavior:contain;place-items:start center;overflow:auto}.settings-panel,.language-panel,.battle-panel,.leaderboard-panel,.calculus-panel,.rewarded-ad-panel{max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.topbar{flex-wrap:wrap;padding:8px}.brand-copy strong{font-size:.92rem}.top-actions{gap:6px}.icon-button{width:44px;height:44px}.game-shell{padding:9px}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-strip{grid-template-columns:minmax(0,1fr)}.battle-strip-actions{grid-template-columns:1fr 1fr;display:grid}.battle-small-button{width:100%}.battle-action-grid,.battle-modal-actions{grid-template-columns:1fr}.local-duel-layer{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.local-duel-header{flex-direction:column;align-items:stretch}.local-duel-shell{grid-template-rows:auto auto;min-height:auto}.local-duel-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.local-duel-actions .primary-button,.local-duel-actions .ghost-button{padding-inline:8px}.local-duel-grid{grid-template-columns:minmax(0,1fr);min-height:auto}.local-duel-player{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr);min-height:auto}.local-duel-board-frame{grid-row:3;width:clamp(140px,32vw,220px);min-width:140px;height:auto;min-height:0}.local-controls{grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr))}.stage-grid{grid-template-columns:minmax(0,1fr)}.side-panel-left{order:2;grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}.side-panel-right{order:3;grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}.board-column{order:1}.piece-preview{min-height:72px}.next-section{min-width:0}.next-pieces{grid-template-columns:repeat(5,minmax(0,1fr))}.next-piece{min-height:54px}.piece-grid-small{width:min(42px,100%)}.board-frame{width:min(78vw,50svh - 146px,390px);min-width:238px}.touch-button{height:50px}.mobile-ad-row{grid-template-columns:1fr}}@media (width<=520px){.topbar{justify-content:center;gap:8px;padding:7px}.brand{justify-content:center;width:100%}.top-actions{grid-template-columns:repeat(4,minmax(44px,1fr));justify-items:center;gap:6px;width:100%;display:grid}.top-actions .icon-button{width:44px;height:44px}}@media (pointer:coarse) and (width>=761px){.touch-controls{display:grid}}@media (width<=760px){.touch-controls{display:grid}}@media (width<=430px){.brand-copy strong{display:none}.top-actions{gap:6px}.top-actions .icon-button{width:44px;height:44px}.brand-mark{width:34px;height:34px}.language-list{grid-template-columns:1fr;max-height:min(58svh,460px)}.brand-copy small{display:none}.stats-strip{gap:7px}.stat-card{padding:9px}.battle-score-row,.battle-players{grid-template-columns:1fr}.leaderboard-entry{grid-template-columns:34px minmax(0,1fr)}.leaderboard-entry-score{grid-column:2}.battle-room-card{flex-direction:column;align-items:stretch}.local-player-header,.local-player-metrics{grid-template-columns:1fr 1fr}.local-controls,.side-panel-left,.side-panel-right{grid-template-columns:1fr}.next-pieces{grid-template-columns:repeat(5,minmax(42px,1fr));padding-bottom:2px;overflow-x:auto}.board-frame{width:min(72vw,50svh - 215px,300px);min-width:190px}.touch-controls{gap:6px}.touch-button{height:44px}.revive-action-row,.settings-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
