:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#02050a}html{background:#02050a}body{color:#f8fbff;background:#02050a}:root{--app-viewport-height:100dvh;--app-viewport-width:100vw;--app-viewport-scale:1;--ink:#f8fbff;--muted:#aeb9c9;--chrome-hi:#f4f7ff;--chrome-mid:#bfc3cc;--chrome-low:#6f727e;--well:#00070b;--cyan:#39d8ff;--panel:#010a18db;--danger:#ff3c55;--safe-top:max(10px, env(safe-area-inset-top));--safe-right:max(10px, env(safe-area-inset-right));--safe-bottom:max(10px, env(safe-area-inset-bottom));--safe-left:max(10px, env(safe-area-inset-left))}*{box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-modify:read-only}html,body{overscroll-behavior:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;min-height:100%}html{min-height:var(--app-viewport-height);-webkit-text-size-adjust:100%;overflow:hidden}#root{width:100%;min-height:var(--app-viewport-height)}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#02050a;margin:0;font-family:Arial,Noto Sans JP,Yu Gothic,sans-serif;overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.game-root{isolation:isolate;touch-action:none;background:radial-gradient(at 50% 62%,#2c96ff33 0 3%,#0000 34%),repeating-linear-gradient(113deg,#0000 0 34px,#1065d82e 36px 38px,#0000 40px 78px),linear-gradient(90deg,#010207 0%,#07111e 38%,#06101c 62%,#010207 100%);min-height:100svh;position:relative;overflow:hidden auto}.game-root:not(.is-arena),.game-root:not(.is-arena) .home-shell,.game-root:not(.is-arena) .settings-shell,.game-root:not(.is-arena) .mode-shell,.game-root:not(.is-arena) .lobby-shell,.game-root:not(.is-arena) .room-waiting-shell{touch-action:pan-y}.game-root:not(.is-arena) .practice-shell,.game-root:not(.is-arena) .room-mode-shell:not(.room-waiting-shell){touch-action:none}.game-root.is-arena{height:var(--app-viewport-height);min-height:var(--app-viewport-height);overflow:hidden}.game-root:before,.game-root:after{z-index:-1;content:"";pointer-events:none;position:absolute;inset:-40% -15%}.game-root:before{background:repeating-linear-gradient(90deg,#0000 0 46px,#1c69e157 48px 50px),repeating-linear-gradient(0deg,#0000 0 26px,#53cdff2e 28px 30px);transform:perspective(420px)rotateX(68deg)translateY(25%);-webkit-mask-image:radial-gradient(#000 0 44%,#0000 74%);mask-image:radial-gradient(#000 0 44%,#0000 74%)}.game-root:after{background:linear-gradient(90deg,#000000c7,#0000 19% 81%,#000000c7),radial-gradient(circle at 50% 68%,#7cd5ff3d,#0000 24%);inset:0}.lobby-shell{min-height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);grid-template-rows:auto minmax(0,1fr) auto;align-content:center;place-items:center;gap:14px;display:grid;overflow-y:auto}.home-shell,.mode-shell{min-height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);overflow-y:auto}.home-shell{height:var(--app-viewport-height);grid-template-rows:auto minmax(0,1fr) auto auto;place-items:center;gap:12px;display:grid}.home-header,.mode-header{justify-content:space-between;align-items:center;width:min(92vw,720px);display:flex}.home-header{align-self:start}.home-header .version{position:static}.home-status,.practice-status{color:#b9c6d5;letter-spacing:.14em;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.home-header-actions{align-items:center;gap:12px;display:flex}.key-config-top{color:#dff7ff;cursor:pointer;background:#041120d1;border:1px solid #97b8d485;border-radius:2px;min-height:30px;padding:0 9px;font-size:10px;font-weight:800}.key-config-top:hover,.key-config-top:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 12px #39d8ff3d}.status-dot{background:#25de7b;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px #25de7b}.home-panel{width:min(92vw,620px);max-height:calc(var(--app-viewport-height) - var(--safe-top) - var(--safe-bottom) - 118px);overscroll-behavior:contain;color:#080a0d;text-align:center;background:linear-gradient(145deg,#ffffff29,#0000 34%),linear-gradient(#bec3cef2,#5f636ff7);border:1px solid #d8dbe4;border-radius:2px;padding:clamp(14px,min(4vw,4dvh),42px);overflow-y:auto;box-shadow:inset 3px 3px #ffffffa3,inset -4px -4px #1f2127b3,0 22px 80px #000}.home-panel .brand-subtitle{margin-bottom:clamp(13px,2.6dvh,23px)}.mode-menu{gap:clamp(5px,1.1dvh,9px);width:100%;margin:0 auto;display:grid}.settings-shell{min-height:100svh;height:var(--app-viewport-height);padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);grid-template-rows:auto minmax(0,1fr);align-content:center;justify-items:center;gap:14px;display:grid;overflow-y:auto}.settings-header{align-self:start}.settings-panel{width:min(92vw,620px);max-height:calc(var(--app-viewport-height) - var(--safe-top) - var(--safe-bottom) - 86px);overscroll-behavior:contain;color:#eff7ff;background:linear-gradient(145deg,#0a2039f2,#020811fa);border:1px solid #ceddef94;padding:clamp(22px,4vw,42px);overflow-y:auto;box-shadow:0 20px 70px #000,inset 0 0 38px #2f97ff1c}.settings-panel .brand-kicker{color:#71dfff}.settings-panel .brand-title{font-size:clamp(29px,7vw,49px)}.settings-lead{color:#b8c7d9;margin:17px 0 23px;font-size:12px;font-weight:700;line-height:1.65}.audio-settings{background:#000a179e;border:1px solid #90b4d74d;gap:12px;margin-bottom:16px;padding:11px 10px 12px;display:grid}.audio-settings-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.audio-toggle{color:#8de7ff;cursor:pointer;letter-spacing:.04em;white-space:nowrap;background:linear-gradient(#2b5379eb,#0a1c33f2);border:1px solid #55708e;border-radius:2px;min-height:36px;padding:0 11px;font-size:11px;font-weight:900}.audio-toggle.is-muted{color:#ffb6c2;border-color:#8b6b75}.audio-toggle:hover,.audio-toggle:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 0 2px #39d8ff33,0 0 18px #39d8ff29}.volume-control{color:#dcefff;grid-template-columns:42px minmax(0,1fr) 45px;align-items:center;gap:10px;font-size:11px;font-weight:800;display:grid}.volume-control input{width:100%;accent-color:var(--cyan);cursor:pointer}.volume-control output{color:var(--cyan);font-variant-numeric:tabular-nums;text-align:right}.touch-settings{background:#000a179e;border:1px solid #90b4d74d;gap:10px;margin-bottom:16px;padding:11px 10px 12px;display:grid}.settings-hint{color:#8195ac;font-size:10px;font-weight:700;line-height:1.5}.profile-settings{background:#000a179e;border:1px solid #90b4d74d;gap:9px;margin-bottom:16px;padding:11px 10px 12px;display:grid}.profile-settings-field{color:#dcefff;grid-template-columns:minmax(72px,.28fr) minmax(0,1fr);align-items:center;gap:10px;font-size:11px;font-weight:800;display:grid}.profile-settings-field>span{gap:2px;display:grid}.profile-settings-field small{color:#8195ac;font-size:9px;font-weight:700}.profile-settings-field input{color:#07101a;letter-spacing:.03em;-webkit-user-select:text;user-select:text;background:#edf5fbf5;border:1px solid #90b4d78c;border-radius:2px;outline:none;width:100%;min-height:38px;padding:0 9px;font-size:12px}.profile-settings-field input:focus-visible{border-color:var(--cyan);box-shadow:0 0 0 2px #39d8ff38}.key-config-list{gap:8px;display:grid}.key-config-row{background:#000a179e;border:1px solid #90b4d74d;grid-template-columns:minmax(0,1fr) minmax(142px,.75fr);align-items:center;gap:12px;padding:9px 10px;display:grid}.key-config-action{gap:3px;display:grid}.key-config-action strong{color:#f2f8ff;font-size:13px}.key-config-action small{color:#8195ac;font-size:10px;font-weight:700}.key-capture-button{color:#e9f7ff;cursor:pointer;letter-spacing:.04em;background:linear-gradient(#2b5379eb,#0a1c33f2);border:1px solid #55708e;border-radius:2px;min-height:42px;font-size:12px;font-weight:900}.key-capture-button:hover,.key-capture-button:focus-visible,.key-capture-button.listening{border-color:var(--cyan);outline:none;box-shadow:0 0 0 2px #39d8ff33,0 0 18px #39d8ff29}.key-capture-button.listening{color:var(--cyan)}.settings-message{color:#a8c7df;min-height:34px;margin:15px 0 12px;font-size:11px;font-weight:700;line-height:1.5}.settings-actions{justify-content:flex-end;gap:10px;display:flex}.settings-actions .secondary-button,.settings-actions .chrome-button{min-height:42px;padding-inline:15px;font-size:12px}.mode-card{color:#0a0c10;cursor:pointer;text-align:left;background:linear-gradient(135deg,#f8f9fc,#b4b7bf 58%,#898d96);border:1px solid #4b4f58;border-radius:2px;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:9px;width:100%;min-height:clamp(48px,8.2dvh,67px);padding:clamp(6px,1.2dvh,10px) 13px;transition:transform .12s,filter .12s;display:grid;box-shadow:inset 1px 1px #fff,inset -2px -2px #5b5e64,0 2px #25272c}.mode-card:hover,.mode-card:focus-visible{filter:brightness(1.1);outline:none;transform:translateY(-1px)}.mode-card:active{transform:translateY(2px)}.mode-icon{color:#67dfff;text-shadow:0 0 9px #39d8ff;background:#1c2838;border:1px solid #656a74;border-radius:50%;place-items:center;width:clamp(28px,4.2dvh,34px);height:clamp(28px,4.2dvh,34px);font-size:20px;display:grid}.mode-copy{gap:4px;min-width:0;display:grid}.mode-title-row{align-items:center;gap:9px;display:flex}.mode-title-row strong{letter-spacing:.05em;font-size:clamp(13px,1.9dvh,15px)}.mode-description{color:#303845;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.mode-badge{color:#1b2d45;letter-spacing:.08em;white-space:nowrap;border:1px solid #121d2d73;border-radius:2px;align-items:center;width:-moz-fit-content;width:fit-content;padding:3px 6px;font-size:8px;font-weight:900;display:inline-flex}.mode-arrow{color:#233650;text-align:right;font-size:29px;font-weight:300;line-height:1}.install-button,.secondary-button,.back-button{cursor:pointer;background:0 0;border:0}.install-button{color:#172536;border-bottom:1px solid;margin-top:clamp(8px,1.9dvh,17px);font-size:12px;font-weight:800}.install-hint,.home-footnote{color:#aeb9c9;text-align:center;font-size:10px;font-weight:700}.install-hint{margin:17px 0 0}.home-footnote{margin:0}.mode-header{min-height:36px}.mode-header-label{color:#dce6f1;letter-spacing:.18em;font-size:11px;font-weight:800}.back-button{color:#cbd8e7;padding:5px 0;font-size:12px;font-weight:800}.back-button:hover:not(:disabled),.back-button:focus-visible{color:var(--cyan);outline:none}.back-button:disabled{cursor:wait;opacity:.45}.ad-slot{border-radius:2px;place-items:center;width:min(92vw,720px);min-height:54px;display:grid;overflow:hidden}.ad-placeholder{color:#8090a3;letter-spacing:.08em;text-align:center;background:#0008126b;border:1px dashed #a8bed659;gap:4px;font-size:10px;font-weight:800}.ad-placeholder small{color:#667689;letter-spacing:0;font-size:9px;font-weight:600}.lobby-header{align-self:start}.matchmaking-shell{grid-template-rows:auto minmax(0,1fr) auto;place-items:center;gap:20px;display:grid}.matchmaking-card{color:#eff7ff;text-align:center;background:linear-gradient(145deg,#0a2039ed,#020811f5);border:1px solid #ceddef94;justify-items:center;gap:17px;width:min(92vw,520px);padding:clamp(27px,6vw,53px);display:grid;box-shadow:0 20px 70px #000,inset 0 0 38px #2f97ff1c}.matchmaking-emblem{color:var(--cyan);text-shadow:0 0 18px #39d8ffbf;font-size:43px}.matchmaking-card h1{letter-spacing:-.06em;margin:0;font-size:clamp(27px,7vw,46px)}.matchmaking-lead,.matchmaking-detail{margin:0}.matchmaking-lead{color:var(--cyan);font-weight:800}.matchmaking-detail{color:#b5c5d7;font-size:12px;font-weight:600;line-height:1.8}.cpu-shell{min-height:var(--app-viewport-height);height:var(--app-viewport-height);position:relative;overflow:hidden}.cpu-header{z-index:50;top:var(--safe-top);right:var(--safe-right);left:var(--safe-left);pointer-events:none;width:auto;position:absolute}.cpu-header .back-button,.cpu-header-status{pointer-events:auto}.cpu-header-status{color:#b9c6d5;letter-spacing:.1em;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.cpu-match-stage,.cpu-match-stage .match-shell{min-height:var(--app-viewport-height);height:var(--app-viewport-height)}.cpu-match-stage .match-shell{padding-top:calc(var(--safe-top) + 32px)}.cpu-match-stage .match-status-strip{margin-bottom:7px}.casual-queue-card{gap:14px}.casual-queue-timer{color:var(--cyan);text-shadow:0 0 18px #39d8ff8c;align-items:baseline;gap:8px;display:flex}.casual-queue-timer strong{font-variant-numeric:tabular-nums;letter-spacing:-.08em;min-width:2ch;font-size:clamp(56px,14vw,88px);line-height:.9}.casual-queue-timer span{color:#b5c5d7;letter-spacing:.14em;font-size:12px;font-weight:800}.casual-queue-status{color:#eff7ff;min-height:1.5em;margin:0;font-size:13px;font-weight:800}.practice-shell{grid-template-rows:auto minmax(0,1fr);gap:10px;display:grid}.practice-layout{grid-template-rows:minmax(0,1fr) auto auto;place-items:center;gap:11px;width:min(100%,900px);margin:0 auto;display:grid}.practice-arena{grid-template-columns:minmax(0,1fr) minmax(150px,220px);align-items:center;gap:clamp(14px,4vw,42px);width:100%;min-height:0;display:grid}.practice-shell .board-bevel{width:min(100%,clamp(185px,41.6667svh - 104.167px,300px))}.practice-info{justify-items:center;gap:17px;display:grid}.practice-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;display:grid}.practice-metrics .metric strong{font-size:clamp(17px,2.2vw,27px)}.practice-hint{color:#aebdce;text-align:center;margin:0;font-size:11px;font-weight:700;line-height:1.75}.practice-controls-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;display:grid}.practice-controls-row .touch-controls{width:min(100%,530px);margin-top:0}.practice-actions{grid-template-columns:repeat(2,auto);align-items:center;gap:9px;display:grid}.secondary-button{color:#e5f2ff;background:#0a192be6;border:1px solid #71859b;min-height:44px;padding:0 13px;font-size:12px;font-weight:800}.secondary-button:hover,.secondary-button:focus-visible{border-color:var(--cyan);outline:none}.practice-actions .chrome-button{min-height:44px;padding:0 13px;font-size:12px}.lobby-panel{color:#080a0d;text-align:center;background:linear-gradient(145deg,#ffffff29,#0000 34%),linear-gradient(#bec3cef2,#5f636ff7);border:1px solid #d8dbe4;border-radius:2px;width:min(92vw,560px);padding:clamp(22px,5vw,52px);box-shadow:inset 3px 3px #ffffffa3,inset -4px -4px #1f2127b3,0 22px 80px #000}.brand-kicker{color:#263141;letter-spacing:.22em;margin:0 0 7px;font-size:11px;font-weight:700}.brand-title{color:#fff;letter-spacing:-.065em;text-shadow:0 2px #61656c,0 5px #30333a,0 10px 18px #00000073;margin:0;font-size:clamp(30px,7vw,58px);font-weight:900;font-stretch:75%;line-height:.87}.home-tagline{letter-spacing:.02em;white-space:nowrap;font-size:clamp(19px,5.6vw,38px);line-height:1.12}.brand-subtitle{color:#171b22;letter-spacing:.36em;margin:13px 0 32px;font-size:13px;font-weight:800}.room-form{gap:11px;width:min(100%,380px);margin-inline:auto;display:grid}.default-room-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:16px;display:grid}.room-list-label{color:#aebdce;letter-spacing:.14em;text-align:left;grid-column:1/-1;font-size:10px;font-weight:800}.room-chip{color:#e5f2ff;background:#0a192be6;border:1px solid #71859b;border-radius:4px;min-height:38px;font-size:11px;font-weight:800}.room-chip:active:not(:disabled),.room-chip:focus-visible{border-color:var(--cyan);outline:none}.room-form label{text-align:left;letter-spacing:.12em;font-size:12px;font-weight:700}.room-form label small{color:#6f7e8f;letter-spacing:0;font-size:10px}.room-code{color:#0a0d12;letter-spacing:.22em;text-align:center;text-transform:uppercase;background:#fff;border:2px inset #b9bbc1;border-radius:0;outline:none;width:100%;height:48px;font-weight:800}.room-select{cursor:pointer;text-align:left;text-transform:none;padding-inline:12px}.room-profile-input{letter-spacing:.06em;text-transform:none}.room-entry-hint{color:#344453;margin:14px 0 0;font-size:10px;font-weight:700}.room-code:focus-visible{box-shadow:0 0 0 3px #117ed4}.chrome-button{color:#0a0c10;cursor:pointer;letter-spacing:.12em;text-shadow:0 1px #fff;background:linear-gradient(#fafbff 0,#c5c7cd 44%,#91949c 49%,#dfe1e5 100%);border:1px solid #4e5159;border-radius:1px;min-height:50px;font-size:16px;font-weight:800;position:relative;box-shadow:inset 1px 1px #fff,inset -2px -2px #5b5e64,0 3px #25272c}.chrome-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 2px 2px 4px #565961,0 1px #25272c}.chrome-button:disabled{cursor:wait;opacity:.64}.lobby-status{color:#172232;min-height:22px;margin:19px 0 0;font-size:12px;font-weight:700}.lobby-status.error{color:#800d20}.invite-link{color:#101d2d;cursor:pointer;letter-spacing:.08em;background:0 0;border:0;border-bottom:1px solid;margin-top:4px;font-size:12px;font-weight:800}.invite-link:focus-visible{outline-offset:4px;outline:2px solid #117ed4}.version{top:var(--safe-top);left:var(--safe-left);color:#ffffffb8;letter-spacing:.08em;font-size:11px;position:absolute}.match-shell{min-height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-user-select:none;user-select:none;grid-template-rows:minmax(0,1fr) auto auto;display:grid;position:relative}.arena{grid-template-columns:minmax(0,1fr) minmax(104px,.28fr) minmax(0,1fr);align-items:center;gap:clamp(8px,1.8vw,24px);width:min(100%,1280px);min-height:0;margin:0 auto;display:grid}.arena-board-slot{justify-items:center;min-width:0;display:grid}.match-status-strip{color:#261504;background:linear-gradient(90deg,#cc630bb8,#f09e2780 50%,#cc630bb8);border:1px solid #ffbe5bb8;grid-template-columns:minmax(0,1fr) clamp(36px,5vw,76px) minmax(0,1fr);align-items:center;width:min(100%,1280px);min-height:35px;margin:clamp(3px,.8vh,9px) auto;font-size:clamp(8px,1.05vw,12px);font-weight:800;line-height:1.1;display:grid;box-shadow:inset 0 0 9px #ffd78142,0 2px 10px #0000006b}.match-status-player{align-items:center;gap:clamp(5px,.8vw,12px);min-width:0;padding:5px clamp(7px,1.2vw,16px);display:flex;overflow:hidden}.match-status-player.right{text-align:right;justify-content:flex-end}.match-status-player strong{flex:none;font-size:clamp(14px,1.8vw,22px);font-weight:900}.match-status-player span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-status-vs{color:#3a1c04;letter-spacing:.08em;border-inline:1px solid #66330547;place-items:center;min-height:100%;font-size:clamp(11px,1.45vw,17px);font-weight:900;display:grid}.battle-board{justify-items:center;min-width:0;display:grid}.board-bevel{aspect-ratio:10/24;border:1px solid var(--chrome-hi);clip-path:polygon(4% 0,96% 0,100% 1.8%,100% 98.2%,96% 100%,4% 100%,0 98.2%,0 1.8%);filter:drop-shadow(0 12px 15px #000000b8);background:linear-gradient(135deg,#fbfcff 0 3%,#9da0a8 9%,#eff1f7 17%,#7a7d86 26%,#c7cad2 72%,#62656e 88%,#f8f9fe 100%);width:min(100%,41.6667svh - 62.5px);padding:clamp(5px,.75vw,11px)}.local-board .board-bevel{filter:drop-shadow(0 0 8px #39d8ff3d)drop-shadow(0 14px 18px #000000c2)}.board-well{background:radial-gradient(at 50% 16%,#04233159,#0000 50%),linear-gradient(#000305,#000a0f 68%,#000306);border:clamp(2px,.28vw,4px) ridge #4d515a;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 15px #000}.board-grid{grid-template-rows:repeat(24,1fr);grid-template-columns:repeat(10,1fr);display:grid;position:absolute;inset:0}.board-cell,.next-cell{min-width:0;min-height:0;display:block;position:relative}.tile{z-index:1;background:var(--tile-image) center / 100% 100% no-repeat;box-shadow:none;border:0}.active-tile{filter:none}.tile[style*="--piece: 1"],.tile[style*=--piece\:1]{--tile-image:url(/legacy-tiles/piece-1.png)}.tile[style*="--piece: 2"],.tile[style*=--piece\:2]{--tile-image:url(/legacy-tiles/piece-2.png)}.tile[style*="--piece: 3"],.tile[style*=--piece\:3]{--tile-image:url(/legacy-tiles/piece-3.png)}.tile[style*="--piece: 4"],.tile[style*=--piece\:4]{--tile-image:url(/legacy-tiles/piece-4.png)}.tile[style*="--piece: 5"],.tile[style*=--piece\:5]{--tile-image:url(/legacy-tiles/piece-5.png)}.tile[style*="--piece: 6"],.tile[style*=--piece\:6]{--tile-image:url(/legacy-tiles/piece-6.png)}.tile[style*="--piece: 7"],.tile[style*=--piece\:7]{--tile-image:url(/legacy-tiles/piece-7.png)}.tile[style*="--piece: 8"],.tile[style*=--piece\:8]{--tile-image:url(/legacy-tiles/piece-8.png)}.defeat-zone{z-index:3;pointer-events:none;border:1px solid #d2d9e0b8;width:40%;height:16.6667%;position:absolute;top:0;left:30%;box-shadow:0 0 3px #000,inset 0 0 2px #000}.top-out .board-well{animation:.42s steps(2,end) infinite top-out-pulse}.seat-label{color:#d6dbe5;letter-spacing:.16em;align-items:center;gap:7px;margin-top:6px;font-size:10px;font-weight:700;display:flex}.seat-dot{background:#687180;border-radius:50%;width:6px;height:6px;box-shadow:0 0 5px}.local-board .seat-dot{background:var(--cyan)}.versus-column{text-align:center;align-content:center;gap:clamp(8px,1.4svh,18px);min-width:0;display:grid}.arena-next-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(3px,.7vw,8px);min-width:0;display:grid}.arena-next-row .next-panel{min-width:0}.arena-next-row .next-label{letter-spacing:.08em;font-size:clamp(6px,.68vw,9px)}.arena-next-row .next-well{width:min(100%,clamp(38px,5.1vw,66px))}.vs-mark{color:#232a34;text-shadow:0 1px #fff;background:linear-gradient(90deg,#0000,#e7edf7c2 18%,#ffffffe0 50%,#e7edf7c2 82%,#0000);border-block:1px solid #ffffffb8;place-items:center;min-height:48px;font-size:clamp(22px,3.4vw,44px);font-weight:400;display:grid}.next-panel{justify-items:center;gap:5px;display:grid}.next-label,.metric-label{color:#d8e3ef;letter-spacing:.14em;white-space:nowrap;font-size:clamp(7px,.8vw,10px);font-weight:700}.next-well{aspect-ratio:1;background:#000408d1;border:1px solid #9ba2ab;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);width:clamp(42px,6.2vw,74px);display:grid;box-shadow:inset 0 0 7px #000}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.metric{background:#000812ad;border:1px solid #9eabbe5c;gap:2px;min-width:0;padding:5px 3px;display:grid}.metric strong{font-size:clamp(18px,2.8vw,36px);font-weight:400;line-height:1}.connection-status{color:var(--muted);letter-spacing:.08em;justify-content:center;align-items:center;gap:6px;font-size:9px;display:inline-flex}.connection-status:before{content:"";background:#25de7b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #25de7b}.touch-controls{touch-action:none;grid-template-columns:repeat(5,minmax(42px,1fr));gap:clamp(5px,1vw,12px);width:min(46vw,520px);margin-top:5px;display:grid}.practice-touch-controls{z-index:45;right:max(14px, var(--safe-right));bottom:max(18px, var(--safe-bottom));left:max(14px, var(--safe-left));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed}.virtual-joystick,.rotation-controls{pointer-events:auto}.virtual-joystick{touch-action:none;background:radial-gradient(circle,#2c71b8b3,#051427e6);border:3px solid #4ebbffc7;border-radius:50%;width:clamp(142px,28vw,178px);height:clamp(142px,28vw,178px);position:relative;box-shadow:0 0 20px #0084ff73,inset 0 0 15px #020b18}.rotation-controls .control-button{padding:8px;min-width:78px;min-height:78px;padding:4px}.joystick-cap{color:#62ddff;pointer-events:none;font-size:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rotation-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.rotation-controls .control-button{background:linear-gradient(#236d9a,#0b1d35 60%,#163e61);border-radius:50%}@media (max-width:430px){.practice-touch-controls{right:max(9px, var(--safe-right));left:max(9px, var(--safe-left))}.virtual-joystick{width:150px;height:150px}.rotation-controls .control-button{min-width:72px;min-height:72px}.rotation-controls .control-ccw{transform:translateY(8px)}.rotation-controls .control-cw{transform:translateY(-8px)}}.controls-left{justify-self:start}.controls-right{justify-self:end}.control-button{color:#edf8ff;cursor:pointer;text-shadow:0 2px #000;background:linear-gradient(145deg,#ffffff3d,#0000 38%),linear-gradient(#28394e,#0d1827 52%,#1d3047);border:1px solid #9ba9bc;border-radius:5px;place-items:center;gap:0;min-height:clamp(50px,10svh,76px);line-height:1;display:grid;box-shadow:inset 1px 1px #ffffff6e,inset -2px -2px #02060b,0 3px #000}.control-button>span{font-size:clamp(23px,3.5vw,39px)}.control-button small{color:#a9b9ca;letter-spacing:.02em;font-size:clamp(7px,.8vw,10px)}.control-button:active:not(:disabled),.control-button.is-held{background:linear-gradient(#1d92c3,#093650 58%,#106386);border-color:#6be1ff;transform:translateY(2px);box-shadow:inset 2px 2px 5px #00141f,0 1px #000,0 0 14px #39d8ff8c}.control-button:disabled{opacity:.35}.controls-row{grid-template-columns:1fr 1fr;gap:8px;width:min(100%,1280px);margin:0 auto;display:grid}.match-overlay{z-index:20;pointer-events:none;color:#f7f7f8;letter-spacing:-.055em;text-shadow:5px 5px #4f5157,9px 9px #0000008f;place-items:center;font-family:Arial,sans-serif;font-size:clamp(72px,16vw,210px);font-weight:900;display:grid;position:fixed;inset:0}.overlay-fight{animation:1.583s linear both fight-display}.overlay-finish{animation:1.417s linear both finish-display}.result-panel{z-index:18;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000207b8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.result-card{color:#090b10;text-align:center;background:linear-gradient(145deg,#dbe1ebf7,#5b6270fa);border:1px solid #d9dde5;gap:20px;width:min(92vw,420px);padding:31px;display:grid;box-shadow:inset 3px 3px #ffffffb3,inset -4px -4px #1e2026bf,0 28px 100px #000}.result-card h2{color:#fff;letter-spacing:-.05em;text-shadow:0 3px #555a63,0 6px #262930;margin:0;font-size:clamp(36px,9vw,62px)}.result-card p{margin:0;font-weight:700}.connection-ribbon{z-index:22;top:var(--safe-top);color:#d8e6f4;letter-spacing:.08em;background:#000812d6;border:1px solid #cfdae885;padding:7px 12px;font-size:11px;position:fixed;left:50%;transform:translate(-50%)}.portrait-guard{display:none}@keyframes fight-display{0%,84.21%{opacity:1}to{opacity:0}}@keyframes finish-display{0%,82.35%{opacity:1}to{opacity:0}}@keyframes top-out-pulse{0%{filter:none}to{filter:brightness(1.8)sepia()saturate(5)hue-rotate(320deg)}}@media (max-height:620px){.match-shell{grid-template-rows:minmax(0,1fr) auto 58px}.board-bevel{width:min(100%,41.6667svh - 36.6667px)}.touch-controls{width:min(46vw,470px)}.control-button{min-height:48px}.control-button small{display:none}}@media (max-width:700px){.home-panel{padding:22px 17px}.home-panel .brand-title{font-size:clamp(27px,9vw,44px)}.home-panel .home-tagline{font-size:clamp(19px,5.6vw,30px)}.mode-card{min-height:61px;padding-inline:10px}.mode-description{font-size:10px}.practice-arena{grid-template-columns:minmax(0,1fr);gap:9px}.practice-info{grid-template-columns:auto minmax(0,1fr);gap:10px;width:min(100%,460px)}.practice-info .practice-hint{grid-column:1/-1}.practice-shell .board-bevel{width:min(100%,clamp(185px,41.6667svh - 131.25px,270px))}.practice-controls-row{grid-template-columns:1fr;gap:9px}.practice-controls-row .touch-controls{width:100%;min-height:62px}.practice-actions{justify-content:center}}@media (orientation:landscape) and (max-height:620px){.home-shell{padding-inline:max(var(--safe-left), 4vw) max(var(--safe-right), 4vw);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(360px,620px);place-content:center;column-gap:clamp(18px,5vw,64px)}.home-header{grid-column:1/-1;width:100%}.home-panel{grid-area:2/2;width:min(100%,620px);padding:18px 24px}.home-shell>.ad-slot,.home-footnote{grid-column:1/-1}.home-shell>.ad-slot{grid-row:3}.home-footnote{grid-row:4}.practice-controls-row{z-index:2;position:relative}.touch-controls{min-height:58px;display:grid}}@media (max-width:900px){.practice-arena{grid-template-columns:minmax(0,1fr) 82px;align-items:start;gap:8px;transform:translateY(-70px)}.practice-shell .board-bevel{width:min(100%,clamp(180px,38svh,235px))}.practice-info{z-index:12;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020810c7;border:1px solid #97b8d457;border-radius:8px;grid-template-columns:1fr;align-items:center;gap:8px;width:82px;padding:6px 5px;display:grid;position:static}.practice-info .next-panel,.practice-info .practice-metrics{width:100%}.practice-info .next-panel{gap:3px}.practice-info .next-label,.practice-info .metric-label{font-size:7px}.practice-info .next-well{width:46px}.practice-info .practice-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.practice-info .practice-metrics .metric{border:1px solid #97b8d447;justify-content:space-between;align-items:baseline;gap:4px;min-width:0;padding:4px;display:flex}.practice-info .practice-metrics .metric strong{font-size:14px}.practice-info .practice-hint{display:none}.practice-controls-row,.controls-row{z-index:40;right:max(10px, var(--safe-right));bottom:max(8px, var(--safe-bottom));left:max(10px, var(--safe-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020810db;border:1px solid #97b8d457;border-radius:8px;width:auto;padding:6px;position:fixed}.match-status-strip{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);min-height:29px;margin-block:2px;font-size:8px}.match-status-player{gap:4px;padding:4px 5px}.match-status-player strong{font-size:13px}.match-status-vs{font-size:10px}.practice-controls-row{grid-template-columns:minmax(0,1fr) auto}.practice-controls-row .touch-controls,.controls-row .touch-controls{width:100%;min-width:0}.control-button{min-width:0;min-height:52px}}.room-mode-shell{min-height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);position:relative;overflow:hidden}.room-mode-ribbon{z-index:22;top:var(--safe-top);color:#d8e6f4;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;background:#000812d6;border:1px solid #cfdae885;max-width:calc(100vw - 24px);padding:7px 12px;font-size:11px;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.room-mode-header{justify-content:space-between;align-items:center;width:min(94vw,1180px);margin:0 auto 18px;display:flex}.room-mode-header h1{color:#fff;letter-spacing:.08em;text-shadow:0 3px #3c414a;margin:4px 0 0;font-size:clamp(22px,5vw,42px)}.room-mode-actions{align-items:center;gap:12px;display:flex}.quiet-room-button{color:#e5f2ff;cursor:pointer;background:#041120db;border:1px solid #71859b;min-height:38px;padding:0 12px;font-size:11px;font-weight:800}.room-waiting-shell{overflow-y:auto}.room-waiting-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;width:min(94vw,1180px);margin:0 auto;display:grid}.room-lobby-card,.room-chat-card{background:#000a16c7;border:1px solid #9fb8d37a;min-width:0;padding:clamp(16px,3vw,28px);box-shadow:0 15px 45px #00000073,inset 0 0 25px #1d649e1f}.room-lobby-title{color:#dce9f7;letter-spacing:.16em;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:900;display:flex}.room-lobby-title small{color:#8fa4ba;letter-spacing:.04em;font-size:9px}.room-local-record{background:#071a2d94;border:1px solid #7d99b54d;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;margin:-3px 0 12px;padding:8px 10px;display:grid}.room-local-record span,.room-local-record small{color:#91a9c1;letter-spacing:.08em;font-size:9px}.room-local-record strong{color:#83e8b6;letter-spacing:.08em;font-size:12px}.room-local-record small{letter-spacing:.02em;grid-column:1/-1}.room-member-list{gap:6px;max-height:min(43svh,420px);display:grid;overflow-y:auto}.room-member-row{background:#071a2dc7;border:1px solid #7d99b54d;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:6px 8px;display:grid}.room-member-avatar{color:#c9f3ff;border:1px solid #54c9f3;border-radius:50%;place-items:center;width:29px;height:29px;font-weight:900;display:grid}.room-member-copy{gap:3px;min-width:0;display:grid}.room-member-copy strong{color:#f1f7ff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.room-member-copy small,.room-member-quality{color:#91a9c1;letter-spacing:.04em;font-size:9px}.room-member-quality{color:#83e8b6;text-align:right;max-width:95px}.room-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px;display:grid}.room-seat-button{color:#e4f3ff;cursor:pointer;letter-spacing:.1em;background:linear-gradient(145deg,#1a314b,#071422 70%);border:1px solid #71859b;gap:4px;min-height:62px;padding:8px;font-size:12px;font-weight:900;display:grid}.room-seat-button small{color:#9db2c8;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.room-seat-button.selected{border-color:#57ddff;box-shadow:0 0 12px #39d8ff61,inset 0 0 12px #39d8ff33}.room-seat-button:disabled{cursor:not-allowed;opacity:.55}.room-lobby-controls{flex-wrap:wrap;gap:9px;margin-top:15px;display:flex}.room-lobby-controls .chrome-button{min-height:43px;padding-inline:15px;font-size:12px}.room-lobby-hint{color:#91a7bc;margin:14px 0 0;font-size:11px;line-height:1.7}.room-chat-card{grid-template-rows:auto minmax(180px,1fr) auto;min-height:430px;display:grid}.room-chat-log{background:#00050cb8;border:1px solid #7d99b54d;min-height:0;padding:8px;overflow-y:auto}.room-chat-log p{color:#e1edf9;margin:0 0 10px;font-size:11px;line-height:1.5;display:block}.room-chat-log strong{color:#666;font-size:10px}.room-chat-log strong:after{color:#666;content:" : "}.room-chat-log p.system{padding:0}.room-chat-log p.system strong{color:#666;letter-spacing:0}.room-chat-log p.system span{color:#e1edf9}.room-chat-log p.system.winner span{color:red}.room-chat-log p.system.loser span{color:#00f}.room-chat-log p.system.notice span{color:red}.room-chat-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:10px;display:grid}.room-chat-form input{color:#07101a;-webkit-user-select:text;user-select:text;background:#edf5fb;border:1px solid #71859b;min-width:0;padding-inline:9px;font-size:12px}.room-chat-form .chrome-button{min-height:40px;padding-inline:12px;font-size:11px}.room-result-panel{z-index:24;background:#0002079e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.room-entry-shell .lobby-panel{color:#292d30;text-align:left;background:linear-gradient(145deg,#ffffffc2,#0000 36%),linear-gradient(#f5f5f2 0%,#e1e2df 57%,#c5c7c6 100%);border:1px solid #8e9295;border-radius:7px;width:min(92vw,560px);max-height:calc(100svh - 80px);padding:clamp(19px,4vw,32px) clamp(17px,4.5vw,38px) 22px;overflow-y:auto;box-shadow:inset 1px 1px #fffffff5,inset -2px -2px #7b7e8185,0 12px 35px #00000094}.room-entry-shell .brand-kicker{color:#697075;letter-spacing:.14em;font-size:10px}.room-entry-shell .brand-title{color:#4c5155;text-align:center;text-shadow:0 1px #fff,0 2px #a0a3a5,0 5px 9px #0003;font-size:clamp(24px,6vw,42px);line-height:.93}.room-entry-shell .brand-subtitle{color:#646a6d;letter-spacing:.22em;text-align:center;margin:10px 0 22px;font-size:11px}.room-entry-shell .room-form{grid-template-columns:minmax(62px,76px) minmax(0,1fr);align-items:center;gap:9px 13px;width:min(100%,430px);margin-inline:auto;display:grid}.room-entry-shell .room-form label{color:#444a4e;letter-spacing:.08em;text-align:left;font-size:11px}.room-entry-shell .room-form label small{color:#7a8083;margin-top:2px;font-size:8px;line-height:1.2;display:block}.room-entry-shell .room-code{color:#202427;letter-spacing:.13em;background:#fcfcfa;border:1px solid #8a8e91;border-radius:3px;min-width:0;height:39px;font-size:13px;box-shadow:inset 1px 1px 2px #2c30332e,0 1px #fffc}.room-entry-shell .room-select{cursor:pointer;text-align:left;padding-inline:10px}.room-entry-shell .room-profile-input{letter-spacing:.04em;text-align:left}.room-entry-shell .room-code:focus-visible{border-color:#7fbd76;outline:none;box-shadow:0 0 0 2px #9ad39194,inset 1px 1px 2px #2c30331f}.room-entry-shell .room-form>.chrome-button{color:#303538;letter-spacing:.08em;text-shadow:0 1px #fff;background:linear-gradient(#fff 0%,#e2e3e1 48%,#b9bbba 100%);border-color:#777c7f;border-radius:3px;grid-column:2;width:100%;min-height:42px;margin-top:5px;font-size:13px;box-shadow:inset 1px 1px #fff,inset -1px -1px #898c8d,0 2px #777a7b}.room-entry-shell .room-form>.chrome-button:hover,.room-entry-shell .room-form>.chrome-button:focus-visible,.room-entry-shell .room-form>.chrome-button:active:not(:disabled){color:#244525;background:linear-gradient(#f4fff0 0%,#d6efcf 48%,#aed9a5 100%);border-color:#6a9f63;outline:none;box-shadow:inset 1px 1px #fff,inset -1px -1px #7da575,0 2px #60845c}.room-entry-shell .room-form>.chrome-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 2px 2px 3px #4b77466b,0 0 #60845c}.room-entry-shell .room-entry-hint{color:#62696d;text-align:center;font-size:10px;font-weight:700}.room-entry-shell .lobby-status{color:#4d5559;text-align:center}.room-entry-shell .lobby-status.error{color:#8e2630}.room-original-layout{grid-template-columns:minmax(0,1fr) minmax(220px,272px);gap:12px;width:min(96vw,1240px);margin:0 auto;display:grid}.room-original-stage{background:linear-gradient(90deg,#020811d1,#08192b61,#020811d1),radial-gradient(at 50% 45%,#2682b829,#0000 58%);border:1px solid #adc1d6a6;grid-template-columns:minmax(0,1fr) minmax(118px,180px) minmax(0,1fr);align-items:end;gap:clamp(6px,1.4vw,18px);min-width:0;min-height:430px;padding:16px clamp(8px,1.8vw,24px) 10px;display:grid;box-shadow:inset 0 0 28px #000000b3,0 16px 42px #00000061}.room-original-stage .battle-board .board-bevel{width:clamp(106px,13vw,190px)}.room-original-stage .seat-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.room-original-center{text-align:center;align-content:center;gap:14px;min-width:0;padding-bottom:34px;display:grid}.room-original-next-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:5px;display:grid}.room-original-next-row .next-panel{min-width:0}.room-original-next-row .next-label{font-size:8px}.room-original-next-row .next-well{width:clamp(42px,5vw,66px)}.room-original-vs{color:#eaf5ff;text-shadow:0 2px #14202f,0 0 14px #4ccdff73;padding-bottom:11px;font-size:clamp(19px,2.8vw,34px);font-weight:900}.room-original-score-row{color:#17212d;background:linear-gradient(90deg,#d8e2efeb,#f5f8fcb3,#d8e2efeb);border-block:1px solid #dce7f4b8;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:42px;padding:5px 8px;display:grid}.room-original-score-row strong{font-size:clamp(18px,2.5vw,30px);font-weight:400}.room-original-score-row span{letter-spacing:.08em;font-size:clamp(11px,1.5vw,18px);font-weight:900}.room-original-stage-status{color:#bbcede;min-height:28px;margin:0;font-size:10px;line-height:1.5}.room-original-sidebar{color:#17212d;background:linear-gradient(145deg,#eef4f8,#bdc9d5 58%,#e9f0f5);border:2px solid #aab8c7;min-width:0;padding:10px;box-shadow:0 12px 28px #0000006b,inset 0 0 0 1px #fff}.room-original-room-title{border-bottom:1px solid #738391;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 4px 8px;display:flex}.room-original-room-title strong{letter-spacing:.09em;font-size:16px}.room-original-room-title span{font-size:11px;font-weight:900}.room-original-logout{color:#18212b;cursor:pointer;background:linear-gradient(#fff,#dce2e7);border:1px solid #a8b2ba;border-radius:2px;width:100%;min-height:31px;margin:8px 0;font-size:11px;font-weight:900}.room-original-sidebar .room-local-record{background:#ffffff8a;border-color:#aab7c1}.room-original-sidebar .room-local-record span,.room-original-sidebar .room-local-record small{color:#52616e}.room-original-sidebar .room-local-record strong{color:#1c6f4c}.room-original-sidebar .room-member-list{background:#ffffffbd;border:1px solid #aab7c1;max-height:min(37svh,330px);padding:4px}.room-original-sidebar .room-member-row{background:#ffffffd6;border-color:#bdc8d0;grid-template-columns:28px minmax(0,1fr) auto;min-height:40px;padding:4px}.room-original-sidebar .room-member-row.disconnected{opacity:.58}.room-original-sidebar .room-member-avatar{color:#293c4b;border-color:#6d8290;width:24px;height:24px;font-size:11px}.room-original-sidebar .room-member-copy strong{color:#1c2b38;font-size:11px}.room-original-sidebar .room-member-copy small,.room-original-sidebar .room-member-quality{color:#526574;font-size:8px}.room-original-sidebar .room-member-quality{color:#276d55}.room-original-sidebar .room-seat-grid{gap:5px;margin-top:8px}.room-original-sidebar .room-seat-button{color:#263744;background:linear-gradient(#fff,#ccd6de);border-color:#71818d;min-height:48px;padding:5px;font-size:11px}.room-original-sidebar .room-seat-button small{color:#536672}.room-original-sidebar .room-seat-button.selected{border-color:#1584b4;box-shadow:0 0 0 2px #1584b42e,inset 0 0 10px #40c3ed47}.room-original-sidebar .room-lobby-controls{gap:5px;margin-top:8px}.room-original-sidebar .room-lobby-controls .chrome-button,.room-original-sidebar .quiet-room-button{flex:110px;min-height:35px;padding-inline:7px;font-size:10px}.room-original-sidebar .room-lobby-hint{color:#536574;margin:8px 2px 0;font-size:9px}.room-original-chat{border-color:#bfcddaa6;grid-column:1/-1;min-height:155px;padding:10px 12px}.room-original-chat .room-chat-log{min-height:72px;max-height:142px}@media (max-width:760px){.room-original-layout{grid-template-columns:1fr}.room-original-stage{grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr);min-height:330px;padding-inline:4px}.room-original-stage .battle-board .board-bevel{width:clamp(82px,25vw,132px)}.room-original-center{gap:9px;padding-bottom:24px}.room-original-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.room-original-room-title,.room-original-logout,.room-original-sidebar .room-local-record,.room-original-sidebar .room-member-list,.room-original-sidebar .room-seat-grid,.room-original-sidebar .room-lobby-controls,.room-original-sidebar .room-lobby-hint{grid-column:1/-1}.room-original-sidebar .room-member-list{max-height:250px}}@media (orientation:portrait) and (max-width:760px){.room-waiting-shell{padding:max(6px, var(--safe-top)) max(6px, var(--safe-right)) max(6px, var(--safe-bottom)) max(6px, var(--safe-left))}.room-mode-header{width:100%;margin-bottom:7px}.room-mode-header h1{margin-top:2px;font-size:19px}.room-mode-actions{gap:5px}.room-mode-actions .connection-status{font-size:8px}.room-mode-actions .quiet-room-button{min-height:30px;padding-inline:8px;font-size:10px}.room-original-layout{gap:7px;width:100%}.room-original-stage{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);min-height:205px;padding:5px 2px 4px}.room-original-stage .battle-board .board-bevel{width:clamp(64px,20vw,86px)}.room-original-stage .seat-label{gap:3px;margin-top:3px;font-size:7px}.room-original-center{gap:5px;padding-bottom:8px}.room-original-next-row{gap:2px}.room-original-next-row .next-label{letter-spacing:.06em;font-size:6px}.room-original-next-row .next-well{width:34px}.room-original-vs{padding-bottom:5px;font-size:17px}.room-original-score-row{gap:3px;min-height:28px;padding:2px 3px}.room-original-score-row strong{font-size:16px}.room-original-score-row span{font-size:8px}.room-original-stage-status{min-height:18px;font-size:7px;line-height:1.3}.room-original-sidebar{grid-template-columns:minmax(0,1.25fr) minmax(112px,.75fr);gap:5px;padding:6px}.room-original-sidebar>.room-original-room-title{grid-area:1/1;align-self:center;padding:1px 2px 4px}.room-original-room-title strong{font-size:13px}.room-original-room-title span{font-size:9px}.room-original-sidebar>.room-original-logout{grid-area:1/2;min-height:27px;margin:0;font-size:9px}.room-original-sidebar>.room-local-record{grid-area:2/1/auto/-1;grid-template-columns:auto 1fr;gap:2px 6px;margin:0;padding:4px 6px}.room-original-sidebar .room-local-record span,.room-original-sidebar .room-local-record small{font-size:7px}.room-original-sidebar .room-local-record strong{font-size:9px}.room-original-sidebar .room-local-record small{display:none}.room-original-sidebar>.room-member-list{grid-area:3/1/span 3;gap:3px;max-height:132px;padding:3px}.room-original-sidebar .room-member-row{grid-template-columns:23px minmax(0,1fr);gap:4px;min-height:32px;padding:3px}.room-original-sidebar .room-member-avatar{width:20px;height:20px;font-size:9px}.room-original-sidebar .room-member-copy{gap:1px}.room-original-sidebar .room-member-copy strong{font-size:9px}.room-original-sidebar .room-member-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.room-original-sidebar .room-member-quality{display:none}.room-original-sidebar>.room-seat-grid{grid-area:3/2;gap:3px;margin-top:0}.room-original-sidebar .room-seat-button{min-height:38px;padding:3px;font-size:9px}.room-original-sidebar .room-seat-button small{font-size:7px}.room-original-sidebar>.room-lobby-controls{grid-area:4/2;gap:3px;margin-top:0;display:grid}.room-original-sidebar .room-lobby-controls .chrome-button,.room-original-sidebar .quiet-room-button{min-height:32px;padding-inline:4px;font-size:8px}.room-original-sidebar>.room-lobby-hint{grid-area:5/2;align-self:start;margin:0;font-size:7px;line-height:1.3}.room-original-chat{min-height:116px;padding:7px}.room-original-chat .room-lobby-title{margin-bottom:5px;font-size:8px}.room-original-chat .room-lobby-title small{font-size:7px}.room-original-chat.room-chat-card{grid-template-rows:auto minmax(38px,1fr) auto}.room-original-chat .room-chat-log{min-height:38px;max-height:58px;padding:4px}.room-original-chat .room-chat-log p{gap:1px;margin-bottom:4px;font-size:8px}.room-original-chat .room-chat-log strong{font-size:7px}.room-original-chat .room-chat-form{gap:4px;margin-top:5px}.room-original-chat .room-chat-form input,.room-original-chat .room-chat-form .chrome-button{min-height:31px;font-size:9px}}@media (orientation:landscape) and (max-height:620px) and (max-width:900px){.practice-arena{grid-template-columns:minmax(0,1fr) 124px;align-items:center;width:min(100%,760px);transform:none}.practice-shell .board-bevel{width:auto;height:min(calc(var(--app-viewport-height) - 170px), 72dvh)}.match-shell .board-bevel{width:auto;height:min(calc(var(--app-viewport-height) - 150px), 72dvh)}.practice-shell,.match-shell{overflow:hidden}.practice-info{width:124px;padding:8px}.practice-info .next-well{width:58px}.practice-touch-controls{bottom:max(10px, var(--safe-bottom))}.virtual-joystick{width:108px;height:108px}.rotation-controls .control-button{min-width:58px;min-height:58px}.practice-controls-row{background:0 0;border:0;padding:0}}@media (orientation:portrait) and (max-width:900px){.match-shell .arena{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(72px,24vw,126px);align-items:start;gap:clamp(5px,2vw,12px);width:100%}.match-shell .versus-column{display:none}.match-shell .arena-seat-2{grid-template-columns:clamp(72px,24vw,126px) minmax(0,1fr)}.match-shell .arena-seat-0{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.match-shell .arena-seat-1 .arena-board-p1 .board-bevel,.match-shell .arena-seat-2 .arena-board-p2 .board-bevel{width:auto;height:min(calc(var(--app-viewport-height) - 220px), 74dvh)}.match-shell .arena-seat-1 .arena-board-p2 .board-bevel,.match-shell .arena-seat-2 .arena-board-p1 .board-bevel{width:min(100%,clamp(62px,22vw,118px));height:auto}.match-shell .arena-seat-0 .board-bevel{width:min(100%,30vw);height:auto}.match-shell .arena-seat-1 .arena-board-p2,.match-shell .arena-seat-2 .arena-board-p1{align-self:start;padding-top:clamp(12px,7vh,62px)}.match-shell .arena-seat-1 .arena-board-p2 .seat-label,.match-shell .arena-seat-2 .arena-board-p1 .seat-label{letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:7px;overflow:hidden}.portrait-guard{z-index:100;color:#fff;text-align:center;background:#02060b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.portrait-guard>div{gap:12px;display:grid}.portrait-phone{border:3px solid #c7d0da;border-radius:8px;width:46px;height:72px;margin:0 auto;animation:1.8s ease-in-out infinite rotate-hint;display:block;transform:rotate(90deg)}}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (max-width:430px){.settings-panel{padding:20px 13px}.settings-lead{margin-block:14px 17px;font-size:11px}.key-config-row{grid-template-columns:1fr;gap:7px}.key-capture-button{min-height:38px}.settings-actions{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.portrait-phone,.top-out .board-well{animation:none}}
