*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 16% 10%,rgba(201,68,56,.13),transparent 26%),radial-gradient(circle at 82% 4%,rgba(68,184,158,.18),transparent 30%),radial-gradient(circle at 50% 98%,rgba(178,123,42,.12),transparent 36%),#111816;color:#dfe8e4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100dvh}button{font:inherit}select{color-scheme:dark;cursor:pointer;border-color:#3b5149!important;background-color:#111d19!important;box-shadow:inset 0 1px #ffffff0a,0 4px 12px #00000029;padding-right:34px!important;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}select:hover:not(:disabled){border-color:#4d7a6b!important;background-color:#15241f!important;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #44b89e14,0 6px 16px #0003}select:focus,select:focus-visible{outline:none;border-color:#44b89e!important;background-color:#15241f!important;box-shadow:0 0 0 3px #44b89e2e,0 8px 20px #00000038}select:disabled{cursor:not-allowed;border-color:#293a34!important;background-color:#0d1412!important;color:#74857e!important;box-shadow:none;opacity:.78}select option{background:#111d19;color:#eef7f3}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.loading{display:grid;min-height:100vh;place-items:center}.lobby-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.home-shell{position:relative;overflow:hidden;align-content:start;gap:18px;place-items:stretch center;padding:28px}.home-hero,.home-actions,.home-lower,.home-topbar{width:min(100%,980px)}.home-shell:not(.mode-home) .home-hero,.home-shell:not(.mode-home) .home-actions{display:none}.home-topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:42px}.home-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.home-atmosphere:before{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(115deg,transparent 0 45%,rgba(244,251,247,.05) 48%,transparent 52% 100%),repeating-linear-gradient(90deg,rgba(244,251,247,.018) 0 1px,transparent 1px 86px);content:"";animation:homeFieldDrift 18s linear infinite}.home-orbit{position:absolute;width:52vmax;aspect-ratio:1;border:1px solid rgba(68,184,158,.16);border-radius:50%;transform:rotate(18deg)}.orbit-a{top:-24vmax;right:-16vmax;animation:homeOrbit 22s linear infinite}.orbit-b{bottom:-31vmax;left:-20vmax;border-color:#c9443824;animation:homeOrbit 28s linear infinite reverse}.home-spark{position:absolute;width:8px;height:8px;border-radius:999px;background:#f2d9a7;box-shadow:0 0 22px #f2d9a7bd;animation:homeSpark 8s ease-in-out infinite}.spark-a{top:18%;left:9%}.spark-b{top:34%;right:14%;background:#44b89e;animation-delay:-2s}.spark-c{bottom:18%;left:22%;background:#d8695e;animation-delay:-4s}.spark-d{right:28%;bottom:32%;width:5px;height:5px;animation-delay:-6s}.home-live-badge{display:inline-flex;align-items:center;gap:7px;margin-right:auto;border:1px solid rgba(68,184,158,.33);border-radius:999px;background:#101715c2;color:#d9fff5;font-size:12px;font-weight:800;letter-spacing:0;padding:7px 11px;text-transform:uppercase}.home-live-badge svg{color:#44b89e;filter:drop-shadow(0 0 8px rgba(68,184,158,.65));animation:homePulse 1.8s ease-in-out infinite}.home-user-name{min-width:0;overflow:hidden;color:#aebdb6;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.home-account-button,.account-header button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #31443d;border-radius:7px;background:#101715;color:#e6f0eb;cursor:pointer;padding:0 12px}.home-account-button:hover,.account-header button:hover{border-color:#44b89e}.home-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:22px;align-items:center;min-height:min(43dvh,360px);overflow:hidden;border:1px solid rgba(68,184,158,.18);border-radius:8px;background:linear-gradient(135deg,#101715d6,#1118166b),radial-gradient(circle at 70% 18%,rgba(68,184,158,.2),transparent 30%),radial-gradient(circle at 20% 80%,rgba(201,68,56,.15),transparent 28%);box-shadow:0 28px 90px #00000047;padding:24px}.home-hero:after{position:absolute;inset:auto -10% 0;height:1px;background:linear-gradient(90deg,transparent,rgba(68,184,158,.88),rgba(242,217,167,.88),transparent);content:"";animation:homeLineRush 3.6s ease-in-out infinite}.home-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.56;background-image:linear-gradient(rgba(244,251,247,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,251,247,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,#0003,#000 52%,#00000073);mask-image:linear-gradient(90deg,#0003,#000 52%,#00000073);animation:homeGridMove 8s linear infinite}.home-copy{position:relative;z-index:1;display:grid;gap:14px}.home-kicker{display:inline-flex;align-items:center;gap:7px;width:fit-content;border:1px solid #31443d;border-radius:999px;background:#101715;color:#aebdb6;font-size:12px;font-weight:700;padding:6px 10px}.home-hero .title-block h1{color:#f8fffb;font-size:78px;line-height:.96;text-shadow:0 0 24px rgba(68,184,158,.26),0 10px 32px rgba(0,0,0,.34)}.home-hero .title-block p{max-width:620px;color:#c3d1ca;font-size:18px;line-height:1.55}.home-hero-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.home-hero-stats span{display:inline-flex;align-items:baseline;gap:6px;border:1px solid rgba(244,251,247,.1);border-radius:7px;background:#f4fbf70b;color:#b7c8c0;font-size:11px;padding:8px 10px}.home-hero-stats strong{color:#f4fbf7;font-size:15px}.home-how-to{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.home-how-to li{display:inline-flex;align-items:center;gap:7px;color:#c3d1ca;font-size:12px}.home-how-to b{display:grid;place-items:center;width:21px;height:21px;border:1px solid #44b89e;border-radius:50%;color:#d9fff5;font-size:11px}.home-showcase{position:relative;z-index:1;display:grid;justify-self:end;width:min(100%,330px);min-height:330px;place-items:center;perspective:760px}.home-path{position:absolute;width:78%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(68,184,158,.95),rgba(242,217,167,.9),transparent);filter:drop-shadow(0 0 12px rgba(68,184,158,.74));opacity:.78;transform-origin:center;animation:homePathFire 2.8s ease-in-out infinite}.path-a{top:37%;left:10%;transform:rotate(-28deg)}.path-b{top:57%;left:12%;background:linear-gradient(90deg,transparent,rgba(216,105,94,.95),rgba(242,217,167,.9),transparent);filter:drop-shadow(0 0 12px rgba(216,105,94,.7));transform:rotate(34deg);animation-delay:-1.4s}.home-board-preview{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:8px;width:min(100%,312px);aspect-ratio:1;transform:rotateX(58deg) rotate(-24deg);transform-style:preserve-3d;animation:homeBoardFloat 5.8s ease-in-out infinite}.preview-tile{position:relative;display:grid;place-items:center;min-width:0;border:1px solid #334840;border-radius:8px;background:#16211d;box-shadow:inset 0 0 0 1px #f4fbf708,0 12px 22px #00000029;transform:translateZ(0);animation:homeTileWake 4.2s ease-in-out infinite}.preview-tile:nth-child(2n){animation-delay:-.8s}.preview-tile:nth-child(3n){animation-delay:-1.6s}.preview-piece{position:absolute;width:34%;aspect-ratio:1;border:2px solid rgba(248,255,251,.74);border-radius:999px;background:radial-gradient(circle at 35% 30%,#f8fffb,#44b89e 42%,#123d35 74%);box-shadow:0 0 20px #44b89ebd;transform:translateZ(24px);animation:homePieceHop 2.8s ease-in-out infinite}.preview-tile:nth-child(7) .preview-piece{background:radial-gradient(circle at 35% 30%,#fff2ec,#d8695e 42%,#3a1f1c 74%);box-shadow:0 0 20px #d8695eb3;animation-delay:-1.2s}.preview-tile.confidential{border-color:#44b89e;background:#123d35;color:#d9fff5}.preview-tile.attack{border-color:#8a413d;background:#3a1f1c;color:#ffd8d2}.preview-tile.defense{border-color:#5f758f;background:#172538;color:#dceaff}.preview-tile.move,.preview-tile.teleport{border-color:#a16d2b;background:#352715;color:#f2d9a7}.preview-tile.collapse{border-color:#6d596f;background:#271d2c;color:#eadcf0}.home-scanline{position:absolute;inset:18px 4px auto;height:2px;background:linear-gradient(90deg,transparent,rgba(68,184,158,.95),rgba(242,217,167,.85),transparent);filter:drop-shadow(0 0 14px rgba(68,184,158,.8));animation:homeScan 2.9s ease-in-out infinite}.home-command-card{position:absolute;right:0;bottom:8px;display:grid;gap:3px;min-width:190px;border:1px solid rgba(242,217,167,.32);border-radius:8px;background:#101715db;box-shadow:0 16px 34px #00000047;padding:10px 12px;animation:homeCardFloat 4.4s ease-in-out infinite}.home-command-card span{color:#aebdb6;font-size:11px;font-weight:800;text-transform:uppercase}.home-command-card strong{color:#f2d9a7;font-size:13px}@keyframes homeFieldDrift{0%{transform:translate3d(-4%,-2%,0)}to{transform:translate3d(4%,2%,0)}}@keyframes homeOrbit{to{transform:rotate(378deg)}}@keyframes homeSpark{0%,to{opacity:.35;transform:translateZ(0) scale(.72)}50%{opacity:1;transform:translate3d(18px,-24px,0) scale(1.08)}}@keyframes homePulse{0%,to{opacity:.6;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}@keyframes homeGridMove{to{background-position:42px 42px}}@keyframes homeLineRush{0%,to{opacity:.3;transform:translate(-24%)}50%{opacity:1;transform:translate(24%)}}@keyframes homeBoardFloat{0%,to{transform:rotateX(58deg) rotate(-24deg) translateZ(0)}50%{transform:rotateX(58deg) rotate(-20deg) translate3d(0,-12px,26px)}}@keyframes homeTileWake{0%,to{filter:brightness(1);transform:translateZ(0)}50%{filter:brightness(1.18);transform:translateZ(12px)}}@keyframes homePieceHop{0%,to{transform:translateZ(24px) translateZ(0)}50%{transform:translateZ(42px) translate3d(10px,-8px,0)}}@keyframes homeScan{0%,to{opacity:0;transform:translateY(0)}12%,82%{opacity:1}50%{transform:translateY(286px)}}@keyframes homeCardFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(-8px,-10px,0)}}@keyframes homePathFire{0%,to{opacity:0;clip-path:inset(0 100% 0 0)}28%,70%{opacity:.9}55%{clip-path:inset(0 0 0 0)}82%{clip-path:inset(0 0 0 100%)}}@keyframes homeActionRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.home-atmosphere:before,.home-orbit,.home-spark,.home-live-badge svg,.home-hero:after,.home-hero-grid,.home-path,.home-board-preview,.preview-tile,.preview-piece,.home-scanline,.home-command-card,.home-action{animation:none}.home-action,.home-action-icon,.home-action:before{transition:none}}.lobby-panel{display:grid;gap:18px;width:min(100%,420px);border:1px solid #2b3c36;border-radius:10px;background:#161f1cf5;padding:22px;box-shadow:0 24px 60px #0000004d}.character-picker-panel{width:min(100%,760px);gap:14px}.player-settings-panel,.learn-page{position:relative;z-index:1;width:min(100%,760px)}.player-settings-panel{gap:20px}.settings-section{display:grid;gap:14px;border-top:1px solid #31443d;padding-top:18px}.learn-page{display:grid;gap:14px}.learn-header{border:1px solid #31443d;border-radius:8px;background:#101715;padding:16px}.learn-ai-action{width:100%}.friend-match-panel:focus,.random-match-preview:focus,.player-settings-panel:focus,.learn-page:focus{outline:none}.character-picker-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.character-picker-header h2{margin:0;color:#f4fbf7;font-size:18px}.character-picker-header p{margin:4px 0 0;color:#aebdb6;font-size:12px;line-height:1.45}.character-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.character-options button{display:flex;align-items:center;gap:10px;min-height:56px;justify-content:flex-start;border-color:#31443d;background:#101715;color:#dfe8e4}.character-options button.active{border-color:#44b89e;background:#44b89e24}.character-preview{width:48px}.compact-preview{width:34px;border-radius:6px}.account-page{display:grid;align-content:start;gap:16px;min-height:100dvh;background:#101715;padding:28px}.account-header,.account-layout,.account-error{width:min(100%,980px);margin:0 auto}.account-header{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid #263831;padding-bottom:16px}.account-layout{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,.58fr);gap:12px;align-items:start}.account-status{width:100%}.account-status span,.account-status p{color:#aebdb6}.account-status strong{color:#f4fbf7;font-size:24px;line-height:1.2}.account-status p{margin:0;overflow-wrap:anywhere}.account-form-panel{width:100%}.lobby-error{border:1px solid #87433d;border-radius:6px;background:#3a1f1c;color:#ffd8d2;padding:10px}.home-error{position:relative;z-index:1;width:min(100%,980px)}.home-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-action.recommended-action{grid-column:span 2;border-color:#f0c85a;background:linear-gradient(135deg,#17483d,#163f36)}.recommended-action small{color:#f2d9a7}.history-shell,.replay-shell{display:grid;align-content:start;gap:16px;min-height:100dvh;background:#101715;padding:22px}.history-header,.history-list,.history-error,.replay-layout{width:min(100%,1180px);margin:0 auto}.history-header{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid #263831;padding-bottom:14px}.history-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.history-actions button,.replay-controls button,.history-row-main,.history-delete-button{border:1px solid #31443d;border-radius:6px;background:#18231f;color:#e6f0eb}.history-actions button,.replay-controls button{min-height:38px;padding:0 12px}.history-list{display:grid;gap:8px}.history-empty,.history-row{padding:14px}.history-row{padding:0}.history-empty{border:1px solid #2b3c36;border-radius:8px;background:#151f1b;color:#aebdb6}.history-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center;text-align:left}.history-row-main{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(160px,.8fr) minmax(150px,.7fr);gap:12px;align-items:center;min-height:44px;padding:14px;text-align:left}.history-row-main:hover,.history-delete-button:hover{border-color:#44b89e;background:#1a2a25}.history-delete-button{display:inline-grid;width:44px;height:44px;place-items:center}.history-delete-button:hover{border-color:#f07070;color:#ffc6c6}.history-row span,.history-row-main span{min-width:0}.history-row strong,.history-row small,.history-row-main strong,.history-row-main small{display:block}.history-row small,.history-row-main small{color:#9fb2aa;font-size:12px}.replay-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.replay-board-panel{display:grid;gap:12px}.simulation-board-wrap{position:relative;display:grid;gap:10px;width:min(100%,680px);padding-left:14px;padding-top:18px}.simulation-status{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #2b3c36;border-radius:8px;background:#151f1b;color:#dfe8e4;padding:8px 10px}.simulation-status span,.simulation-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-board{display:grid;width:min(100%,680px);aspect-ratio:1;border:1px solid #2b3c36;background:#0d1311;padding:8px;gap:6px}.replay-cell{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;padding:6px;overflow:hidden}.replay-cell span,.replay-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-cell strong{color:#f3efe0;font-size:12px}.replay-cell.ally{border-color:#44b89e}.replay-cell.enemy{border-color:#8a413d}.simulation-board{width:min(100%,666px)}.replay-controls{display:grid;grid-template-columns:auto auto minmax(160px,1fr) auto auto;gap:8px;align-items:center;width:min(100%,680px)}.simulation-controls,.simulation-start-controls{grid-template-columns:repeat(4,minmax(0,auto));justify-content:start}.simulation-start-controls{grid-template-columns:auto}.replay-position{display:flex;justify-content:space-between;gap:12px;width:min(100%,680px);border:1px solid #2b3c36;border-radius:8px;background:#151f1b;padding:10px 12px}.replay-position span{color:#9fb2aa}.replay-log{max-height:calc(100dvh - 150px);overflow:hidden}.replay-log-list{display:grid;gap:6px;overflow:auto;padding-right:4px}.replay-log-list button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;border:1px solid #2c3e38;border-radius:6px;background:#111a17;color:#dfe8e4;padding:8px;text-align:left}.replay-log-list button.active{border-color:#44b89e;background:#17352e}.replay-log-list small{color:#9fb2aa}.simulation-log-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;border:1px solid #2c3e38;border-radius:6px;background:#111a17;color:#dfe8e4;padding:8px}.simulation-action-panel{display:grid;gap:8px}.simulation-action-panel>p{margin:0;color:#8fa29a;font-size:12px}.map-editor-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100dvh;overflow:hidden;background:#101715;padding:12px}.map-editor-header,.map-editor-layout{width:min(100%,1180px);margin:0 auto}.map-editor-header{display:flex;align-items:end;justify-content:space-between;gap:10px;border-bottom:1px solid #263831;padding-bottom:10px}.map-editor-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.map-editor-header-actions button,.editor-mode-grid button,.tile-palette button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer;padding:0 10px}.map-editor-header-actions button:disabled{cursor:not-allowed;opacity:.5}.map-editor-error{width:min(100%,1180px);margin:0 auto;white-space:pre-wrap}.map-editor-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(430px,1.45fr) minmax(270px,.83fr);gap:10px;height:100%;min-height:0;overflow:hidden}.map-editor-tools,.map-editor-details{display:grid;align-content:start;gap:10px;min-width:0;min-height:0;overflow:auto}.editor-panel{display:grid;gap:10px}.editor-mode-grid,.tile-palette{display:grid;gap:6px}.editor-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-mode-grid button.active,.tile-palette button.active{border-color:#44b89e;background:#163f36;color:#f4fbf7}.tile-palette button{justify-content:flex-start;min-width:0}.tile-palette button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-editor-board-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0}.editor-board-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 82px 82px;gap:8px}.editor-board-toolbar label,.held-editor-list label{display:grid;gap:5px;color:#aebdb6;font-size:12px;font-weight:700}.editor-board-toolbar input,.editor-board-toolbar select,.held-editor-list select{min-height:34px;border:1px solid #31443d;border-radius:6px;background:#0f1714;color:#dfe8e4;font:inherit;padding:0 9px}.editor-board{display:grid;width:min(100%,calc(100dvh - 150px),640px);aspect-ratio:1;align-self:start;justify-self:center;border:2px solid #3a5149;border-radius:8px;background:#31443d;gap:3px;padding:3px}.editor-cell{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;border:1px solid rgba(255,255,255,.05);border-radius:5px;background:#222d29;color:#dfe8e4;cursor:pointer;padding:6px;text-align:left}.editor-cell:hover{border-color:#44b89e}.editor-cell.tile-confidential{background:#283b49}.editor-cell.tile-confidential.confidential-first{background:#1f4b42}.editor-cell.tile-confidential.confidential-second{background:#51312e}.editor-cell.tile-teleporter{background:#243e3d}.editor-cell.tile-attackTerminal{background:#3a3025}.editor-cell.tile-barrier{background:#243c34}.editor-cell.tile-collapseFloor{background:#3b2b2b}.editor-cell.tile-blastDevice{background:#432b23}.editor-cell.tile-accelerator{background:#253a4a}.editor-cell.tile-binoculars{background:#3b3349}.editor-cell span{align-self:end;overflow:hidden;color:#f4fbf7;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.editor-cell small{color:#8fa29a;font-size:10px;font-weight:800;text-transform:uppercase}.editor-cell strong{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;color:#f4fbf7;font-size:12px}.editor-cell strong.player1{background:#174f43}.editor-cell strong.player2{background:#7f2d2d}.editor-cell strong.selected{box-shadow:0 0 0 3px #f4fbf7d1,0 0 0 6px #44b89e80}.editor-valid{color:#8ee0c3;font-weight:700}.editor-issues{display:grid;gap:6px;margin:0;padding-left:18px}.editor-issues li{color:#ffd8d2;font-size:12px;line-height:1.35}.editor-warnings{display:grid;gap:6px;margin:0;padding-left:18px}.editor-warnings li{color:#ffe3a3;font-size:12px;line-height:1.35}.held-editor-list{display:grid;gap:8px}.held-editor-list label.active select{border-color:#44b89e}.official-studio-shell{grid-template-rows:auto auto minmax(0,1fr) minmax(130px,.25fr)}.official-studio-layout{grid-template-columns:minmax(250px,.78fr) minmax(430px,1.38fr) minmax(285px,.84fr)}.official-board-toolbar{grid-template-columns:minmax(140px,.85fr) minmax(180px,1fr) 82px 82px}.official-export-panel{display:grid;gap:10px;width:min(100%,1180px);margin:0 auto}.official-export-panel textarea{min-height:120px;resize:vertical;border:1px solid #31443d;border-radius:8px;background:#0b1110;color:#dfe8e4;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;padding:12px}.tile-palette-groups,.tile-palette-group{display:grid;gap:6px}.tile-palette-group summary{cursor:pointer;color:#c8d5cf;font-size:12px;font-weight:800}.official-catalog-list label{gap:7px}.official-catalog-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.official-catalog-actions button{min-height:30px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer}.official-catalog-actions button:disabled{cursor:not-allowed;opacity:.45}.primary-action,.secondary-action,.join-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #44b89e;border-radius:7px;background:#163f36;color:#f4fbf7;cursor:pointer}.secondary-action{border-color:#5f758f;background:#172538}.home-action{position:relative;overflow:hidden;justify-content:flex-start;min-height:92px;padding:14px;text-align:left;animation:homeActionRise .48s ease both;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.home-action:nth-child(2){animation-delay:70ms}.home-action:nth-child(3){animation-delay:.14s}.home-action:nth-child(4){animation-delay:.21s}.home-action:nth-child(5){animation-delay:.28s}.home-action:before{position:absolute;inset:-60% auto -60% -35%;width:54%;background:linear-gradient(90deg,transparent,rgba(244,251,247,.14),transparent);content:"";transform:skew(-18deg);transition:left .42s ease}.home-action:hover{border-color:#f2d9a7;box-shadow:0 16px 34px #00000038,0 0 24px #44b89e24;transform:translateY(-3px)}.home-action:hover:before{left:88%}.home-action:disabled{cursor:not-allowed;opacity:.58}.home-action-icon{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border:1px solid rgba(244,251,247,.16);border-radius:8px;background:#f4fbf70d;transition:background .16s ease,transform .16s ease}.home-action:hover .home-action-icon{background:#f4fbf71a;transform:rotate(-4deg) scale(1.05)}.home-action span:last-child{display:grid;gap:4px;min-width:0}.home-action strong{color:#f4fbf7;font-size:17px}.home-action small{color:#aebdb6;font-size:12px;line-height:1.35}.home-lower{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.home-join{width:100%}.friend-match-panel{display:grid;gap:14px;width:min(100%,900px)}.friend-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.friend-panel-header h2,.friend-panel-header p{margin:0}.friend-panel-header h2{color:#f4fbf7;font-size:18px}.friend-panel-header p{margin-top:4px;color:#aebdb6;font-size:12px;line-height:1.45}.compact-action{min-height:34px;padding:0 12px}.friend-match-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(240px,1fr);gap:14px;align-items:start}.create-friend-room-card{width:100%}.create-friend-room-card .friend-map-preview-board{width:min(100%,260px)}.friend-match-card{display:grid;gap:12px;padding:14px;border:1px solid #31443d;border-radius:8px;background:#101715}.friend-match-card-header{display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;max-width:calc(100% - 24px);color:#dce8e2}.friend-match-card-header h2{margin:0;color:#f4fbf7;font-size:16px}.friend-match-card-header svg{color:#44b89e}.active-ai-card{max-width:560px}.ai-quick-start{position:relative;max-width:680px;padding-bottom:72px}.ai-recommendation{margin:0;color:#aebdb6;font-size:13px;line-height:1.5}.ai-start-button,.ai-sticky-action button{width:100%;min-height:48px}.ai-advanced-settings{border:1px solid #31443d;border-radius:8px;background:#0f1715}.ai-advanced-settings summary{cursor:pointer;color:#dce8e2;font-weight:700;padding:12px}.ai-advanced-settings .join-form{border-top:1px solid #263831;padding:12px}.ai-advanced-settings label small{color:#8fa29a;line-height:1.45}.ai-sticky-action{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;z-index:40;width:min(650px,calc(100vw - 28px));border:1px solid #44b89e;border-radius:10px;background:#101715f5;padding:8px;transform:translate(-50%);box-shadow:0 18px 48px #00000080}.ai-advanced-settings:not([open])+.ai-sticky-action{display:none}.danger-action{border-color:#7d3744;color:#ffdce2}.random-match-preview{width:min(100%,560px)}.random-match-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.random-match-summary div{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;min-width:0;border:1px solid #31443d;border-radius:8px;background:#101715;padding:10px}.random-match-summary svg{grid-row:span 2;color:#44b89e}.random-match-summary span{color:#aebdb6;font-size:11px}.random-match-summary strong{min-width:0;overflow-wrap:anywhere;color:#f4fbf7;font-size:14px}.random-match-actions{display:flex;flex-wrap:wrap;gap:8px}.random-match-actions button{flex:1 1 180px}.join-form{display:grid;gap:12px}.friend-map-preview{display:grid;gap:8px;padding:10px;border:1px solid #31443d;border-radius:8px;background:#0f1715}.friend-map-preview.empty{color:#aebdb6;font-size:12px}.friend-map-preview-header{display:flex;justify-content:space-between;gap:10px;color:#dce8e2;font-size:12px}.friend-map-preview-header span{color:#89a097}.friend-map-preview-board{display:grid;gap:4px;aspect-ratio:1;width:min(100%,260px)}.friend-map-preview-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #263a34;border-radius:6px;background:#17221f;color:#9fb0aa;font-size:10px;line-height:1;overflow:hidden}.friend-map-preview-cell.tile-confidential{background:#19362f;border-color:#3ca98e;color:#d7fff4}.friend-map-preview-cell.tile-attack-terminal,.friend-map-preview-cell.tile-blast-device{background:#3a1e25;border-color:#9d4858;color:#ffdce2}.friend-map-preview-cell.tile-barrier{background:#1e3044;border-color:#4b7fb6;color:#dcecff}.friend-map-preview-cell.tile-teleporter,.friend-map-preview-cell.tile-accelerator{background:#2b2448;border-color:#7562c5;color:#eee9ff}.friend-map-preview-cell.tile-collapse-floor{background:#352d1c;border-color:#8b7240;color:#f7e7bd}.friend-map-preview-cell b{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700}.friend-map-preview-cell b.player1{background:#dff8ef;color:#12332a}.friend-map-preview-cell b.player2{background:#ffd8df;color:#3b1018}.account-mode-switch,.account-actions{display:flex;flex-wrap:wrap;gap:8px}.account-mode-switch button{flex:1 1 120px;border-color:#31443d;background:#101715}.account-mode-switch button.active{border-color:#44b89e;background:#163f36}.account-actions button{flex:1 1 160px}.manual-panel{border:1px solid #31443d;border-radius:8px;background:#101715;color:#c3d1ca}.home-manual{display:grid;gap:0;width:100%;overflow:hidden}.lesson-panel{display:grid;gap:0;overflow:hidden}.lesson-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:12px}.lesson-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #263831;border-radius:8px;background:#0c1210}.featured-lesson{grid-template-columns:1fr auto;margin:12px;border-color:#f0c85a;background:linear-gradient(135deg,#123d35,#101715)}.lesson-badge{grid-column:1 / -1;width:fit-content;border-radius:999px;background:#f0c85a24;color:#f2d9a7;font-size:11px;font-weight:800;padding:4px 8px}.optional-lessons summary{border-bottom:0}.optional-lessons[open] summary{border-bottom:1px solid #263831}.lesson-card h3{margin:0 0 4px;color:#f4fbf7;font-size:15px}.lesson-card p{margin:0;color:#aebdb6;font-size:12px;line-height:1.45}.tile-quick-reference{overflow:hidden}.tile-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px}.tile-reference-grid article{display:grid;gap:5px;min-height:84px;border:1px solid #263831;border-radius:8px;background:#0c1210;padding:10px}.tile-reference-grid h3,.manual-tile-list h3{display:flex;align-items:center;gap:6px}.tile-reference-grid p{margin:0;color:#aebdb6;font-size:12px;line-height:1.4}.manual-heading{display:flex;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid #263831;color:#f4fbf7;padding:0 12px}.manual-heading h2{margin:0;font-size:15px}.manual-panel summary{display:flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;color:#f4fbf7;font-weight:700;list-style:none;padding:0 12px}.manual-panel summary::-webkit-details-marker{display:none}.manual-content{display:grid;gap:12px;border-top:1px solid #263831;padding:12px}.manual-content section{display:grid;gap:3px}.manual-content h2{margin:0;color:#f4fbf7;font-size:13px}.manual-content p{margin:0;color:#aebdb6;font-size:12px;line-height:1.45}.coming-soon-action:disabled{cursor:not-allowed;opacity:.58}.coming-soon-action em{display:inline-block;margin-left:6px;border:1px solid rgba(240,200,90,.5);border-radius:999px;color:#f0c85a;font-size:10px;font-style:normal;letter-spacing:.04em;padding:2px 6px;vertical-align:2px}.manual-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#050807c7;padding:14px}.manual-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(900px,100%);max-height:min(88dvh,760px);border:1px solid #3a5149;border-radius:10px;background:#111816fc;padding:16px;box-shadow:0 28px 90px #00000094}.manual-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.manual-dialog-header span{color:#8ee0c3;font-size:11px;font-weight:800}.manual-dialog-header h2{margin:2px 0 0;color:#f4fbf7;font-size:20px}.manual-dialog-header button{min-height:32px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer;padding:0 12px}.manual-dialog .manual-content{overflow:auto;padding-right:5px}.manual-tile-section{grid-column:1 / -1}.manual-tile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-tile-list article{border:1px solid #293a34;border-radius:7px;background:#0f1714;padding:9px}.manual-tile-list h3{margin:0 0 4px;color:#dff8ef;font-size:13px}.manual-tile-list p{margin:0}.manual-tile-list dl{display:grid;gap:5px;margin:0}.manual-tile-list dl div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:6px;align-items:start}.manual-tile-list dt{color:#8ee0c3;font-size:11px;font-weight:800}.manual-tile-list dd{margin:0;color:#aebdb6;font-size:12px;line-height:1.35}.join-form h2{margin:0;font-size:15px}.join-form label{display:grid;gap:6px;color:#c3d1ca;font-size:12px}.join-form input,.join-form select{min-height:36px;border:1px solid #31443d;border-radius:6px;background:#0f1714;color:#dfe8e4;font:inherit;padding:0 10px}.join-form button:disabled{cursor:not-allowed;opacity:.5}.app-shell{display:grid;height:100dvh;min-height:0;padding:10px;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:14px}.title-block h1{margin:0;color:#f4fbf7;font-size:28px;letter-spacing:0}.title-block p,.panel p,.resolution-card p{margin:6px 0 0;color:#8fa29a}.toolbar,.action-list{display:flex;flex-wrap:wrap;gap:8px}.toolbar button,.action-list button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer}.toolbar button{padding:0 10px}.toolbar button.active{border-color:#44b89e;background:#163f36}.action-list button,.activation-group{width:100%}.activation-group{display:grid;gap:8px}.action-list button{padding:0 10px}.action-list button:disabled{cursor:not-allowed;opacity:.5}.panel,.log-drawer{border:1px solid #ccd2cb;border-color:#2b3c36;border-radius:8px;background:#161f1cf0;padding:14px;box-shadow:0 14px 30px #0000002e}.panel h2,.resolution-card h2{margin:0 0 10px;color:#f4fbf7;font-size:15px}.panel-heading-icon{display:inline-flex;align-items:center;gap:6px}.resolution-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.resolution-header h2{margin:0}.resolution-header button{min-height:30px;border:1px solid #bd852f;border-radius:6px;background:#191a17;color:#f2d9a7;cursor:pointer;padding:0 10px}.resolution-header button.active{background:#583d16}.room-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.room-meta span{border:1px solid #31443d;border-radius:999px;background:#101715;color:#c3d1ca;font-size:12px;padding:4px 8px}.room-meta span.danger{border-color:#87433d;background:#3a1f1c;color:#ffd8d2}.waiting-panel{gap:18px}.waiting-meta{justify-content:center}.waiting-invite{display:grid;gap:8px;color:#aebdb6;font-size:13px;font-weight:700}.waiting-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.join-url{width:100%;min-height:34px;border:1px solid #31443d;border-radius:6px;background:#0f1714;color:#dfe8e4;font:inherit;font-size:12px;padding:0 8px}.cell-detail{display:grid;gap:6px}.cell-detail-header,.tile-info-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.cell-detail-header span,.tile-info-title span{color:#5d6662;color:#8fa29a;font-size:12px}.tile-info{display:grid;gap:5px}.info-label{color:#8fa29a;font-size:11px;font-weight:700}.tile-info.compact{border-top:1px solid #2f3f39;margin-top:4px;padding-top:8px}.tile-info ul,.effects-block ul{display:grid;gap:3px;margin:0;padding-left:13px}.tile-info li,.tile-info p,.effects-block li,.effects-block p{color:#3e4844;color:#c3d1ca;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.tile-info-title strong{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.tile-info-title strong span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:normal}.piece-inspection,.effects-block{display:grid;gap:4px}.piece-inspection>.tile-info{border-top:1px solid #2f3f39;padding-top:7px}.target-confirmation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center;border:1px solid #d5a447;border-radius:7px;background:#3b2d14;color:#ffe9b7;padding:7px 8px}.target-confirmation strong,.target-confirmation span{grid-column:1}.target-confirmation strong{display:inline-flex;align-items:center;gap:6px}.preview-execute-glyph{display:inline-flex;align-items:center;gap:3px;width:fit-content;color:#9be7ff}.target-confirmation span{font-size:11px;line-height:1.3}.target-confirmation button{grid-column:2;grid-row:1 / 3;min-height:30px;border:1px solid #9f7831;border-radius:5px;background:#20190d;color:#ffe9b7;cursor:pointer;font-size:11px;padding:0 8px}.piece-info-line{display:flex;align-items:center;gap:5px;min-width:0;color:#dfe8e4;font-size:12px;line-height:1.25}.piece-info-line strong{color:#f4fbf7}.piece-info-line span,.piece-info-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-info-line.muted{color:#8fa29a}.board-area{--side-panel-width: clamp(300px, 28dvw, 420px);--board-max-size: min(660px, calc(100dvh - 112px) , calc(100dvw - var(--side-panel-width) - 70px));position:relative;display:grid;grid-template-areas:"header header" "board side" "drawer side";grid-template-columns:minmax(420px,var(--board-max-size)) var(--side-panel-width);grid-template-rows:auto minmax(0,1fr) auto;justify-items:stretch;align-items:center;justify-content:center;align-content:stretch;gap:10px;min-width:0;min-height:0;height:100%;border:1px solid #24342f;border-radius:10px;background:linear-gradient(180deg,#ffffff0a,#fff0),#101715;padding:10px;box-shadow:inset 0 0 0 1px #ffffff08,0 24px 60px #0000004d;overflow:hidden}.game-header{grid-area:header;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%}.game-header p{margin:0;color:#c3d1ca;font-size:12px;font-weight:700}.board-guidance{display:flex;flex-basis:100%;align-items:center;justify-content:flex-end;gap:8px;min-width:0;color:#8fa29a;font-size:11px;font-weight:700}.board-legend{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.board-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.board-legend-item i{display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-radius:3px}.board-legend-item.move{color:#2774bd}.board-legend-item.swap{color:#a96814}.board-legend-item.attack{color:#b63b32}.board-step{border:1px solid #d0c29f;border-radius:999px;background:#fffaf0;color:#6b501e;padding:4px 8px;white-space:nowrap}.board-step strong{margin-right:4px}.clock-row{display:inline-flex;align-items:center;gap:6px}.clock-row span{border:1px solid #31443d;border-radius:6px;background:#0f1714;color:#8fa29a;font-size:11px;font-weight:800;padding:4px 7px;font-variant-numeric:tabular-nums}.clock-row span.active{border-color:#44b89e;color:#f4fbf7}.turn-timer{display:inline-grid;grid-template-columns:auto minmax(2ch,auto) auto;align-items:center;column-gap:4px;min-width:116px;border:1px solid #31443d;border-radius:6px;background:#0f1714;color:#8fa29a;font-size:11px;font-weight:800;line-height:1;padding:5px 7px 6px;font-variant-numeric:tabular-nums}.turn-timer strong{color:#f4fbf7;font-size:18px;line-height:.9;text-align:right}.turn-timer-track{grid-column:1 / -1;height:3px;margin-top:5px;overflow:hidden;border-radius:999px;background:#263831}.turn-timer-track div{width:100%;height:100%;border-radius:inherit;background:#44b89e;transform-origin:left center;transition:transform .18s linear,background-color .18s ease}.turn-timer.urgent{border-color:#bd852f;color:#f2d9a7}.turn-timer.urgent strong{color:#ffd8d2}.turn-timer.urgent .turn-timer-track div{background:#d45a4d}.game-header button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer}.board-stage{grid-area:board;position:relative;display:grid;grid-template-rows:minmax(0,1fr);justify-items:center;align-items:center;gap:6px;width:var(--board-max-size);min-height:0}.game-side-panel{grid-area:side;align-self:stretch;display:grid;grid-template-rows:auto auto minmax(0,1fr) minmax(96px,.36fr) auto;gap:10px;min-width:0;min-height:0;overflow:auto;padding-right:2px}.mobile-tutorial-slot,.mobile-yard-tray,.mobile-info-panel{display:none}.side-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.side-section-header h2{margin:0;color:#f4fbf7;font-size:13px}.side-section-header span{overflow:hidden;color:#8fa29a;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.side-action-panel,.side-log-panel,.side-sound-panel{display:grid;gap:8px;min-width:0}.side-action-panel>p{margin:0;color:#8fa29a;font-size:12px}.side-piece-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.side-yards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;overflow:auto}.side-log-panel{min-height:0}.side-log-panel .log-list{max-height:none;min-height:0}.sound-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.sound-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;min-height:32px;border:1px solid #31443d;border-radius:7px;background:#0f1714;color:#aebdb6;cursor:pointer;font-size:12px;font-weight:800}.sound-controls button.active{border-color:#44b89e;background:#123d35;color:#d9fff5}.sound-volume-control{min-width:0}.sound-volume-control input{width:100%;accent-color:#44b89e;cursor:pointer}.sound-volume-control input:disabled{cursor:not-allowed;opacity:.45}.board-hint{position:absolute;left:8px;bottom:8px;z-index:6;max-width:min(320px,calc(100% - 16px));margin:0}.board{position:relative;display:grid;width:var(--board-max-size);max-width:100%;max-height:100%;aspect-ratio:1;border:2px solid #3a5149;border-radius:8px;background:#31443d;gap:3px;padding:3px;overflow:visible}.board-stage.clock-warning .board{border-color:#e05043;background:#6b221e;box-shadow:inset 0 0 0 2px #ff7e706b,0 0 0 4px #e050432e,0 0 34px #e0504361;animation:boardClockWarningPulse 1.6s ease-in-out infinite}.board-stage.clock-warning .board-file-labels,.board-stage.clock-warning .board-rank-labels{color:#ffd0ca;text-shadow:0 0 12px rgba(224,80,67,.72)}.board-file-labels,.board-rank-labels{position:absolute;z-index:2;display:grid;color:#9aaca5;font-size:11px;font-weight:800;line-height:1;pointer-events:none;text-transform:uppercase}.board-file-labels{right:3px;bottom:calc(100% + 6px);left:3px}.board-rank-labels{top:3px;right:calc(100% + 7px);bottom:3px}.board-file-labels span,.board-rank-labels span{display:grid;place-items:center}.cell{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;border:0;border:1px solid rgba(255,255,255,.04);border-radius:5px;background:#27332f;color:#dfe8e4;cursor:pointer;padding:clamp(3px,.7dvh,6px);text-align:left;overflow:visible}.cell-hit-target{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;padding:0}.cell-hit-target:focus-visible{outline:3px solid #f4fbf7;outline-offset:-4px}.cell-target-badge{position:absolute;top:5px;left:5px;z-index:6;border:1px solid currentColor;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#080c0be0;color:#e8f4ef;padding:0}.cell[data-target-kind=move] .cell-target-badge{color:#8cc8ff}.cell[data-target-kind=swap] .cell-target-badge{color:#ffc56f}.cell[data-target-kind=attack] .cell-target-badge{color:#ff9189}.command-preview-banner{position:absolute;z-index:18;top:10px;left:50%;display:flex;align-items:center;gap:8px;padding:7px 12px;transform:translate(-50%);border:1px dashed rgba(117,220,255,.88);border-radius:999px;background:#0c1b27f0;color:#9be7ff;box-shadow:0 8px 24px #00000047,0 0 18px #5dd0ff29;pointer-events:none}.command-preview-banner strong{letter-spacing:.12em;white-space:nowrap}.command-preview-banner span{color:#e1f7ffdb}.board.command-preview-active{box-shadow:inset 0 0 0 2px #67d8ff94,0 0 26px #4bc1ff24}.board.command-preview-playing .cell{transition:opacity .18s ease,filter .18s ease}@keyframes boardClockWarningPulse{0%,to{box-shadow:inset 0 0 0 2px #ff7e7061,0 0 0 4px #e0504329,0 0 28px #e0504352}50%{box-shadow:inset 0 0 0 2px #ffb0a694,0 0 0 6px #e0504338,0 0 44px #e0504385}}.cell.preview-move-target,.cell.preview-swap-target,.cell.preview-attack-target{opacity:1;z-index:5}.cell.preview-move-target{box-shadow:inset 0 0 0 2px #6ebeffcc,0 0 20px #50aaff3d}.cell.preview-swap-target{box-shadow:inset 0 0 0 2px #ffbe50d9,0 0 20px #ffaa373d}.cell.preview-attack-target{box-shadow:inset 0 0 0 2px #ff665ce6,0 0 22px #ff554847}.preview-choice-badge{position:absolute;z-index:13;right:5px;bottom:5px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px dashed currentColor;border-radius:4px;background:#0a0f18d1;color:#ffe49a;font-size:clamp(.48rem,1.2vw,.65rem);font-weight:800;line-height:1.2;pointer-events:none}.forecast-motion-paths{position:absolute;z-index:11;top:3px;right:3px;bottom:3px;left:3px;width:calc(100% - 6px);height:calc(100% - 6px);overflow:visible;pointer-events:none}.forecast-motion-line,.forecast-motion-arrow{fill:none;stroke:#97ebfff2;stroke-linecap:round;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(55,199,255,.9))}.forecast-motion-line{stroke-dasharray:8 6}.forecast-motion-origin{fill:#09202beb;stroke:#a7efff;stroke-width:3;vector-effect:non-scaling-stroke}.cell-forecast-overlay{position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:7;overflow:hidden;border:2px dashed rgba(116,219,255,.78);border-radius:7px;background:repeating-linear-gradient(-45deg,#3fb7e217 0,#3fb7e217 5px,#081b2605 5px,#081b2605 10px);color:#b7efff;pointer-events:none}.forecast-watermark{position:absolute;top:3px;left:4px;color:#9be8ffb8;display:grid;place-items:center}.forecast-origin-mark,.forecast-impact-mark,.forecast-destroy-mark,.forecast-held-mark{position:absolute;z-index:3;display:grid;place-items:center;border-radius:999px;background:#081924e6;color:#b9edff}.forecast-origin-mark{left:50%;bottom:5px;width:26px;height:26px;transform:translate(-50%)}.forecast-impact-mark,.forecast-destroy-mark{top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%) rotate(-6deg);border:1px dashed rgba(255,136,126,.95);color:#ffc1ba}.forecast-impact-mark{background:#4514179e}.forecast-destroy-mark{width:54px;height:54px;background:#451417eb}.forecast-destroy-mark svg:last-child{position:absolute}.forecast-held-mark{right:4px;bottom:4px;display:flex;gap:3px;padding:4px;border:1px solid rgba(255,199,99,.72);color:#ffe1a1}.forecast-future-tile{position:absolute;top:15px;right:7px;bottom:7px;left:7px;display:flex;justify-content:center;align-items:center;gap:8px;padding:5px;border:1px solid rgba(255,199,99,.7);border-radius:6px;background:#2d2313d1;color:#ffe1a1}.forecast-future-tile svg{width:clamp(16px,2.4vw,24px);height:clamp(16px,2.4vw,24px)}.forecast-ghost-piece{position:absolute;top:50%;left:50%;z-index:2;display:grid;place-items:center;transform:translate(-50%,-50%)}.forecast-ghost-piece .piece{display:grid;place-items:center;width:clamp(30px,min(4.4vw,6.7dvh),52px);aspect-ratio:1;border:2px dashed #8ee7ff;border-radius:999px;background:#1f5b6eb3;color:#d8f8ff;opacity:.72;box-shadow:0 0 18px #5bd3ff5c}.forecast-ghost-piece.enemy .piece{border-color:#ffaea5;background:#6c2c2aad;color:#ffe4df}.forecast-arrival-mark{position:absolute;right:-8px;bottom:-5px;display:grid;place-items:center;width:22px;height:22px;border:1px dashed #8ee7ff;border-radius:999px;background:#071923e6;color:#bcefff}.cell.forecast-departing>.avatar,.cell.forecast-destroyed>.avatar{opacity:.62;filter:saturate(.65)}.cell.forecast-destroyed .cell-forecast-overlay{border-color:#ff7065d1;background:repeating-linear-gradient(-45deg,#cd413b1f 0,#cd413b1f 5px,#380f1105 5px,#380f1105 10px)}.cell.inspected{z-index:30}.cell:nth-child(2n){background:#22302c}.cell.tile-floor,.cell.tile-floor:nth-child(2n){background:#222d29}.cell.move-target{box-shadow:inset 0 0 0 4px #3d8fe8,0 0 22px #3d8fe847;border-style:solid;animation:targetPulseBlue 1.2s ease-in-out infinite}.cell.swap-target{box-shadow:inset 0 0 0 4px #c9872f,0 0 22px #c9872f42;border-style:dashed;animation:targetPulseAmber 1.2s ease-in-out infinite}.cell.attack-target{box-shadow:inset 0 0 0 4px #db5148,0 0 22px #db51484d;border-style:double;animation:targetPulseRed 1s ease-in-out infinite}.cell.target-selected{z-index:5;animation:none;outline:3px solid #ffe18b;outline-offset:-6px;filter:brightness(1.12)}.target-confirm-label{position:absolute;z-index:12;left:50%;bottom:8px;max-width:calc(100% - 16px);transform:translate(-50%);border:1px solid rgba(255,225,139,.86);border-radius:999px;background:#231b0af0;color:#ffe18b;font-size:11px;font-weight:800;line-height:1;padding:5px 8px;pointer-events:none;text-align:center;white-space:nowrap}.ai-first-hint{position:absolute;z-index:20;top:10px;right:10px;display:flex;align-items:center;gap:12px;max-width:min(390px,calc(100% - 20px));border:1px solid rgba(142,224,195,.72);border-radius:8px;background:#0d1e1bf5;color:#dff8ef;box-shadow:0 14px 34px #00000052;padding:10px 12px}.ai-first-hint div{display:grid;gap:2px;min-width:0}.ai-first-hint strong{color:#f4fbf7;font-size:13px}.ai-first-hint span{color:#aebdb6;font-size:12px;line-height:1.35}.ai-first-hint button{min-height:30px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer;padding:0 10px}.choice-decline-button{position:absolute;top:50%;left:50%;z-index:8;display:grid;place-items:center;width:clamp(32px,min(4.6vw,6.4dvh),48px);height:clamp(32px,min(4.6vw,6.4dvh),48px);border:2px solid rgba(255,229,221,.9);border-radius:999px;background:#60231feb;color:#fff2ee;cursor:pointer;padding:0;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #60231f38,0 12px 28px #00000052}.choice-decline-button:hover,.choice-decline-button:focus-visible{background:#8e3028;outline:2px solid #ffd1c7;outline-offset:2px}.cell.tile-confidential{background:#283b49}.cell.tile-confidential.confidential-own{background:#1f4b42}.cell.tile-confidential.confidential-opponent{background:#51312e}.cell.tile-confidential.confidential-own .tile-corner{color:#8ee0c3}.cell.tile-confidential.confidential-opponent .tile-corner{color:#ffb09b}.cell.tile-teleporter{background:#243e3d}.cell.tile-attackTerminal{background:#3a3025}.cell.tile-barrier{background:#243c34}.cell.tile-collapseFloor{background:#3b2b2b}.cell.tile-blastDevice{background:#432b23}.cell.tile-accelerator{background:#253a4a}.cell.tile-binoculars{background:#3b3349}.ally .piece{background:#243b34;border-color:#6f9585;color:#d4e4dc}.enemy .piece{background:#47302d;border-color:#a3796f;color:#ead9d3}.tile-corner{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:clamp(16px,min(2.2vw,3.2dvh),24px);height:clamp(16px,min(2.2vw,3.2dvh),24px);border-radius:5px;background:#080c0b38;color:#f3f8f5ad;pointer-events:none}.tile-marker{width:clamp(20px,min(3vw,4.2dvh),30px);height:clamp(20px,min(3vw,4.2dvh),30px);border:1px solid currentColor;border-radius:7px;background:#ffffffd6;box-shadow:0 2px 5px #171a181f}.tile-corner-top-right{top:5px;right:5px}.tile-corner-bottom-left{bottom:5px;left:5px}.tile-name{position:absolute;z-index:1;bottom:6px;left:50%;max-width:calc(100% - 48px);transform:translate(-50%);overflow:hidden;color:#f3f8f5;font-size:clamp(8px,min(1vw,1.35dvh),12px);font-weight:700;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.85);white-space:nowrap}.avatar{align-self:center;justify-self:center;display:grid;place-items:center;min-width:0;border:0;border-radius:999px;cursor:pointer;padding:0}.cell>.avatar{position:absolute;top:50%;left:50%;z-index:3;translate:-50% -50%;pointer-events:none}.avatar.compact{flex:0 0 auto;align-self:center;justify-self:auto;cursor:inherit;padding:0}.avatar.attention,.avatar.attack-target{filter:none}.avatar.selected .piece{border-color:#70c0ad;outline:3px solid rgba(68,184,158,.28);outline-offset:2px}.avatar.attention .piece{border-color:#c9a54f;outline:2px dashed rgba(201,165,79,.72);outline-offset:2px}.avatar.attack-target .piece{border-color:#d56a5e;outline:3px solid rgba(213,106,94,.24);outline-offset:2px}.cell-visual-effect{position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:4;border-radius:7px;pointer-events:none}.cell-visual-effect-move{border:2px solid rgba(93,171,255,.9);animation:cellFlashBlue .78s ease-out both}.cell-visual-effect-swap{border:2px solid rgba(245,174,78,.9);animation:cellSpinAmber .78s ease-out both}.cell-visual-effect-attack{border:2px solid rgba(255,92,82,.95);animation:cellImpactRed .68s ease-out both}.cell-visual-effect-block{border:2px solid rgba(170,205,255,.95);animation:cellShield .72s ease-out both}.cell-visual-effect-destroy{border:2px solid rgba(255,121,80,.95);background:radial-gradient(circle,rgba(255,113,63,.28),transparent 62%);animation:cellBreak .82s ease-out both}.cell-visual-effect-turn{border:1px solid rgba(240,200,90,.7);animation:cellTurnGlow .85s ease-out both}.visual-effect-attack .avatar,.visual-effect-destroy .avatar{animation:pieceHit .62s ease-out both}.avatar-portrait{position:relative;display:grid;place-items:center;min-width:0;width:clamp(36px,min(4.9vw,7.6dvh),62px);aspect-ratio:1;overflow:visible}.avatar-portrait img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;-webkit-user-select:none;user-select:none}.avatar-portrait.character-preview{width:48px}.avatar-portrait.compact-preview{width:34px;border-radius:6px}.piece{position:relative;z-index:1;display:inline-grid;place-items:center;width:100%;height:100%;border:2px solid #7f8d85;border-radius:999px;color:#fff;padding:0;margin:0;background:#2d3834;box-shadow:none;font-size:0;line-height:1;text-shadow:none}.piece-owner-mark{display:grid;place-items:center;width:58%;height:58%;border:1px solid currentColor;border-radius:999px;font-size:clamp(11px,min(1.35vw,2.1dvh),16px);font-weight:900;line-height:1}.held-badge{position:absolute;right:-5px;bottom:-4px;z-index:4;display:grid;place-items:center;width:clamp(20px,min(2.8vw,4.2dvh),30px);height:clamp(20px,min(2.8vw,4.2dvh),30px);border:2px solid currentColor;border-radius:6px;background:#fff;color:#30352f;box-shadow:0 3px 7px #171a182e}.held-badge svg{width:66%;height:66%}.piece svg{width:52%;height:52%;filter:none;opacity:.86;stroke-width:2.4}.piece-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.cell-popover.piece-command-panel{display:block;width:max-content;max-width:min(190px,52vw);max-height:none;overflow:visible;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.cell-popover.piece-command-panel .piece-actions{flex-direction:column;align-items:stretch}.cell-popover.piece-command-panel .piece-actions button{width:100%;min-width:76px;min-height:34px;font-size:13px;padding:0 11px}.cell-popover{position:absolute;left:calc(100% - 8px);top:8px;z-index:20;display:grid;gap:6px;width:min(190px,52vw);max-height:min(320px,66dvh);overflow:auto;border:1px solid #44b89e;border-radius:8px;background:#111816fa;color:#dfe8e4;padding:8px;box-shadow:0 18px 50px #0000006b}.cell:nth-child(5n) .cell-popover,.cell:nth-child(5n-1) .cell-popover{right:calc(100% - 8px);left:auto}.cell:nth-child(n+21) .cell-popover,.cell:nth-child(n+16):nth-child(-n+20) .cell-popover{top:auto;bottom:8px}.piece-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;border:1px solid #aeb8b2;border-radius:5px;background:#0e1412f5;color:#dfe8e4;cursor:pointer;font-size:12px;font-weight:700;padding:0 8px}.piece-actions button.active{border-color:#44b89e;background:#143d34}.piece-actions button:disabled{cursor:not-allowed;opacity:.45}.action-hint{border:1px solid #2f6d55;border-radius:6px;background:#142d25;padding:8px}.tutorial-step-panel{display:grid;gap:5px;border:1px solid #3a5149;border-radius:8px;background:#111816;padding:10px 12px}.tutorial-step-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutorial-step-panel span{color:#9cb5aa;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.tutorial-step-panel button{border:1px solid #3a5149;border-radius:6px;background:#17231f;color:#d7e6df;padding:5px 9px;font-size:12px;font-weight:700;cursor:pointer}.tutorial-step-panel button:hover{border-color:#f0c85a;color:#fff7dc}.tutorial-step-panel h2{margin:0;color:#f4fbf7;font-size:15px}.tutorial-step-panel p{margin:0;color:#c3d1ca;font-size:13px;line-height:1.45}.tutorial-input-sequence{display:flex;align-items:center;gap:6px;margin-top:3px}.tutorial-input-sequence span{display:inline-flex;align-items:center;gap:4px;color:#dfe8e4;font-size:11px;text-transform:none}.tutorial-input-sequence b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f0c85a;color:#111816;font-size:10px}.tutorial-input-sequence i{color:#8fa29a;font-style:normal}.tutorial-intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:38;display:grid;place-items:center;background:#050807c2;padding:18px}.tutorial-intro-ring{position:absolute;border:2px solid #f0c85a;border-radius:12px;box-shadow:0 0 0 3px #f0c85a33,0 0 28px #f0c85a61;animation:tutorial-pulse-target 1.2s ease-in-out infinite;pointer-events:none;z-index:0}.tutorial-intro-panel{position:relative;z-index:1;box-sizing:border-box;display:grid;gap:12px;width:min(100%,520px);max-height:calc(100% - 24px);overflow:auto;border:1px solid #f0c85a;border-radius:8px;background:#111816fa;padding:18px;box-shadow:0 28px 90px #0000008c}.tutorial-intro-panel.top{align-self:start}.tutorial-intro-panel.bottom{align-self:end}.tutorial-intro-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.tutorial-intro-header span{min-width:0;color:#f0c85a;font-size:11px;font-weight:900}.tutorial-intro-panel h2{margin:0;color:#f4fbf7;font-size:20px}.tutorial-intro-panel p{margin:0;color:#c3d1ca;font-size:14px;line-height:1.65}.tutorial-intro-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tutorial-intro-examples article{display:grid;gap:4px;border:1px solid #30463e;border-radius:7px;background:#101715;padding:9px}.tutorial-intro-examples strong{color:#f4fbf7;font-size:13px}.tutorial-intro-examples span{color:#aebdb6;font-size:12px;line-height:1.45}.tutorial-intro-panel button{min-height:34px;border:1px solid #3a5149;border-radius:6px;background:#17231f;color:#d7e6df;padding:0 12px;font-weight:800;cursor:pointer}.tutorial-intro-panel button:disabled{cursor:not-allowed;opacity:.45}.tutorial-intro-panel button.primary-action{border-color:#f0c85a;background:#f0c85a;color:#111816}.tutorial-intro-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.tutorial-spotlight-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:32;pointer-events:none}.tutorial-spotlight-ring{position:absolute;border:3px solid #f0c85a;border-radius:12px;box-shadow:0 0 0 3px #f0c85a33,0 0 32px #f0c85a94;animation:tutorial-pulse-target 1.05s ease-in-out infinite;pointer-events:none}.tutorial-spotlight-ring:after{position:absolute;top:-12px;left:-12px;display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#f0c85a;color:#111816;content:"次";font-size:10px;font-weight:900}.tutorial-overlay-card{position:absolute;right:14px;z-index:2;width:min(360px,calc(100% - 28px));pointer-events:auto}.tutorial-overlay-card.top{top:14px}.tutorial-overlay-card.bottom{bottom:50px}.tutorial-overlay-card .tutorial-step-panel{border-color:#f0c85a;background:#111816fa;box-shadow:0 24px 70px #00000075;animation:tutorial-pulse-card 1.4s ease-in-out infinite}.tutorial-overlay-card .tutorial-step-panel span{color:#f0c85a}@keyframes tutorial-pulse-target{0%,to{opacity:.72;transform:scale(1);box-shadow:0 0 0 2px #f0c85a2e,0 0 18px #f0c85a61}50%{opacity:1;transform:scale(1.035);box-shadow:0 0 0 6px #f0c85a2e,0 0 36px #f0c85ac7}}@keyframes tutorial-pulse-card{0%,to{box-shadow:0 24px 70px #00000075,0 0 #f0c85a00}50%{box-shadow:0 24px 70px #00000075,0 0 22px #f0c85a6b}}.lesson-floating-panel{position:absolute;right:clamp(12px,2vw,24px);top:clamp(72px,8vh,96px);z-index:35;width:min(320px,calc(100% - 24px))}.lesson-floating-panel .tutorial-step-panel{box-shadow:0 18px 52px #0000006b}.yard-panel{display:grid;gap:6px}.yard-help{margin:0;color:#8fa29a;font-size:10px;line-height:1.35}.tutorial-turn-waiting{border:1px solid #3a5149;border-radius:8px;background:#111816;color:#c3d1ca;padding:9px 11px;font-size:12px;text-align:center}.lesson-turn-waiting{position:absolute;top:52px;left:50%;z-index:34;border:1px solid #f0c85a;border-radius:999px;background:#111816f5;color:#f2d9a7;padding:7px 12px;font-size:12px;transform:translate(-50%);white-space:nowrap}.yard-panel.tutorial-focus{border-color:#f0b35b;box-shadow:0 0 0 2px #f0b35b33}.yard-row{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(146px,1fr) minmax(72px,auto);gap:6px;width:100%;height:var(--board-max-size);max-height:min(100%,var(--board-max-size));min-height:0;overflow:visible}.game-side-panel .yard-panel{position:relative;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:132px;border-color:#2b3c36;border-radius:8px;background:#101715db;padding:8px;overflow:visible}.game-side-panel .yard-panel h2{justify-content:flex-start;gap:6px;margin:0;font-size:12px;line-height:1.1}.game-side-panel .yard-panel h2 svg{width:14px;height:14px}.game-side-panel .yard-panel>p{display:block;margin:0;color:#8fa29a;font-size:12px}.game-side-panel .yard-list{grid-template-columns:1fr;align-content:start;gap:6px;overflow:auto}.game-side-panel .yard-piece{display:grid;place-items:stretch;width:100%;height:auto;min-height:48px;border-radius:7px;padding:6px;text-align:left}.game-side-panel .yard-piece-main{justify-content:flex-start;gap:6px}.game-side-panel .yard-piece-main strong,.game-side-panel .yard-piece-main>span:last-child,.game-side-panel .yard-piece-sub{display:block}.game-side-panel .yard-popover{right:8px;left:auto;top:46px;width:min(260px,88%)}.opponent-yards{grid-area:opponent;align-self:start;justify-self:end}.own-yards{grid-area:own;align-self:end;justify-self:start}.yard-row .yard-panel{position:relative;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;border-color:#2b3c36;border-radius:999px;background:#101715db;box-shadow:inset 0 0 0 1px #ffffff08;padding:7px 4px;overflow:hidden}.yard-row .yard-panel h2{display:flex;justify-content:center;margin:0;font-size:0;line-height:1}.yard-row .yard-panel h2 svg{width:16px;height:16px;color:#aebdb6}.yard-row .yard-panel>p{display:none}.yard-list{display:grid;grid-template-columns:1fr;justify-items:center;align-content:start;gap:5px;min-height:0;overflow:visible}.yard-piece{display:inline-grid;place-items:center;min-width:0;width:34px;height:44px;border:1px solid #2f3f39;border-radius:8px;background:#17211eeb;color:#dfe8e4;padding:2px;text-align:center}.yard-piece:not(:disabled){cursor:pointer}.yard-piece:disabled{cursor:default;opacity:.78}.yard-piece.selected{border-color:#49b982;background:#143327}.yard-piece.attention{border-color:#f0c85a;background:#2b2719;box-shadow:0 0 0 2px #f0c85a29,0 0 18px #f0c85a29}.yard-piece-main{display:flex;align-items:center;justify-content:center;gap:0;min-width:0}.yard-piece-main strong,.yard-piece-main>span:last-child,.yard-piece-sub{display:none}.yard-piece-main strong,.yard-piece-main span,.yard-piece-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yard-piece-main strong{color:#f4fbf7}.yard-piece-main>span:last-child,.yard-piece-sub{color:#8fa29a;font-size:11px}.yard-popover{position:absolute;z-index:25;top:8px;width:min(190px,56vw);border:1px solid #44b89e;border-radius:8px;background:#111816fa;color:#dfe8e4;padding:8px;box-shadow:0 18px 50px #0000006b}.opponent-yards .yard-popover{left:calc(100% + 8px)}.own-yards .yard-popover{right:calc(100% + 8px)}.log-list{display:grid;gap:6px;max-height:min(180px,34dvh);overflow:auto}.log-item{border-bottom:1px solid #2f3f39;padding:5px 0;color:#9bada5;font-size:12px}@keyframes targetPulseBlue{0%,to{box-shadow:inset 0 0 0 4px #3d8fe8,0 0 18px #3d8fe838}50%{box-shadow:inset 0 0 0 4px #7ab9ff,0 0 30px #3d8fe875}}@keyframes targetPulseAmber{0%,to{box-shadow:inset 0 0 0 4px #c9872f,0 0 18px #c9872f38}50%{box-shadow:inset 0 0 0 4px #f0b45d,0 0 30px #c9872f70}}@keyframes targetPulseRed{0%,to{box-shadow:inset 0 0 0 4px #db5148,0 0 18px #db514838}50%{box-shadow:inset 0 0 0 4px #ff7a70,0 0 30px #db514880}}@keyframes targetPulseGreen{0%,to{box-shadow:inset 0 0 0 4px #49b982,0 0 18px #49b98238}50%{box-shadow:inset 0 0 0 4px #7be0a9,0 0 30px #49b98275}}@keyframes selectedPieceLift{0%,to{transform:translateY(0);box-shadow:0 0 #44b89e00}50%{transform:translateY(-2px);box-shadow:0 10px 22px #44b89e2e}}@keyframes cellFlashBlue{0%{opacity:0;transform:scale(.8);box-shadow:0 0 #5dabff00}22%{opacity:1}to{opacity:0;transform:scale(1.28);box-shadow:0 0 28px #5dabff80}}@keyframes cellSpinAmber{0%{opacity:0;transform:rotate(-10deg) scale(.82)}24%{opacity:1}to{opacity:0;transform:rotate(18deg) scale(1.24);box-shadow:0 0 26px #f5ae4e75}}@keyframes cellImpactRed{0%{opacity:0;transform:scale(1.22)}18%{opacity:1;transform:scale(.92);box-shadow:0 0 32px #ff5c5294}to{opacity:0;transform:scale(1.18)}}@keyframes cellShield{0%{opacity:0;transform:scale(.7)}28%{opacity:1;transform:scale(1);box-shadow:inset 0 0 18px #aacdff52,0 0 26px #aacdff6b}to{opacity:0;transform:scale(1.14)}}@keyframes cellBreak{0%{opacity:0;transform:scale(.78) rotate(0)}18%{opacity:1;transform:scale(1.04) rotate(-2deg);box-shadow:0 0 34px #ff795085}to{opacity:0;transform:scale(1.34) rotate(7deg)}}@keyframes cellTurnGlow{0%{opacity:0;transform:scale(.92)}30%{opacity:1;box-shadow:0 0 22px #f0c85a57}to{opacity:0;transform:scale(1.16)}}@keyframes pieceHit{0%,to{transform:translate(0)}18%{transform:translate(-3px)}36%{transform:translate(3px)}54%{transform:translate(-2px)}72%{transform:translate(2px)}}@media(prefers-reduced-motion:reduce){.cell.move-target,.cell.swap-target,.cell.attack-target,.avatar.selected,.visual-effect-attack .avatar,.visual-effect-destroy .avatar,.cell-visual-effect{animation:none}.cell-visual-effect{opacity:.45}.board-stage.clock-warning .board{animation:none}.board.command-preview-playing .cell{transition:none}}.log-drawer{padding:0}.drawer-row{grid-area:drawer;position:relative;z-index:45;display:grid;grid-template-columns:40px 40px 40px 40px 40px minmax(96px,1fr);gap:7px;width:min(100%,760px);min-height:0}.log-drawer summary,.home-button,.room-button,.log-button,.sound-button{display:flex;align-items:center;justify-content:center;width:38px;min-height:34px;border-radius:7px;color:#dfe8e4;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.home-button,.room-button,.log-button,.sound-button,.guide-button{border:1px solid #2b3c36;background:#161f1cf0;padding:0}.sound-button.active{border-color:#44b89e;color:#d9fff5}.guide-button{display:flex;align-items:center;justify-content:center;width:38px;min-height:34px;border-radius:7px;color:#dfe8e4;cursor:pointer}.drawer-row.tutorial{grid-template-columns:40px 40px 40px 40px 40px 40px minmax(96px,1fr)}.log-drawer summary::-webkit-details-marker{display:none}.log-drawer[open]{grid-column:1 / -1;max-height:min(190px,36dvh);overflow:auto;padding:9px}.log-drawer[open] summary{min-height:30px;margin-bottom:7px}.resign-button{display:inline-flex;align-items:center;justify-content:center;gap:0;width:38px;min-height:34px;border:1px solid #5a2c2c;border-radius:7px;background:#3a1715;color:#ffb5ad;cursor:pointer;font-weight:700;box-shadow:inset 0 0 0 1px #ff665a1f}.resign-button:disabled{cursor:not-allowed;opacity:.45}.room-overlay,.log-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;background:#070a09ad;padding:18px}.tutorial-guide-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:36;display:grid;place-items:center;background:#070a09a8;padding:18px}.tutorial-guide-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(100%,720px);max-height:min(86dvh,680px);border:1px solid #3a5149;border-radius:8px;background:#111816fa;padding:16px;box-shadow:0 28px 90px #0000008c}.tutorial-guide-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}.tutorial-guide-header span{grid-column:1;color:#8ee0c3;font-size:11px;font-weight:900}.tutorial-guide-header h2{grid-column:1;margin:0;color:#f4fbf7;font-size:18px}.tutorial-guide-header button{grid-column:2;grid-row:1 / span 2;min-height:32px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer;padding:0 12px}.tutorial-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;padding-right:2px}.tutorial-guide-list article{display:grid;align-content:start;gap:5px;border:1px solid #2b3c36;border-radius:8px;background:#101715;padding:10px}.tutorial-guide-list h3{margin:0;color:#f4fbf7;font-size:13px}.tutorial-guide-list p{margin:0;color:#aebdb6;font-size:12px;line-height:1.45}.log-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(calc(100% - 22px),560px);max-height:min(calc(100% - 22px),620px);border:1px solid #3a5149;border-radius:8px;background:#111816fa;padding:14px;box-shadow:0 28px 90px #00000085}.room-panel{display:grid;gap:12px;width:min(calc(100% - 22px),560px);border:1px solid #3a5149;border-radius:8px;background:#111816fa;padding:14px;box-shadow:0 28px 90px #00000085}.log-panel .log-list{max-height:none}.room-panel-header,.log-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-panel-header h2,.log-panel-header h2{margin:0;color:#f4fbf7;font-size:15px}.room-panel-header button,.log-panel-header button{min-height:30px;border:1px solid #31443d;border-radius:6px;background:#18231f;color:#dfe8e4;cursor:pointer;padding:0 10px}.turn-start-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:28;display:grid;place-items:center;pointer-events:none;animation:turn-banner-fade 1.4s ease both}.turn-start-banner strong,.turn-start-banner span{display:block;text-align:center;text-shadow:0 4px 20px rgba(0,0,0,.72)}.turn-start-banner span{color:#8ee0c3;font-size:16px;font-weight:900}.turn-start-banner strong{color:#f4fbf7;font-size:42px;font-weight:900}@keyframes turn-banner-fade{0%{opacity:0;transform:scale(.94)}18%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.resolution-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#090d0c61;padding:20px;pointer-events:none}.resolution-card{display:grid;gap:12px;width:min(100%,360px);border:1px solid #bd852f;border-radius:8px;background:#2b2417f0;padding:14px;box-shadow:0 24px 80px #0000006b;pointer-events:auto}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#090d0c9e;padding:20px}.result-dialog{display:grid;gap:12px;width:min(100%,440px);border:1px solid #3a5149;border-radius:8px;background:#111816fa;padding:18px;text-align:center;box-shadow:0 28px 90px #0000007a}.result-dialog.win{border-color:#44b89e}.result-dialog.lose{border-color:#db5148}.result-dialog.draw{border-color:#bd852f}.lesson-complete-dialog{border-color:#44b89e}.result-eyebrow{color:#8fa29a;font-size:12px;font-weight:700}.result-dialog h2{margin:0;color:#f4fbf7;font-size:28px;letter-spacing:0}.result-dialog p{margin:0;color:#c3d1ca}.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-actions.lesson-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.result-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #31443d;border-radius:7px;background:#18231f;color:#dfe8e4;cursor:pointer}@media(min-width:961px){.result-dialog{gap:14px;padding:22px}.result-dialog h2{font-size:34px}.result-actions button{min-height:44px}}@media(max-width:640px){.result-actions.lesson-actions{grid-template-columns:1fr}}:root{color-scheme:dark}body{background:#0b0b0c;color:#e9e7e1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.home-shell{background:#0b0b0c;padding:24px}.home-atmosphere{display:none}.home-hero,.home-actions,.home-lower,.home-topbar,.home-error{width:min(100%,1040px)}.home-topbar{min-height:38px;border-bottom:1px solid #262628;padding-bottom:10px}.home-live-badge,.home-account-button{border-color:#39393b;background:#111113;color:#d7d5cf}.home-live-badge{color:#f0eee8;letter-spacing:.06em}.home-live-badge svg{color:#d7b873;filter:none;animation:none}.home-hero{min-height:min(50dvh,440px);border-color:#38383b;border-radius:4px;background:#111113;box-shadow:0 24px 60px #0000005c;padding:clamp(22px,4vw,42px)}.home-hero:after{height:1px;background:#8f7a4d;animation:none}.home-hero-grid{opacity:.14;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);animation:none}.home-kicker{border-color:#49494b;border-radius:3px;background:#171719;color:#bcbab3;letter-spacing:.03em}.home-hero .title-block h1{color:#f4f1e9;font-size:clamp(52px,8vw,84px);letter-spacing:.08em;text-shadow:none}.home-hero .title-block p{max-width:600px;color:#bdbbb5;font-size:16px;line-height:1.8}.home-hero-stats span{border-color:#373739;border-radius:3px;background:#18181a;color:#aaa8a2}.home-hero-stats strong{color:#f1eee6}.home-how-to li{color:#c7c4bc}.home-how-to b{border-color:#a18b58;border-radius:2px;color:#e8d7a8}.home-lore-note{margin:0;color:#8f8d89;font-size:12px;letter-spacing:.04em}.home-path,.home-scanline{display:none}.home-showcase{min-height:300px;perspective:none}.home-board-preview{width:min(100%,290px);transform:rotate(-4deg);animation:none}.preview-tile{border-color:#3b3b3e;border-radius:3px;background:#1a1a1c;box-shadow:inset 0 0 0 1px #ffffff05;animation:none}.preview-tile.confidential{border-color:#9e8752;background:#302719;color:#edd7a0}.preview-tile.attack{border-color:#754b49;background:#271b1c;color:#d4aaa5}.preview-tile.defense{border-color:#777875;background:#252527;color:#ebe9e2}.preview-tile.move,.preview-tile.teleport{border-color:#5c5b58;background:#222224;color:#c5c1b8}.preview-tile.collapse{border-color:#523b3e;background:#24191b;color:#c49391}.preview-piece,.preview-tile:nth-child(7) .preview-piece{border-color:#f2efe6;background:#373739;box-shadow:none;animation:none}.home-command-card{right:-2px;bottom:0;border-color:#78643b;border-radius:3px;background:#151516;box-shadow:0 18px 30px #00000059;animation:none}.home-command-card span{color:#a6a39b}.home-command-card strong{color:#e7d09a}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-action{min-height:78px;border-color:#353537;border-radius:3px;background:#111113;animation:none;transition:border-color .16s ease,background-color .16s ease}.home-action:before{display:none}.home-action:hover{border-color:#8e7b4f;background:#181719;box-shadow:none;transform:none}.home-action:hover .home-action-icon{background:#27231b;transform:none}.home-action.recommended-action{grid-column:span 2;border-color:#a18b58;background:#211c14}.recommended-action small{color:#d7bc7d}.home-action-icon{border-color:#4a4845;border-radius:3px;background:#1b1b1d;transition:none}.home-action strong{color:#ece9e1}.home-action small{color:#989691}.lobby-panel,.manual-panel,.learn-header,.friend-match-card,.panel,.board-area,.result-dialog{border-color:#363638;background:#111113}.ally .piece{border-color:#eeece4;background:#d7d5ce;color:#202023}.enemy .piece{border-color:#8b8986;background:#202023;color:#f0eee8}.cell.tile-confidential.confidential-own{background:#302719}.cell.tile-confidential.confidential-opponent{background:#21181b}.cell.tile-confidential.confidential-own .tile-corner{color:#e8d19a}.cell.tile-confidential.confidential-opponent .tile-corner{color:#c88d8b}.primary-action,.result-actions .primary-action{border-color:#9c8651;background:#2b2418;color:#f0e1bc}.intro-shell{display:block;min-height:100dvh;overflow-x:hidden;background:#efeee9;color:#151515;padding:0 clamp(16px,4vw,64px) 48px}.home-shell:not(.mode-home) .intro-homefront{display:none}.intro-homefront{width:min(100%,1160px);margin:0 auto}.intro-topbar{min-height:72px;border-bottom:1px solid #d3d1cb;color:#151515}.intro-brand,.intro-account-actions{display:flex;align-items:center}.intro-brand{gap:10px;color:#111;font-size:15px;font-weight:800;letter-spacing:.08em}.intro-brand-mark{display:inline-block;width:14px;height:14px;border:2px solid #111;border-radius:50%;box-shadow:inset 0 0 0 3px #efeee9}.intro-account-actions{gap:8px}.intro-account-actions .home-user-name{color:#6d6b66;font-size:12px}.intro-account-actions .home-account-button{min-height:32px;border-color:#bbb9b2;border-radius:2px;background:transparent;color:#292826;font-size:12px}.intro-account-actions .home-account-button:hover{border-color:#111}.intro-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr);gap:clamp(32px,7vw,110px);align-items:center;min-height:560px;border-bottom:1px solid #d3d1cb;padding:clamp(54px,9vw,112px) 0}.intro-copy{display:grid;justify-items:start;gap:20px}.intro-eyebrow,.intro-entry-label{color:#77746d;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.intro-copy h1{margin:0;color:#111;font-size:clamp(48px,7vw,88px);font-weight:800;letter-spacing:-.08em;line-height:.98}.intro-copy p{margin:0;color:#55534e;font-size:clamp(15px,1.7vw,18px);line-height:1.75}.intro-hero-actions{display:flex;flex-wrap:wrap;gap:8px}.intro-button,.intro-entry-button,.intro-more-grid button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #171717;border-radius:2px;cursor:pointer;font-weight:800}.intro-button{padding:0 16px}.intro-button-primary,.intro-entry-button-dark{background:#151515;color:#fff}.intro-button-primary:hover,.intro-entry-button-dark:hover{background:#373737}.intro-button-secondary,.intro-entry-button{border-color:#b5b2aa;background:transparent;color:#171717}.intro-button-secondary:hover,.intro-entry-button:hover{border-color:#171717;background:#e4e2dc}.intro-note{color:#87847d;font-size:11px}.intro-board-wrap{display:grid;gap:12px;width:min(100%,520px);justify-self:end}.intro-board-label,.intro-board-caption{display:flex;justify-content:space-between;color:#77746d;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.intro-board{display:grid;grid-template-columns:repeat(5,1fr);aspect-ratio:1;gap:2px;border:1px solid #191919;background:#191919;padding:2px;transform:rotate(2deg)}.intro-cell{position:relative;display:grid;place-items:center;min-width:0;background:#faf9f5;color:#272727}.intro-cell:nth-child(3n){background:#e7e5df}.intro-cell.is-device{background:#d2d0ca}.intro-cell.is-relic{background:#fff;color:#a1813e}.intro-cell svg{width:23%;height:23%;stroke-width:1.8}.intro-piece{display:block;width:34%;aspect-ratio:1;border-radius:50%}.intro-piece-white{border:3px solid #171717;background:#fff;box-shadow:0 0 0 7px #ffffff75}.intro-piece-black{border:3px solid #fff;background:#171717;box-shadow:0 0 0 7px #1717171f}.intro-device-mark{width:27%;aspect-ratio:1;border:1px solid #4f4d48;transform:rotate(45deg)}.intro-entry-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center;border-bottom:1px solid #d3d1cb;padding:42px 0}.intro-entry-main{display:grid;gap:8px}.intro-entry-main h2{margin:0;color:#111;font-size:28px;letter-spacing:-.05em}.intro-entry-main p{margin:0;color:#66635d;font-size:13px;line-height:1.6}.intro-entry-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.intro-entry-button{min-height:52px;padding:0 12px}.intro-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-bottom:1px solid #d3d1cb;background:#d3d1cb}.intro-features article{display:grid;gap:7px;min-height:132px;background:#efeee9;padding:24px 20px}.intro-features span{color:#9b978e;font-size:11px;font-weight:800}.intro-features strong{color:#171717;font-size:17px}.intro-features p{margin:0;color:#77746d;font-size:12px}.intro-more{padding:20px 0 0}.intro-more summary{width:fit-content;cursor:pointer;color:#706d66;font-size:12px;font-weight:800}.intro-more-grid{display:flex;flex-wrap:wrap;gap:7px;padding-top:12px}.intro-more-grid button{min-height:34px;border-color:#c3c0b8;background:transparent;color:#4f4d48;font-size:12px;padding:0 12px}.intro-more-grid button:hover{border-color:#171717;color:#171717}.intro-shell .home-error{width:min(100%,1160px);margin:14px auto 0}@media(max-width:820px){.intro-hero{grid-template-columns:1fr;gap:48px;min-height:0}.intro-board-wrap{width:min(100%,480px);justify-self:start}.intro-entry-panel{grid-template-columns:1fr}}@media(max-width:560px){.intro-shell{padding:0 14px 32px}.intro-topbar{min-height:60px}.intro-account-actions .home-user-name,.intro-account-actions .home-account-button svg{display:none}.intro-account-actions .home-account-button{min-height:30px;padding:0 8px}.intro-hero{padding:62px 0 50px}.intro-copy h1{font-size:clamp(46px,14vw,70px)}.intro-hero-actions,.intro-button{width:100%}.intro-features{grid-template-columns:1fr}.intro-features article{min-height:0;padding:17px 16px}.intro-entry-actions{grid-template-columns:1fr}}.secondary-action{border-color:#505054;background:#202024}.scripture-burn{position:absolute;inset:-42px -20px auto;height:120px;overflow:hidden;pointer-events:none}.scripture-flame{position:absolute;bottom:-34px;left:50%;width:88px;height:92px;border-radius:62% 38% 58% 42%/72% 65% 35% 28%;background:linear-gradient(180deg,#ffd6801f,#c24527c2);filter:blur(2px);transform:translate(-50%) rotate(8deg);animation:scriptureBurn 1.15s ease-in-out infinite alternate}.scripture-flame.flame-back{width:132px;height:74px;bottom:-30px;opacity:.48;background:#6d2d28;filter:blur(10px);animation-delay:-.4s}.scripture-flame.flame-main{box-shadow:0 -4px 24px #ef8e4447}.scripture-ember{position:absolute;bottom:12px;left:50%;width:5px;height:5px;border-radius:50%;background:#e8bc70;animation:scriptureEmber 1.25s ease-out infinite}.ember-a{margin-left:-46px;animation-delay:-.3s}.ember-b{margin-left:28px;animation-delay:-.8s}.ember-c{margin-left:4px;animation-delay:-1.1s}@keyframes scriptureBurn{0%{opacity:.68;transform:translate(-50%) rotate(4deg) scaleY(.9)}to{opacity:.98;transform:translate(-50%) rotate(-6deg) scaleY(1.08)}}@keyframes scriptureEmber{0%{opacity:0;transform:translate3d(0,12px,0) scale(.7)}30%{opacity:.9}to{opacity:0;transform:translate3d(12px,-56px,0) scale(.2)}}@media(max-width:640px){.home-actions{grid-template-columns:1fr}.home-action.recommended-action{grid-column:auto}.home-showcase{min-height:210px}.home-board-preview{width:min(100%,190px)}}.result-actions .primary-action{border-color:#44b89e;background:#163f36}@media(max-width:960px){.home-shell{padding:22px}.home-hero{grid-template-columns:1fr;min-height:0}.home-showcase{justify-self:start;width:min(100%,290px);min-height:280px}.home-board-preview{width:min(100%,250px)}.home-hero .title-block h1{font-size:60px}.home-actions,.home-lower,.friend-match-grid,.account-layout{grid-template-columns:1fr}.account-header{align-items:stretch;flex-direction:column}.map-editor-shell{height:auto;min-height:100dvh;overflow:auto;padding:12px}.map-editor-header{align-items:stretch;flex-direction:column}.map-editor-header-actions{justify-content:stretch}.map-editor-header-actions button{flex:1 1 150px}.map-editor-layout{grid-template-columns:1fr;height:auto;overflow:visible}.map-editor-tools,.map-editor-details{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.history-header{align-items:stretch;flex-direction:column}.history-row,.history-row-main,.replay-layout{grid-template-columns:1fr}.replay-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-controls input{grid-column:1 / -1}.replay-log{max-height:none}.app-shell{padding:7px}.board-area{--board-max-size: min(100%, calc(100dvh - 330px) , calc(100dvw - 24px) );grid-template-areas:"header" "board" "mobile-info" "mobile-tutorial" "mobile-yards" "drawer";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto auto;justify-items:center;align-content:start;gap:4px;padding:8px}.game-side-panel{display:none}.mobile-info-panel{grid-area:mobile-info;display:grid;gap:6px;width:min(100%,var(--board-max-size));height:clamp(132px,22dvh,190px);max-height:190px;overflow:auto;padding:8px 10px}.mobile-info-panel .piece-inspection{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-info-panel .piece-info-line{grid-column:1 / -1}.mobile-info-panel .tile-info li,.mobile-info-panel .tile-info p{font-size:11px}.mobile-tutorial-slot{grid-area:mobile-tutorial;display:block;width:min(100%,var(--board-max-size))}.mobile-tutorial-slot .tutorial-step-panel{padding:8px 10px}.mobile-tutorial-slot .tutorial-step-panel p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tutorial-spotlight-overlay .tutorial-overlay-card{display:none}.tutorial-intro-overlay{padding:12px}.tutorial-intro-panel{padding:14px}.tutorial-intro-panel h2{font-size:17px}.tutorial-intro-panel p{font-size:13px}.tutorial-intro-examples{grid-template-columns:1fr}.tutorial-intro-actions{display:grid;grid-template-columns:1fr 1fr}.lesson-turn-waiting{display:none}.mobile-yard-tray{grid-area:mobile-yards;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(82px,1fr);gap:5px;width:min(100%,var(--board-max-size));min-height:44px;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.mobile-yard-tray::-webkit-scrollbar{display:none}.mobile-yard-tray .yard-panel{min-width:0;min-height:44px;border-radius:8px;padding:5px 4px}.mobile-yard-tray .yard-list{display:flex;gap:3px;overflow:visible}}@media(max-width:640px){.manual-dialog{max-height:calc(100dvh - 20px);padding:12px}.manual-dialog .manual-content{display:block}.manual-dialog .manual-content section{margin-bottom:14px}.manual-tile-list{grid-template-columns:1fr}.mobile-info-panel{height:clamp(124px,21dvh,180px);max-height:180px}.home-shell{gap:14px;padding:16px}.home-hero{grid-template-columns:minmax(0,1.35fr) minmax(110px,.65fr);gap:10px;padding:14px}.home-topbar{flex-wrap:wrap;justify-content:stretch}.home-live-badge{order:3;width:100%;justify-content:center;margin-right:0}.home-account-button{flex:0 0 auto}.friend-panel-header{align-items:stretch;flex-direction:column}.account-page{padding:16px}.home-hero .title-block h1{font-size:38px}.home-hero .title-block p{font-size:14px}.home-showcase{align-self:end;width:min(100%,138px);min-height:150px}.home-board-preview{grid-template-columns:repeat(3,minmax(30px,1fr));width:min(100%,128px)}.home-command-card{right:-6px;bottom:0;min-width:140px}.home-command-card strong{font-size:12px}.home-action{min-height:78px;padding:12px}.home-actions{grid-template-columns:1fr}.home-action.recommended-action{grid-column:auto;order:-1}.home-how-to{display:grid}.home-hero-stats span{padding:6px 8px}.home-hero-stats strong{font-size:13px}.featured-lesson{grid-template-columns:1fr}.featured-lesson button{width:100%}.home-action strong{font-size:15px}.home-action-icon{width:36px;height:36px}.map-editor-tools,.map-editor-details,.editor-board-toolbar{grid-template-columns:1fr}.editor-board{width:100%}.manual-content{grid-template-columns:1fr}.title-block h1{font-size:22px}.title-block p{font-size:12px}.board-area{--board-max-size: min(100%, calc(100dvh - 330px) , calc(100dvw - 24px) );gap:3px;padding:6px}.game-header p{font-size:11px}.board-stage{--board-label-gutter: 18px;box-sizing:border-box;gap:4px;width:min(100%,calc(var(--board-max-size) + var(--board-label-gutter)));padding-left:var(--board-label-gutter)}.board-rank-labels{right:calc(100% + 5px);width:var(--board-label-gutter);justify-items:end}.yard-row{grid-template-columns:1fr;grid-template-rows:minmax(86px,auto) minmax(54px,auto);gap:5px;width:100%}.drawer-row{grid-template-columns:repeat(6,32px) minmax(0,1fr);gap:4px;width:min(100%,var(--board-max-size))}.drawer-row.tutorial{grid-template-columns:repeat(7,32px)}.panel h2,.resolution-card h2{font-size:11px}.yard-row .yard-panel{gap:0;padding:5px 3px}.yard-row .yard-panel h2{justify-content:center;margin:0;font-size:0;line-height:1.1;text-align:center}.yard-row .yard-panel h2 svg{width:13px;height:13px}.yard-list{grid-template-columns:1fr;gap:3px}.yard-piece{width:28px;height:28px;gap:0;min-width:0;padding:1px}.yard-piece-main{justify-content:center;gap:0}.yard-piece-main strong,.yard-piece-sub{font-size:9px}.yard-piece-main strong,.yard-piece-main>span:last-child,.yard-piece-sub{display:none}.cell{padding:3px}.tile-corner{width:16px;height:16px}.tile-corner-top-right{top:3px}.tile-corner-bottom-left{bottom:3px}.tile-corner-bottom-left{left:3px}.tile-corner-top-right{right:3px}.tile-name{bottom:4px;max-width:calc(100% - 38px);font-size:9px}.piece-actions{gap:4px}.piece-actions button{min-height:26px;font-size:10px;padding:0 4px}.mobile-yard-tray .yard-help{display:none}.tutorial-input-sequence{gap:4px}.tutorial-input-sequence span{font-size:10px}.log-drawer summary,.home-button,.room-button,.log-button,.sound-button,.guide-button{width:32px;min-height:30px}.tutorial-guide-panel{max-height:88dvh;padding:12px}.tutorial-guide-list{grid-template-columns:1fr}.resign-button{width:32px;min-height:30px;font-size:11px}.turn-start-banner strong{font-size:28px}.turn-start-banner span{font-size:12px}.result-overlay{align-items:end;padding:10px}.result-dialog{width:100%;border-radius:8px;padding:16px}.cell-popover{left:50%;right:auto;top:calc(100% - 4px);bottom:auto;width:min(180px,76vw);max-height:min(220px,48dvh);transform:translate(-50%)}.cell:nth-child(5n) .cell-popover,.cell:nth-child(5n-1) .cell-popover{right:auto;left:50%}.cell:nth-child(n+21) .cell-popover,.cell:nth-child(n+16):nth-child(-n+20) .cell-popover{top:auto;bottom:calc(100% - 4px)}}@media(max-height:700px){.board-area{--board-max-size: min(100%, calc(100dvh - 304px) , calc(100dvw - 24px) );gap:3px;padding:6px}.yard-row .yard-panel{padding:5px 3px}.yard-row .yard-panel h2{margin-bottom:2px;font-size:10px}.yard-list{gap:3px}.yard-piece{gap:0;padding:1px}.yard-piece-sub{display:none}.log-drawer summary,.home-button,.room-button,.log-button,.sound-button,.guide-button,.resign-button{min-height:30px}.cell-popover{max-height:min(220px,48dvh)}}@media(max-height:560px){.board-area{--board-max-size: min(100%, calc(100dvh - 276px) , calc(100dvw - 24px) )}.game-header p,.resign-button{font-size:10px}.tile-name{font-size:8px}}.connection-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#040a12b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.connection-dialog{display:grid;justify-items:center;gap:10px;width:min(420px,100%);padding:24px;border:1px solid rgb(112 184 255 / 45%);border-radius:12px;color:#eef7ff;text-align:center;background:#101d2b;box-shadow:0 18px 60px #00000073}.connection-dialog span{color:#b7c9da}.connection-dialog button{min-width:112px}.result-actions .primary-action{border-color:#9c8651;background:#2b2418;color:#f0e1bc}.boot-error{box-sizing:border-box;width:min(720px,calc(100% - 32px));margin:48px auto;padding:24px;color:#f8fafc;background:#172033;border:1px solid #ef4444;border-radius:12px;box-shadow:0 20px 50px #00000040}.boot-error h1{margin-top:0}.boot-error pre{overflow-wrap:anywhere;white-space:pre-wrap}.tile-icon-directional{position:relative;display:inline-grid;place-items:center;width:1.25em;height:1.25em;flex:0 0 auto;vertical-align:middle}.tile-icon-directional-arrow,.tile-icon-directional-target{position:absolute;display:block}.tile-icon-directional-arrow{width:100%;height:100%}.tile-icon-directional-target{width:45%;height:45%;border-radius:999px;background:currentColor}.tile-icon-directional-target circle{fill:var(--journey-surface, currentColor)}.tile-corner .tile-icon-directional{width:78%;height:78%}.tile-corner .tile-icon-directional-arrow{width:100%;height:100%}.tile-corner .tile-icon-directional-target{width:44%;height:44%}.match-shell .tile-icon-directional-target{--journey-surface: #f8f7f2}.intro-board .tile-icon-directional-target{--journey-surface: #efeee9}:root{--journey-bg: #efeee9;--journey-surface: #fbfaf7;--journey-surface-muted: #f3f2ed;--journey-ink: #171a18;--journey-muted: #6c736d;--journey-line: #d8d6cf;--journey-line-strong: #b8b6ae;--journey-gold: #a97f32;--journey-gold-soft: #f4ead4;--journey-shadow: 0 22px 60px rgba(38, 40, 35, .1)}.journey-shell:not(.mode-home){display:block;min-height:100dvh;padding:clamp(18px,4vw,48px);background:linear-gradient(135deg,rgba(255,255,255,.48),transparent 44%),var(--journey-bg);color:var(--journey-ink)}.journey-shell:not(.mode-home) .journey-panel,.journey-shell:not(.mode-home) .learn-page{width:min(1060px,100%);margin:0 auto}.journey-shell .journey-panel{border:1px solid var(--journey-line);border-radius:24px;background:#fbfaf7e6;box-shadow:var(--journey-shadow);color:var(--journey-ink);padding:clamp(20px,4vw,42px)}.journey-shell .friend-panel-header{align-items:flex-start;gap:24px;margin-bottom:28px}.journey-shell .friend-panel-header h2,.journey-shell .learn-header h2{margin:0;color:var(--journey-ink);font-size:clamp(24px,3vw,34px);letter-spacing:-.04em}.journey-shell .friend-panel-header p,.journey-shell .learn-header p{max-width:560px;margin:8px 0 0;color:var(--journey-muted);font-size:13px;line-height:1.6}.journey-shell .compact-action,.journey-shell .secondary-action,.journey-shell .friend-match-card button,.journey-shell .random-match-actions button,.journey-shell .ai-start-button{border:1px solid var(--journey-line-strong);border-radius:999px;background:var(--journey-surface);color:var(--journey-ink);box-shadow:none}.journey-shell .compact-action:hover,.journey-shell .secondary-action:hover,.journey-shell .friend-match-card button:hover,.journey-shell .random-match-actions button:hover{border-color:var(--journey-ink);background:#fff;color:var(--journey-ink)}.journey-shell .primary-action,.journey-shell .friend-match-card .join-form>button:last-child,.journey-shell .ai-start-button{border-color:var(--journey-ink);background:var(--journey-ink);color:#fff}.journey-shell .primary-action:hover,.journey-shell .friend-match-card .join-form>button:last-child:hover,.journey-shell .ai-start-button:hover{border-color:#343934;background:#343934}.journey-shell .friend-match-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:start;gap:14px}.journey-shell .friend-match-card{display:grid;gap:20px;min-width:0;border:1px solid var(--journey-line);border-radius:18px;background:#fff;box-shadow:none;color:var(--journey-ink);padding:clamp(16px,3vw,26px)}.journey-shell .friend-match-card-header{display:flex;align-items:center;gap:9px;color:var(--journey-ink)}.journey-shell .friend-match-card-header svg{color:var(--journey-gold)}.journey-shell .friend-match-card-header h2{margin:0;color:var(--journey-ink);font-size:17px;letter-spacing:-.02em}.journey-shell .random-match-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.journey-shell .random-match-summary>div{min-width:0;border:1px solid var(--journey-line);border-radius:12px;background:var(--journey-surface-muted);padding:10px}.journey-shell .random-match-summary svg{color:var(--journey-gold)}.journey-shell .random-match-summary span{color:var(--journey-muted);font-size:10px}.journey-shell .random-match-summary strong{overflow:hidden;color:var(--journey-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.journey-shell .join-form{gap:12px}.journey-shell .join-form label{color:var(--journey-muted);font-size:11px;font-weight:800}.journey-shell .join-form input,.journey-shell .join-form select,.journey-shell .join-url{min-height:42px;border:1px solid var(--journey-line-strong);border-radius:10px;background:#fff;color:var(--journey-ink);padding:0 11px}.journey-shell .join-form input:focus,.journey-shell .join-form select:focus,.journey-shell .join-url:focus{border-color:var(--journey-ink);outline:3px solid rgba(169,127,50,.16)}.journey-shell .friend-map-preview{border:1px solid var(--journey-line);border-radius:14px;background:var(--journey-surface-muted);color:var(--journey-ink);padding:12px}.journey-shell .friend-map-preview-header{color:var(--journey-ink)}.journey-shell .friend-map-preview-header span{color:var(--journey-muted)}.journey-shell .friend-map-preview-cell{border-color:var(--journey-line);background:#fff;color:var(--journey-muted)}.journey-shell .friend-map-preview-cell:nth-child(2n){background:#ebeae4}.journey-shell .friend-map-preview-cell.player1 b,.journey-shell .friend-map-preview-cell.player2 b{border-color:var(--journey-ink);background:var(--journey-ink);color:#fff}.journey-shell .ai-recommendation{margin:0;border-left:3px solid var(--journey-gold);background:var(--journey-gold-soft);color:#5f4b25;padding:12px 14px}.journey-shell .ai-advanced-settings,.journey-shell .intro-more{border-color:var(--journey-line);color:var(--journey-ink)}.journey-shell .ai-advanced-settings summary,.journey-shell .intro-more summary{color:var(--journey-muted)}.journey-shell .ai-sticky-action{border-color:var(--journey-line);background:#fbfaf7e6}.journey-shell .random-match-preview{max-width:680px}.journey-shell .random-match-preview>.join-form{max-width:320px}.journey-shell .player-settings-panel,.journey-shell .learn-page{color:var(--journey-ink)}.journey-shell .settings-section,.journey-shell .manual-panel,.journey-shell .tile-quick-reference,.journey-shell .lesson-card{border-color:var(--journey-line);background:#ffffffb8;color:var(--journey-ink)}.journey-waiting-shell{display:grid!important;place-items:center;min-height:100dvh;padding:clamp(18px,5vw,72px)}.journey-waiting-shell .waiting-panel{display:grid;gap:24px;max-width:620px;text-align:center}.journey-waiting-shell .waiting-panel .title-block h1,.journey-waiting-shell .waiting-panel .title-block p{color:var(--journey-ink)}.journey-waiting-shell .waiting-panel .title-block p{color:var(--journey-muted)}.journey-waiting-shell .waiting-meta{justify-content:center;border-top:1px solid var(--journey-line);border-bottom:1px solid var(--journey-line);color:var(--journey-muted);padding:14px 0}.journey-waiting-shell .waiting-meta span{border-color:var(--journey-line);background:var(--journey-surface-muted);color:var(--journey-muted)}.journey-waiting-shell .waiting-invite{display:grid;gap:8px;color:var(--journey-muted);font-size:11px;font-weight:800;text-align:left}.journey-waiting-shell .waiting-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.journey-waiting-shell .waiting-actions button{border:1px solid var(--journey-line-strong);border-radius:999px;background:#fff;color:var(--journey-ink)}.journey-waiting-shell .waiting-actions button:hover{border-color:var(--journey-ink)}.journey-shell .connection-overlay,.match-shell .connection-overlay{background:#1d1f1c6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.journey-shell .connection-dialog,.match-shell .connection-dialog{border-color:var(--journey-line-strong);border-radius:18px;background:var(--journey-surface);color:var(--journey-ink);box-shadow:var(--journey-shadow)}.journey-shell .connection-dialog span,.match-shell .connection-dialog span{color:var(--journey-muted)}.journey-shell .connection-dialog button,.match-shell .connection-dialog button{border:1px solid var(--journey-ink);border-radius:999px;background:var(--journey-ink);color:#fff}.match-shell{--side-panel-width: clamp(290px, 27dvw, 380px);--board-max-size: min(700px, calc(100dvh - 106px) , calc(100dvw - var(--side-panel-width) - 100px));display:block;min-height:100dvh;padding:12px;background:linear-gradient(135deg,rgba(255,255,255,.45),transparent 40%),var(--journey-bg);color:var(--journey-ink)}.match-board-area{grid-template-columns:minmax(420px,var(--board-max-size)) var(--side-panel-width);height:calc(100dvh - 24px);border:1px solid var(--journey-line);border-radius:18px;background:#fbfaf7eb;box-shadow:var(--journey-shadow);padding:12px}.match-shell .game-header{justify-content:space-between;border-bottom:1px solid var(--journey-line);padding:2px 4px 9px}.match-shell .game-header p{color:var(--journey-ink);letter-spacing:.01em}.match-shell .clock-row span,.match-shell .turn-timer{border-color:var(--journey-line);border-radius:999px;background:var(--journey-surface-muted);color:var(--journey-muted)}.match-shell .clock-row span.active{border-color:var(--journey-ink);color:var(--journey-ink)}.match-shell .turn-timer strong{color:var(--journey-ink)}.match-shell .turn-timer-track{background:#d8d6cf}.match-shell .turn-timer-track div{background:var(--journey-ink)}.match-shell .turn-timer.urgent{border-color:#c45b4f;background:#fff2ef;color:#9e3c32}.match-shell .turn-timer.urgent strong,.match-shell .turn-timer.urgent .turn-timer-track div{color:#9e3c32;background:#c45b4f}.match-shell .game-header button,.match-shell .drawer-row button,.match-shell .sound-controls button,.match-shell .ai-first-hint button{border-color:var(--journey-line-strong);border-radius:9px;background:#fff;color:var(--journey-ink)}.match-shell .game-header button:hover,.match-shell .drawer-row button:hover,.match-shell .sound-controls button:hover,.match-shell .ai-first-hint button:hover{border-color:var(--journey-ink)}.match-shell .board{border-color:#1d211e;border-radius:14px;background:#1d211e;box-shadow:0 18px 38px #1e201c2e;gap:4px;padding:4px}.match-shell .board-file-labels,.match-shell .board-rank-labels{color:var(--journey-muted)}.match-shell .cell,.match-shell .cell:nth-child(2n),.match-shell .cell.tile-floor,.match-shell .cell.tile-floor:nth-child(2n){border-color:#d8d6cf;background:#f8f7f2;color:var(--journey-ink)}.match-shell .cell.tile-confidential{background:#f0e5cc}.match-shell .cell.tile-confidential.confidential-own{background:#ebe8df}.match-shell .cell.tile-confidential.confidential-opponent{background:#e9e3dc}.match-shell .cell.tile-teleporter{background:#e4efec}.match-shell .cell.tile-attackTerminal{background:#f0e4d8}.match-shell .cell.tile-barrier{background:#e4ede7}.match-shell .cell.tile-collapseFloor{background:#eee3e0}.match-shell .cell.tile-blastDevice{background:#f0e1d8}.match-shell .cell.tile-accelerator{background:#e2edf4}.match-shell .cell.tile-binoculars{background:#ebe6f0}.match-shell .cell.tile-confidential.confidential-own .tile-corner{color:#6f756f}.match-shell .cell.tile-confidential.confidential-opponent .tile-corner{color:#855f57}.match-shell .tile-corner{border:1px solid rgba(23,26,24,.12);background:#ffffffb8;color:#5e665f}.match-shell .tile-name{color:#30352f;text-shadow:none}.match-shell .ally .piece{border-color:#1d211e;background:#fff;color:#1d211e;box-shadow:0 8px 16px #171a1829}.match-shell .enemy .piece{border-color:#fff;background:#1d211e;color:#fff;box-shadow:0 8px 16px #171a1838}.match-shell .avatar.selected .piece{border-color:var(--journey-gold);outline:3px solid rgba(169,127,50,.5);outline-offset:2px}.match-shell .avatar.attention .piece{border-color:#2d8066;outline:2px dashed rgba(45,128,102,.72);outline-offset:3px}.match-shell .held-badge{border-color:#1d211e;color:#1d211e}.match-shell .board-guidance{color:var(--journey-muted)}.match-shell .board-step{border-color:var(--journey-line-strong);background:#fffaf0;color:#6b501e}.match-shell .side-action-panel,.match-shell .side-log-panel,.match-shell .side-sound-panel{border-color:var(--journey-line);border-radius:14px;background:#ffffffb8;color:var(--journey-ink);box-shadow:none;padding:12px}.match-shell .side-section-header h2{color:var(--journey-ink)}.match-shell .side-section-header span,.match-shell .side-action-panel>p,.match-shell .piece-info-line.muted,.match-shell .yard-help{color:var(--journey-muted)}.match-shell .piece-info-line,.match-shell .piece-info-line strong{color:var(--journey-ink)}.match-shell .piece-inspection,.match-shell .tile-info,.match-shell .target-confirmation{border-color:var(--journey-line);border-radius:11px;background:var(--journey-surface-muted);color:var(--journey-ink)}.match-shell .tile-info li,.match-shell .tile-info p,.match-shell .target-confirmation span{color:var(--journey-muted)}.match-shell .log-list{scrollbar-color:var(--journey-line-strong) transparent}.match-shell .log-item{border-color:var(--journey-line);color:var(--journey-muted)}.match-shell .sound-controls button.active{border-color:var(--journey-ink);background:var(--journey-ink);color:#fff}.match-shell .sound-volume-control input{accent-color:var(--journey-ink)}.match-shell .drawer-row{gap:7px;border:1px solid var(--journey-line);border-radius:999px;background:#ffffffd1;padding:5px;box-shadow:0 8px 24px #26282314}.match-shell .drawer-row button{width:34px;height:34px;border-radius:999px}.match-shell .resign-button:not(:disabled){border-color:#d3a49d;color:#9e3c32}.match-shell .command-preview-banner{border-color:var(--journey-gold);background:#fbfaf7f5;color:#6b501e;box-shadow:0 12px 32px #26282324}.match-shell .command-preview-banner span{color:var(--journey-muted)}.match-shell .board.command-preview-active{box-shadow:inset 0 0 0 2px #a97f328f,0 18px 38px #1e201c2e}.match-shell .ai-first-hint{border-color:var(--journey-line-strong);border-radius:14px;background:#fbfaf7f7;color:var(--journey-ink);box-shadow:var(--journey-shadow)}.match-shell .ai-first-hint strong{color:var(--journey-ink)}.match-shell .ai-first-hint span{color:var(--journey-muted)}.match-shell .tutorial-overlay-card .tutorial-step-panel,.match-shell .lesson-floating-panel .tutorial-step-panel,.match-shell .lesson-turn-waiting,.match-shell .tutorial-turn-waiting{border-color:var(--journey-gold);background:#fbfaf7fa;color:var(--journey-ink);box-shadow:var(--journey-shadow)}.match-shell .tutorial-overlay-card .tutorial-step-panel span,.match-shell .tutorial-step-panel span,.match-shell .lesson-turn-waiting{color:var(--journey-gold)}.match-shell .tutorial-overlay-card .tutorial-step-panel p,.match-shell .tutorial-step-panel p{color:var(--journey-muted)}.match-shell .result-overlay{background:#1d1f1c75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.match-shell .result-dialog{border:1px solid var(--journey-line-strong);border-radius:24px;background:var(--journey-surface);color:var(--journey-ink);box-shadow:0 28px 80px #1d1f1c33;padding:clamp(24px,5vw,48px)}.match-shell .result-dialog h2{color:var(--journey-ink);letter-spacing:-.05em}.match-shell .result-dialog p{color:var(--journey-muted)}.match-shell .result-dialog .result-eyebrow{color:var(--journey-gold)}.match-shell .result-dialog .result-actions button{border-color:var(--journey-line-strong);border-radius:999px;background:#fff;color:var(--journey-ink)}.match-shell .result-dialog .result-actions .primary-action{border-color:var(--journey-ink);background:var(--journey-ink);color:#fff}.match-shell .lesson-complete-dialog .result-eyebrow{color:var(--journey-gold)}.mobile-detail-bar{display:none}@media(max-width:820px){.journey-shell:not(.mode-home){padding:16px}.journey-shell .friend-match-grid{grid-template-columns:1fr}.journey-shell .friend-match-card{padding:18px}.match-shell{--board-max-size: min(100%, calc(100dvh - 265px) , calc(100dvw - 26px) );padding:6px}.match-board-area{grid-template-areas:"header" "board" "mobile-detail" "mobile-sheet" "mobile-tutorial" "drawer";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto auto;align-content:start;justify-items:center;gap:6px;height:calc(100dvh - 12px);padding:8px}.match-shell .game-header{justify-content:center;gap:7px;width:100%;padding-bottom:7px}.match-shell .game-header p{width:100%;text-align:center}.match-shell .game-side-panel{display:none}.match-shell .mobile-detail-bar{grid-area:mobile-detail;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,var(--board-max-size))}.match-shell .mobile-detail-bar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--journey-line);border-radius:999px;background:#fff;color:var(--journey-muted);cursor:pointer;font-size:12px;font-weight:800}.match-shell .mobile-detail-bar button.active{border-color:var(--journey-ink);background:var(--journey-ink);color:#fff}.match-shell .mobile-detail-bar button span{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--journey-surface-muted);color:var(--journey-muted);font-size:10px}.match-shell .mobile-detail-bar button.active span{background:#ffffff2e;color:#fff}.match-shell .mobile-info-panel{grid-area:mobile-sheet;display:grid;gap:7px;width:min(100%,var(--board-max-size));max-height:min(230px,29dvh);overflow:auto;border:1px solid var(--journey-line);border-radius:16px;background:#fffffff0;color:var(--journey-ink);padding:10px}.match-shell .mobile-info-panel .piece-inspection{grid-template-columns:repeat(2,minmax(0,1fr))}.match-shell .mobile-info-panel .piece-info-line,.match-shell .mobile-info-panel .log-list{grid-column:1 / -1}.match-shell .mobile-info-panel .log-list{max-height:170px}.match-shell .mobile-tutorial-slot{width:min(100%,var(--board-max-size))}.match-shell .drawer-row{margin-top:2px}}@media(min-width:821px){.match-shell .mobile-info-panel,.match-shell .mobile-detail-bar{display:none}}@media(max-width:560px){.journey-shell .journey-panel{border-radius:18px;padding:18px}.journey-shell .friend-panel-header{gap:14px;margin-bottom:20px}.journey-shell .friend-panel-header h2,.journey-shell .learn-header h2{font-size:26px}.journey-shell .random-match-summary{grid-template-columns:1fr}.journey-shell .random-match-summary>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.journey-shell .random-match-summary span{text-align:left}.match-shell .clock-row{width:100%;justify-content:center}.match-shell .clock-row span{flex:1 1 0;text-align:center}.match-shell .turn-timer{min-width:120px}.match-shell .board-guidance{justify-content:center;gap:6px;font-size:10px}.match-shell .board-legend{gap:4px}.match-shell .board-step{padding:3px 6px}.match-shell .board{gap:3px;padding:3px}.match-shell .cell{border-radius:4px;padding:2px}.match-shell .cell-target-badge{top:3px;left:3px;width:22px;height:22px}.match-shell .tile-marker{top:3px;right:3px;width:20px;height:20px;border-radius:5px}.match-shell .held-badge{right:-4px;bottom:-3px;width:20px;height:20px;border-width:1px}}:root{color-scheme:light}body,.loading,.boot-error{background:var(--journey-bg, #efeee9);color:var(--journey-ink, #171a18)}.boot-error{border-color:#c9786b;background:#fff8f5;box-shadow:0 20px 50px #2628231a}.boot-error h1,.boot-error pre{color:var(--journey-ink, #171a18)}.account-page,.history-shell,.replay-shell,.map-editor-shell{background:var(--journey-bg, #efeee9);color:var(--journey-ink, #171a18)}.account-page .title-block h1,.history-shell .title-block h1,.replay-shell .title-block h1,.map-editor-shell .title-block h1,.account-page .title-block p,.history-shell .title-block p,.replay-shell .title-block p,.map-editor-shell .title-block p{color:var(--journey-ink, #171a18)}.account-page .title-block p,.history-shell .title-block p,.replay-shell .title-block p,.map-editor-shell .title-block p{color:var(--journey-muted, #5f665f)}.account-header,.history-header,.map-editor-header{border-color:var(--journey-line, #d8d6cf)}.account-page .lobby-panel,.history-empty,.history-row-main,.replay-board-panel,.replay-log,.map-editor-shell .panel,.map-editor-board-panel{border-color:var(--journey-line, #d8d6cf);background:#fbfaf7eb;color:var(--journey-ink, #171a18);box-shadow:0 14px 30px #2628230f}.account-status span,.account-status p,.history-row small,.history-row-main small,.replay-position span,.simulation-action-panel>p,.editor-board-toolbar label,.held-editor-list label,.editor-cell small{color:var(--journey-muted, #5f665f)}.account-status strong,.history-row,.history-row-main,.replay-position,.simulation-status,.replay-cell,.replay-cell strong,.simulation-log-item,.editor-panel h2,.map-editor-shell .side-section-header h2{color:var(--journey-ink, #171a18)}.account-page button,.history-shell button,.replay-shell button,.map-editor-shell button{border-color:var(--journey-line-strong, #aaa79e);background:#fff;color:var(--journey-ink, #171a18)}.account-page button:hover,.history-shell button:hover,.replay-shell button:hover,.map-editor-shell button:hover{border-color:var(--journey-ink, #171a18);background:#fff;color:var(--journey-ink, #171a18)}.account-page button:disabled,.history-shell button:disabled,.replay-shell button:disabled,.map-editor-shell button:disabled{color:#8c908a;background:#efeee9}.account-page .join-form input,.account-page .join-form select,.map-editor-shell input,.map-editor-shell select{border-color:var(--journey-line-strong, #aaa79e);background:#fff;color:var(--journey-ink, #171a18)}.account-page select,.map-editor-shell select{color-scheme:light;border-color:var(--journey-line-strong, #aaa79e)!important;background-color:#fff!important;color:var(--journey-ink, #171a18)!important;box-shadow:none}.account-page select:hover:not(:disabled),.map-editor-shell select:hover:not(:disabled),.account-page select:focus,.map-editor-shell select:focus{border-color:var(--journey-ink, #171a18)!important;background-color:#fff!important;box-shadow:0 0 0 3px #a97f3224}.account-page select option,.map-editor-shell select option{background:#fff;color:var(--journey-ink, #171a18)}.account-page .join-form label,.map-editor-shell .editor-board-toolbar label,.map-editor-shell .held-editor-list label{color:var(--journey-muted, #5f665f)}.account-mode-switch{border-color:var(--journey-line, #d8d6cf);background:var(--journey-surface-muted, #f3f2ed)}.account-mode-switch button.active,.map-editor-shell .editor-mode-grid button.active,.map-editor-shell .tile-palette button.active{border-color:var(--journey-ink, #171a18);background:var(--journey-ink, #171a18);color:#fff}.account-page .account-form-panel>form>button:last-child,.map-editor-shell .primary-action{border-color:var(--journey-ink, #171a18);background:var(--journey-ink, #171a18);color:#fff}.history-empty,.replay-position,.simulation-status{border-color:var(--journey-line, #d8d6cf);background:var(--journey-surface-muted, #f3f2ed)}.history-row-main:hover,.history-delete-button:hover,.replay-log-list button:hover{border-color:var(--journey-ink, #171a18);background:#fff}.replay-board{border-color:#1d211e;background:#1d211e}.replay-cell{border-color:var(--journey-line, #d8d6cf);background:#f8f7f2}.replay-cell.ally{border-color:#2d8066;background:#edf7f2}.replay-cell.enemy{border-color:#b35d53;background:#fff0ed}.replay-log-list button,.simulation-log-item{border-color:var(--journey-line, #d8d6cf);background:#fff;color:var(--journey-ink, #171a18)}.replay-log-list button.active{border-color:var(--journey-ink, #171a18);background:var(--journey-ink, #171a18);color:#fff}.replay-log-list button.active small{color:#d9ddd7}.map-editor-shell .editor-board-toolbar input,.map-editor-shell .editor-board-toolbar select{background:#fff;color:var(--journey-ink, #171a18)}.map-editor-shell .editor-board{border-color:#1d211e;background:#1d211e}.map-editor-shell .editor-cell,.map-editor-shell .editor-cell.tile-confidential,.map-editor-shell .editor-cell.tile-confidential.confidential-first,.map-editor-shell .editor-cell.tile-confidential.confidential-second,.map-editor-shell .editor-cell.tile-teleporter,.map-editor-shell .editor-cell.tile-attackTerminal,.map-editor-shell .editor-cell.tile-barrier,.map-editor-shell .editor-cell.tile-collapseFloor,.map-editor-shell .editor-cell.tile-blastDevice,.map-editor-shell .editor-cell.tile-accelerator,.map-editor-shell .editor-cell.tile-binoculars{border-color:var(--journey-line, #d8d6cf);background:#f8f7f2;color:var(--journey-ink, #171a18)}.map-editor-shell .editor-cell.tile-confidential{background:#f0e5cc}.map-editor-shell .editor-cell.tile-confidential.confidential-first{background:#ebe8df}.map-editor-shell .editor-cell.tile-confidential.confidential-second{background:#e9e3dc}.map-editor-shell .editor-cell.tile-teleporter{background:#e4efec}.map-editor-shell .editor-cell.tile-attackTerminal{background:#f0e4d8}.map-editor-shell .editor-cell.tile-barrier{background:#e4ede7}.map-editor-shell .editor-cell.tile-collapseFloor{background:#eee3e0}.map-editor-shell .editor-cell.tile-blastDevice{background:#f0e1d8}.map-editor-shell .editor-cell.tile-accelerator{background:#e2edf4}.map-editor-shell .editor-cell.tile-binoculars{background:#ebe6f0}.map-editor-shell .editor-cell span{color:var(--journey-ink, #171a18)}.map-editor-shell .editor-cell small{color:var(--journey-muted, #5f665f)}.map-editor-shell .editor-valid{color:#23654f}.map-editor-shell .editor-issues li{color:#8f3028}.map-editor-shell .editor-warnings li{color:#7a5b18}.lobby-error,.history-error,.map-editor-error,.account-error{border-color:#d5a097;background:#fff0ed;color:#8f3028}.manual-overlay,.tutorial-guide-overlay,.tutorial-intro-overlay,.room-overlay,.log-overlay{background:#1d1f1c75}.manual-dialog,.tutorial-guide-panel,.tutorial-intro-panel,.log-panel,.room-panel,.tutorial-step-panel,.tutorial-overlay-card .tutorial-step-panel,.lesson-floating-panel .tutorial-step-panel,.tutorial-turn-waiting,.lesson-turn-waiting{border-color:var(--journey-line-strong, #aaa79e);background:#fbfaf7fa;color:var(--journey-ink, #171a18);box-shadow:0 24px 70px #26282324}.manual-dialog-header span,.tutorial-guide-header span,.tutorial-intro-header span,.tutorial-step-panel span,.tutorial-overlay-card .tutorial-step-panel span{color:var(--journey-gold, #8d6823)}.manual-dialog-header h2,.tutorial-guide-header h2,.tutorial-guide-list h3,.tutorial-intro-panel h2,.tutorial-intro-examples strong,.tutorial-step-panel h2{color:var(--journey-ink, #171a18)}.manual-dialog-header button,.tutorial-guide-header button,.tutorial-intro-panel button,.tutorial-step-panel button,.room-panel-header button,.log-panel-header button{border-color:var(--journey-line-strong, #aaa79e);background:#fff;color:var(--journey-ink, #171a18)}.manual-dialog .manual-content,.manual-content,.tutorial-guide-list p,.tutorial-intro-panel p,.tutorial-intro-examples span,.tutorial-step-panel p,.manual-content p,.manual-tile-list dd{color:var(--journey-muted, #5f665f)}.manual-heading,.manual-content,.tutorial-guide-list article,.tutorial-intro-examples article,.manual-tile-list article{border-color:var(--journey-line, #d8d6cf)}.tutorial-guide-list article,.tutorial-intro-examples article,.manual-tile-list article{background:#fff}.manual-tile-list h3,.manual-tile-list dt{color:#6d531d}.tutorial-intro-panel button.primary-action{border-color:var(--journey-ink, #171a18);background:var(--journey-ink, #171a18);color:#fff}.tutorial-turn-waiting,.lesson-turn-waiting{color:var(--journey-muted, #5f665f)}.resolution-overlay{background:#1d1f1c42}.resolution-card{border-color:#b18a44;background:#fffaf0;color:var(--journey-ink, #171a18);box-shadow:0 24px 80px #26282324}.resolution-card h2,.resolution-card p,.resolution-card .action-list p{color:var(--journey-ink, #171a18)}.resolution-header button{border-color:#b18a44;background:#fff;color:#6d531d}.resolution-header button.active{background:var(--journey-gold-soft, #f4ead4);color:#5f4b25}.connection-overlay{background:#1d1f1c75}.connection-dialog{border-color:var(--journey-line-strong, #aaa79e);background:var(--journey-surface, #fbfaf7);color:var(--journey-ink, #171a18);box-shadow:0 24px 70px #26282324}.connection-dialog span{color:var(--journey-muted, #5f665f)}.connection-dialog button{border-color:var(--journey-ink, #171a18);background:var(--journey-ink, #171a18);color:#fff}@media(max-width:960px){.account-page,.history-shell,.replay-shell{padding:18px}}.journey-shell .character-picker-panel,.journey-shell .active-ai-card,.journey-shell .learn-header,.journey-shell .manual-panel,.journey-shell .lesson-card,.journey-shell .ai-advanced-settings,.journey-shell .tile-reference-grid article{border-color:var(--journey-line, #d8d6cf);background:#ffffffc7;color:var(--journey-ink, #171a18)}.journey-shell .character-picker-header h2,.journey-shell .character-picker-header p,.journey-shell .learn-header h2,.journey-shell .learn-header p,.journey-shell .lesson-card h3,.journey-shell .lesson-card p,.journey-shell .tile-reference-grid h3,.journey-shell .tile-reference-grid p,.journey-shell .manual-heading,.journey-shell .manual-heading h2,.journey-shell .manual-panel summary{color:var(--journey-ink, #171a18)}.journey-shell .manual-heading,.journey-shell .manual-content,.journey-shell .optional-lessons[open] summary{border-color:var(--journey-line, #d8d6cf)}.journey-shell .character-picker-header p,.journey-shell .learn-header p,.journey-shell .lesson-card p,.journey-shell .tile-reference-grid p{color:var(--journey-muted, #5f665f)}.journey-shell .character-options button{border-color:var(--journey-line-strong, #aaa79e);background:#fff;color:var(--journey-ink, #171a18)}.journey-shell .character-options button.active{border-color:var(--journey-ink, #171a18);background:var(--journey-surface-muted, #f3f2ed);color:var(--journey-ink, #171a18)}.journey-shell .ai-recommendation,.journey-shell .ai-advanced-settings summary,.journey-shell .ai-advanced-settings small,.journey-shell .editor-valid{color:var(--journey-muted, #5f665f)}.journey-shell .ai-advanced-settings summary{background:var(--journey-surface-muted, #f3f2ed)}.journey-shell .lesson-badge{background:var(--journey-gold-soft, #f4ead4);color:#6d531d}.journey-shell .featured-lesson{border-color:var(--journey-gold, #a97f32);background:#fffaf0}.journey-shell .tile-reference-grid article{background:#fff}.journey-shell select{color-scheme:light;border-color:var(--journey-line-strong, #aaa79e)!important;background-color:#fff!important;color:var(--journey-ink, #171a18)!important;box-shadow:none!important}.journey-shell select:hover:not(:disabled),.journey-shell select:focus,.journey-shell select:focus-visible{border-color:var(--journey-ink, #171a18)!important;background-color:#fff!important;color:var(--journey-ink, #171a18)!important;box-shadow:0 0 0 3px #a97f3224!important}.journey-shell select:disabled{border-color:var(--journey-line, #d8d6cf)!important;background-color:#efeee9!important;color:#8c908a!important;box-shadow:none!important}.journey-shell select option{background:#fff;color:var(--journey-ink, #171a18)}:root{--tile-surface: #f8f7f2;--tile-surface-alt: #f1f0eb;--tile-line: #d8d6cf;--tile-line-strong: #b8b6ae;--tile-ink: #424741}.match-shell .cell,.match-shell .cell:nth-child(2n),.match-shell .cell.tile-floor,.match-shell .cell.tile-floor:nth-child(2n),.match-shell .cell.tile-confidential,.match-shell .cell.tile-teleporter,.match-shell .cell.tile-attackTerminal,.match-shell .cell.tile-barrier,.match-shell .cell.tile-collapseFloor,.match-shell .cell.tile-blastDevice,.match-shell .cell.tile-accelerator,.match-shell .cell.tile-binoculars,.match-shell .cell.tile-fileCannon,.match-shell .cell.tile-rankCannon,.match-shell .cell.tile-swapFloor,.replay-cell,.replay-cell.ally,.replay-cell.enemy,.map-editor-shell .editor-cell,.map-editor-shell .editor-cell.tile-floor,.map-editor-shell .editor-cell.tile-confidential,.map-editor-shell .editor-cell.tile-confidential.confidential-first,.map-editor-shell .editor-cell.tile-confidential.confidential-second,.map-editor-shell .editor-cell.tile-teleporter,.map-editor-shell .editor-cell.tile-attackTerminal,.map-editor-shell .editor-cell.tile-barrier,.map-editor-shell .editor-cell.tile-collapseFloor,.map-editor-shell .editor-cell.tile-blastDevice,.map-editor-shell .editor-cell.tile-accelerator,.map-editor-shell .editor-cell.tile-binoculars,.map-editor-shell .editor-cell.tile-fileCannon,.map-editor-shell .editor-cell.tile-rankCannon,.map-editor-shell .editor-cell.tile-swapFloor,.friend-map-preview-cell,.friend-map-preview-cell.tile-confidential,.friend-map-preview-cell.tile-attack-terminal,.friend-map-preview-cell.tile-blast-device,.friend-map-preview-cell.tile-barrier,.friend-map-preview-cell.tile-teleporter,.friend-map-preview-cell.tile-accelerator,.friend-map-preview-cell.tile-collapse-floor,.friend-map-preview-cell.tile-file-cannon,.friend-map-preview-cell.tile-rank-cannon,.friend-map-preview-cell.tile-swap-floor{border-color:var(--tile-line)!important;background:var(--tile-surface)!important;color:var(--tile-ink)!important}.match-shell .cell:nth-child(2n),.map-editor-shell .editor-cell:nth-child(2n),.friend-map-preview-cell:nth-child(2n),.preview-tile:nth-child(2n),.preview-tile:nth-child(3n){background:var(--tile-surface-alt)!important}.match-shell .cell.tile-confidential{background:#f0e5cc!important;border-color:#a97f32!important}.match-shell .cell.tile-confidential.confidential-own{background:#ebe8df!important;border-style:double;border-color:#8d6823!important}.match-shell .cell.tile-confidential.confidential-opponent{background:#f5e3df!important;border-style:dashed;border-color:#a34e45!important}.match-shell .cell.tile-teleporter{background:#e1f0ec!important;border-color:#2d8066!important}.match-shell .cell.tile-attackTerminal,.match-shell .cell.tile-fileCannon,.match-shell .cell.tile-rankCannon{background:#f3e3d9!important;border-color:#b35d53!important}.match-shell .cell.tile-barrier{background:#e3efe8!important;border-color:#3f8064!important}.match-shell .cell.tile-collapseFloor,.match-shell .cell.tile-blastDevice{background:#f3e1dc!important;border-color:#a34e45!important}.match-shell .cell.tile-accelerator,.match-shell .cell.tile-binoculars{background:#e4edf5!important;border-color:#4c7094!important}.match-shell .cell.tile-swapFloor{background:#f4ead7!important;border-color:#a96814!important}.cell.tile-confidential.confidential-own,.map-editor-shell .editor-cell.tile-confidential.confidential-first{border-style:double;border-color:var(--journey-gold)!important}.cell.tile-confidential.confidential-opponent,.map-editor-shell .editor-cell.tile-confidential.confidential-second{border-style:dashed;border-color:var(--tile-line-strong)!important}.friend-map-preview-cell.confidential-first{border-style:double;border-color:var(--journey-gold)!important}.friend-map-preview-cell.confidential-second{border-style:dashed;border-color:var(--tile-line-strong)!important}.tile-corner{z-index:1;width:clamp(16px,min(2.2vw,3.2dvh),24px);height:clamp(16px,min(2.2vw,3.2dvh),24px);border:1px solid rgba(23,26,24,.14);border-radius:5px;background:#ffffffc7;color:var(--tile-ink);pointer-events:none}.tile-corner svg{width:72%;height:72%}.cell>.tile-corner-top-right,.replay-cell>.tile-corner-top-right,.map-editor-shell .editor-cell>.tile-corner-top-right,.friend-map-preview-cell>.tile-corner-top-right{top:5px;right:5px}.cell>.tile-corner-bottom-left,.replay-cell>.tile-corner-bottom-left,.map-editor-shell .editor-cell>.tile-corner-bottom-left,.friend-map-preview-cell>.tile-corner-bottom-left{bottom:5px;left:5px}.map-editor-shell .editor-cell>.tile-corner{width:18px;height:18px}.friend-map-preview-cell>.tile-corner{width:14px;height:14px;border-radius:3px}.replay-cell-label{position:relative;z-index:2}.replay-cell-tile-name{display:none}.map-editor-shell .editor-cell>.tile-glyph{align-self:center;justify-self:center;grid-row:1 / 2;width:30px;height:30px;color:var(--tile-ink)}.map-editor-shell .editor-cell>.tile-glyph svg{width:72%;height:72%}.friend-map-preview-cell>.tile-glyph{width:28px;height:28px}.friend-map-preview-cell>.tile-glyph svg{width:72%;height:72%}.preview-tile,.preview-tile.confidential,.preview-tile.attack,.preview-tile.defense,.preview-tile.move,.preview-tile.teleport,.preview-tile.collapse{border-color:var(--tile-line-strong)!important;background:var(--tile-surface)!important;color:var(--tile-ink)!important}.intro-cell,.intro-cell:nth-child(3n),.intro-cell.is-device,.intro-cell.is-relic{background:var(--tile-surface)!important;color:var(--tile-ink)!important}.intro-cell:nth-child(3n){background:var(--tile-surface-alt)!important}.intro-cell.is-relic{border:1px solid var(--journey-gold)}.tile-graphic{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:100%;overflow:visible;color:var(--tile-ink, currentColor);opacity:.72;pointer-events:none}.tile-graphic-frame,.tile-graphic-mark{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.tile-graphic-frame{stroke-width:2;opacity:.55}.tile-graphic-mark{stroke-width:2.8}.tile-graphic-mark path[fill=currentColor]{opacity:.9}.tile-graphic-confidential-own,.tile-graphic-confidential-first{color:#806221}.tile-graphic-confidential-opponent,.tile-graphic-confidential-second{color:#9d5148}.tile-graphic-teleporter{color:#2d8066}.tile-graphic-attackTerminal,.tile-graphic-fileCannon,.tile-graphic-rankCannon{color:#a34e45}.tile-graphic-barrier{color:#3f8064}.tile-graphic-collapseFloor,.tile-graphic-blastDevice{color:#a34e45}.tile-graphic-accelerator,.tile-graphic-binoculars{color:#4c7094}.tile-graphic-swapFloor{color:#a96814}.editor-cell>.tile-graphic,.replay-cell>.tile-graphic,.friend-map-preview-cell>.tile-graphic{z-index:1}.editor-cell>.tile-graphic{opacity:.58}.replay-cell{position:relative}.replay-cell>.tile-graphic{opacity:.62}.friend-map-preview-cell>.tile-graphic{opacity:.62}.match-shell .cell>.tile-graphic{opacity:.68}@media(max-width:560px){.tile-graphic{opacity:.62}.tile-graphic-mark{stroke-width:3.2}}@media(prefers-reduced-motion:reduce){.tile-graphic-mark{stroke-dasharray:none}}
