*{box-sizing:border-box}:root{--page-bg:#080b10;--text:#eef8ff;--button-bg:#101923;--button-border:#344d5f;--accent:#52e8ff;--accent-text:#061015;--muted:#91a9b7;--panel-border:#233541;--panel-bg:#0d1218;--row-bg:#131c24;--log-text:#cfe7f0;--log-border:#1b2a34;--canvas-border:#344d5f;--ccw-color:#58b9ff;--cw-color:#7cff6b;--fire-color:#ff5e4a}html,body,#app{height:100%;margin:0}body{background:var(--page-bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button{isolation:isolate;border:1px solid var(--button-border);background:linear-gradient(180deg, color-mix(in srgb, var(--button-bg) 86%, #fff 5%), var(--button-bg));min-height:38px;color:var(--text);font:inherit;text-shadow:0 1px #02070b,0 0 4px #02070b;cursor:pointer;border-radius:8px;padding:0 14px;font-weight:700;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 8px 22px #00000024}button:hover:not(:disabled),button:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,p{margin:0}h1{font-size:clamp(22px,3vw,30px);line-height:1.05}h2{font-size:20px;line-height:1.2}.app-shell{place-items:center;width:100%;min-height:100dvh;display:grid}.brand-mark{aspect-ratio:1;background:linear-gradient(180deg, color-mix(in srgb, currentColor 92%, #fff 8%), currentColor);color:var(--accent);filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 35%, transparent));flex:none;display:block;-webkit-mask:url(/brand/pr22m-logo.svg) 50%/contain no-repeat;mask:url(/brand/pr22m-logo.svg) 50%/contain no-repeat}a.brand-mark{cursor:pointer}a.brand-mark:hover,a.brand-mark:focus-visible{color:color-mix(in srgb, var(--accent) 82%, var(--text));filter:drop-shadow(0 0 16px color-mix(in srgb, var(--accent) 52%, transparent));outline:none}.lobby-list{gap:8px;max-height:min(42vh,390px);padding-right:2px;display:grid;overflow:auto}.lobby-card{border:1px solid var(--panel-border);background:var(--row-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px;display:grid}.lobby-card.is-joined{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.lobby-main,.lobby-meta{align-items:center;gap:8px;display:flex}.lobby-main strong{font-size:18px;line-height:1}.lobby-main span,.lobby-meta span{color:var(--muted);font-size:12px;font-weight:800}.lobby-players{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.lobby-player{border:1px solid var(--panel-border);color:var(--muted);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:800}.lobby-player.is-filled{border-color:color-mix(in srgb, var(--accent) 35%, var(--panel-border));color:var(--text)}.lobby-player.is-you{border-color:var(--accent);color:var(--accent)}.lobby-card button{grid-area:1/2/span 2;min-height:40px;padding-inline:12px}.modal-layer{z-index:20;background:#02070bb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-layer[hidden]{display:none}.game-modal{border:1px solid var(--panel-border);background:linear-gradient(color-mix(in srgb, var(--canvas-border) 22%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--canvas-border) 22%, transparent) 1px, transparent 1px), var(--panel-bg);background-size:28px 28px,28px 28px,auto;border-radius:8px;gap:12px;width:min(420px,100%);padding:clamp(16px,3vh,22px);display:grid;box-shadow:inset 0 0 0 1px #ffffff07,0 20px 70px #00000070}.game-modal p{color:var(--muted);font-weight:700;line-height:1.35}.help-modal{width:min(520px,100%)}.help-list{gap:8px;display:grid}.help-list article{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--row-bg) 76%, transparent);border-radius:8px;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid}.help-list strong{color:var(--accent);text-transform:uppercase;text-shadow:0 1px #02070b,0 0 5px #02070b;font-size:13px;line-height:1.15}.help-list span{color:color-mix(in srgb, var(--text) 82%, var(--muted));font-size:14px;font-weight:750;line-height:1.25}.developer-link{color:var(--accent);text-shadow:0 1px 0 #02070b, 0 0 5px color-mix(in srgb, var(--accent) 30%, transparent);font-weight:900;text-decoration:none}.developer-link:hover,.developer-link:focus-visible{color:var(--text);text-underline-offset:3px;outline:none;text-decoration:underline;text-decoration-thickness:2px}.game-over-modal{--winner-color:var(--accent);border-color:color-mix(in srgb, var(--winner-color) 75%, var(--panel-border));background:radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--winner-color) 30%, transparent), transparent 48%), linear-gradient(color-mix(in srgb, var(--canvas-border) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--canvas-border) 18%, transparent) 1px, transparent 1px), var(--panel-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--winner-color) 28%, transparent), 0 0 34px color-mix(in srgb, var(--winner-color) 24%, transparent), 0 20px 70px #00000070;background-size:auto,28px 28px,28px 28px,auto;justify-items:center;gap:14px;position:relative}.game-over-modal:before{content:"";border-top:4px solid var(--winner-color);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.game-over-mark{border:1px solid color-mix(in srgb, var(--winner-color) 72%, transparent);background:color-mix(in srgb, var(--button-bg) 78%, var(--winner-color) 12%);width:58px;height:58px;color:var(--winner-color);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--winner-color) 24%, transparent), 0 0 24px color-mix(in srgb, var(--winner-color) 34%, transparent);text-shadow:0 1px 0 #02070b, 0 0 14px var(--winner-color);border-radius:50%;place-items:center;font-size:38px;font-weight:1000;line-height:1;display:grid}.game-over-modal h2{color:var(--text);text-align:center;text-shadow:0 1px 0 #02070b, 0 0 12px color-mix(in srgb, var(--winner-color) 40%, transparent);font-size:clamp(28px,5vh,38px)}.result-scoreboard{gap:7px;width:100%;display:grid}.result-score-row{border:1px solid color-mix(in srgb, var(--player-color) 42%, var(--panel-border));background:color-mix(in srgb, var(--button-bg) 84%, var(--player-color) 8%);box-shadow:inset 4px 0 0 var(--player-color);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.result-score-row.is-winner{border-color:var(--player-color);box-shadow:inset 4px 0 0 var(--player-color), 0 0 18px color-mix(in srgb, var(--player-color) 22%, transparent)}.result-score-name{min-width:0;color:var(--player-color);text-overflow:ellipsis;text-shadow:0 1px 0 #02070b, 0 0 8px color-mix(in srgb, var(--player-color) 38%, transparent);white-space:nowrap;font-weight:1000;overflow:hidden}.result-score-row strong{color:var(--text);text-shadow:0 1px 0 #02070b, 0 0 8px color-mix(in srgb, var(--player-color) 32%, transparent);font-size:20px;line-height:1}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.game-shell{grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(18px,3vh,28px);width:min(1040px,100%);height:100dvh;margin:0 auto;padding:clamp(8px,1.8vh,14px);display:grid;position:relative;overflow:hidden}.top-bar{justify-content:space-between;align-items:start;gap:16px;min-width:0;display:flex}.game-brand{align-items:center;gap:10px;min-width:0;display:flex}.game-logo{object-fit:contain;width:clamp(28px,4vh,36px);height:auto;color:color-mix(in srgb, var(--accent) 88%, var(--text) 12%);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 28%, transparent));flex:none}.game-title-block{min-width:0}.game-screen-title{font-size:clamp(22px,3vw,30px);line-height:1.05}.game-screen-title:after{bottom:-5px}.turn-hint{color:var(--muted);margin-top:10px;font-weight:700}.top-actions{align-items:center;gap:8px;display:flex}.top-actions button{white-space:nowrap}.top-actions button[hidden]{display:none}.primary-action{border-color:var(--accent);background:linear-gradient(90deg, transparent 0 12%, color-mix(in srgb, var(--accent) 20%, transparent) 50%, transparent 88%), linear-gradient(180deg, color-mix(in srgb, var(--button-bg) 70%, var(--accent) 18%), var(--button-bg));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 42%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 18%, transparent);text-shadow:0 1px #02070b,0 0 5px #02070b}.danger-action{background:linear-gradient(90deg, transparent 0 10%, #ff5e7624 50%, transparent 90%), var(--button-bg);color:#ffd9df;border-color:#ab4d5b}.scoreboard{width:min(var(--board-size,100%), 100%);grid-template-columns:repeat(var(--score-columns,2), minmax(0, 1fr));justify-self:center;gap:6px;display:grid}.score-card{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;min-height:clamp(34px,5.2vh,40px);padding:0 9px;display:grid}.score-card.is-active{border-color:var(--player-color);box-shadow:0 0 0 1px color-mix(in srgb, var(--player-color) 55%, transparent)}.score-swatch{background:var(--player-color);border-radius:999px;width:10px;height:10px}.score-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.turn-timer{border:1px solid color-mix(in srgb, var(--player-color) 55%, transparent);min-width:34px;color:var(--text);text-align:center;border-radius:6px;padding:4px 5px;font-size:12px;font-weight:900;line-height:1}.turn-timer.is-warn{color:#ffe0a3;border-color:#dca84a}.turn-timer.is-danger{color:#ffd4dc;border-color:#e85b72}.score-card strong{color:var(--text);font-size:clamp(18px,2.6vh,22px);line-height:1}.play-layout{grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.9vh,18px);min-height:0;display:grid}.board-stage{place-items:center;min-width:0;min-height:0;display:grid;overflow:visible}#board{aspect-ratio:1;border:1px solid var(--canvas-border);cursor:crosshair;border-radius:8px;width:min(100%,760px);max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 18px 60px #00000045}.controls{width:min(var(--board-size,520px), 520px, 100%);grid-template-columns:1fr 1.18fr 1fr;justify-self:center;gap:12px;display:grid}.tutorial-panel{width:min(var(--board-size,520px), 100%);border:1px solid color-mix(in srgb, var(--accent) 50%, var(--panel-border));background:linear-gradient(color-mix(in srgb, var(--canvas-border) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--canvas-border) 18%, transparent) 1px, transparent 1px), color-mix(in srgb, var(--panel-bg) 92%, var(--accent) 5%);box-shadow:inset 0 0 0 1px #ffffff07, 0 0 16px color-mix(in srgb, var(--accent) 10%, transparent);background-size:28px 28px,28px 28px,auto;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;justify-self:center;align-items:center;gap:4px 10px;padding:7px 9px;display:grid}.tutorial-panel[hidden]{display:none}.tutorial-panel .meta-label{margin:0;font-size:11px;line-height:1}.tutorial-panel h2{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 0 #02070b, 0 0 8px color-mix(in srgb, var(--accent) 28%, transparent);font-size:clamp(14px,2vh,17px);line-height:1.1;overflow:hidden}.tutorial-panel p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:12px;font-weight:800;line-height:1.15;overflow:hidden}.tutorial-actions{grid-area:1/3/span 2;gap:6px;display:flex}.tutorial-actions button{white-space:nowrap;min-height:32px;padding-inline:10px}.tutorial-actions button[hidden]{display:none}.control-button{border-radius:8px;place-items:center;min-height:clamp(42px,6.4vh,54px);padding:0;display:grid}.control-button-ccw{color:var(--ccw-color);background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--ccw-color) 18%, transparent), transparent 60%), var(--button-bg)}.control-button-cw{color:var(--cw-color);background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--cw-color) 18%, transparent), transparent 60%), var(--button-bg)}.control-button-fire{color:var(--fire-color);box-shadow:0 0 22px color-mix(in srgb, var(--fire-color) 28%, transparent)}.control-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.2px;width:clamp(34px,5.7vh,46px);height:clamp(27px,4.7vh,38px)}.control-icon-track{opacity:.95}.control-icon-head,.control-icon-fire{fill:none}.control-icon-emitter{fill:color-mix(in srgb, var(--fire-color) 14%, transparent)}.control-icon-beam{stroke:var(--fire-color)}.control-icon-spark{stroke:#ffcf5a;stroke-width:2.6px}.technical-panel{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--page-bg) 92%, var(--panel-bg));border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;max-height:min(28dvh,260px);padding:10px;display:grid;overflow:auto}.technical-panel[hidden]{display:none}.technical-card{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:8px;padding:14px}.technical-card p,.party-meta,#eventLog{color:var(--muted);line-height:1.4}.eyebrow,.meta-label{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800;display:block}.mode-tabs,.technical-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.technical-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.mode-tab.is-active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.party-meta{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.seed-row{align-items:center;gap:6px;display:inline-flex}.inline-action{border-radius:6px;min-height:28px;padding:0 8px;font-size:12px}.player-count-options,.theme-options,.shape-options{gap:8px;margin-top:10px;display:grid}.player-count-options{grid-template-columns:repeat(3,minmax(0,1fr))}.field-size-options-panel,.turn-time-options-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.theme-option{border:1px solid color-mix(in srgb, var(--panel-border) 86%, transparent);background:color-mix(in srgb, var(--row-bg) 92%, #000);min-height:34px;color:var(--text);cursor:pointer;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid}.theme-option input{width:14px;height:14px;accent-color:var(--accent)}.theme-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent)}.theme-option span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.log-panel{min-height:170px}#eventLog{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}#eventLog li{border-top:1px solid var(--log-border);padding-top:8px}@media (width<=720px){.game-shell{gap:16px;padding:12px}.top-bar{flex-direction:column;align-items:stretch;gap:10px}.top-actions{grid-template-columns:42px repeat(2,minmax(0,1fr));display:grid}.top-actions button{min-width:0;padding-inline:8px}.turn-time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-start-panel,.lobby-card{grid-template-columns:1fr}.menu-support-actions{justify-content:center}.help-list article,.tutorial-panel{grid-template-columns:1fr}.tutorial-panel p,.tutorial-panel h2{white-space:normal}.tutorial-actions{grid-area:auto;grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.lobby-card button{grid-area:auto}.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.score-card{min-height:34px}.score-card strong{font-size:20px}#board{width:100%}.controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.technical-panel,.player-count-options,.mode-tabs,.technical-actions{grid-template-columns:1fr}}.room-entry,.room-settings,.room-actions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.room-entry[hidden]{display:none}.join-panel{max-height:calc(100dvh - 170px);overflow-y:auto}.room-entry label,.room-settings label{gap:6px;display:grid}.room-entry input,.room-settings select{min-height:42px;color:inherit;background:var(--panel-bg,#17243d);font:inherit;border:1px solid;border-radius:8px;padding:8px 12px}#roomCodeInput{text-transform:uppercase;letter-spacing:.2em;width:9ch}.room-settings{margin-block:16px}.room-invite{flex-wrap:wrap;align-items:center;gap:14px;display:flex}#roomCode{letter-spacing:.2em;-webkit-user-select:all;user-select:all;font-size:1.8rem}.room-members{padding-left:24px;line-height:1.8}.room-error{color:#ff9393}.online-game-status{text-align:center;min-height:1.3em;margin:0}.room-bot-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-block:12px;display:flex}.room-bot-controls[hidden]{display:none}.room-members [data-bot-difficulty]{margin-inline:8px}.room-ranking{color:var(--muted);font-size:.9rem}.space-background{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.space-background canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}body{isolation:isolate}.portrait-header,.portrait-fire-icon,#portraitCenter{display:none}.portrait-crystal{transform-box:view-box;transform-origin:50%}.portrait-menu{width:min(var(--portrait-menu-width),calc(100vw - 32px));border:1px solid var(--portrait-border);border-radius:var(--portrait-button-radius);background:var(--portrait-panel);max-height:calc(100dvh - 40px);color:var(--portrait-text);padding:var(--portrait-menu-padding);overflow:auto}.portrait-menu::backdrop{background:var(--portrait-backdrop)}.portrait-menu button{min-height:var(--portrait-menu-button-height);width:100%;margin-top:8px}.portrait-menu-heading{justify-content:space-between;align-items:center;display:flex}.portrait-menu-heading button{width:var(--portrait-menu-close-size);font-size:var(--portrait-menu-icon-size);margin:0}@media (orientation:portrait){.android-client .app-shell{height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.android-client .game-shell{background:0 0;grid-template-rows:auto auto minmax(0,1fr);gap:0;width:100%;height:100%;min-height:0;padding:0;display:grid}.android-client .game-shell[hidden]{display:none}.android-client .top-bar{padding:var(--portrait-header-padding-top) var(--portrait-pad) var(--portrait-header-padding-bottom);min-height:var(--portrait-header-height);display:block}.android-client .top-bar .game-brand,.android-client .top-actions{display:none}.android-client .portrait-header{grid-template-columns:var(--portrait-timer-width) minmax(0,1fr) var(--portrait-menu-button-height);align-items:center;gap:var(--portrait-gap);display:grid}.android-client .portrait-header button{height:var(--portrait-menu-close-size);min-width:var(--portrait-menu-button-height);border-radius:var(--portrait-card-radius);padding:8px}.portrait-header svg,#portraitCenter svg{width:var(--portrait-menu-icon-size);height:var(--portrait-menu-icon-size);fill:none;stroke:currentColor;stroke-width:var(--portrait-menu-icon-stroke);stroke-linecap:round;stroke-linejoin:round}.portrait-timer{font:500 var(--portrait-timer-size)/1.2 monospace;letter-spacing:var(--portrait-timer-letter-spacing);padding:var(--portrait-timer-padding) 6px;border:1px solid var(--portrait-border);border-radius:var(--portrait-card-radius);text-align:center;background:var(--portrait-panel)}.portrait-timer.is-urgent{color:var(--portrait-urgent)}.portrait-turn{justify-content:center;align-items:center;gap:var(--portrait-turn-gap);min-width:0;font-size:var(--portrait-turn-size);display:flex}.portrait-turn-number{color:var(--portrait-text);white-space:nowrap;font-weight:600}.android-client .scoreboard{gap:var(--portrait-card-gap);width:100%;padding:0 var(--portrait-pad) var(--portrait-card-bottom-gap);grid-template-columns:1fr 1fr}.android-client .score-card{min-height:var(--portrait-card-height);padding:var(--portrait-card-padding-y) var(--portrait-card-padding-x);border-radius:var(--portrait-card-radius);border-color:color-mix(in srgb,var(--player-color) calc(var(--portrait-frame-alpha) * 100%),var(--portrait-border));background:var(--portrait-panel);grid-template-columns:minmax(0,1fr) auto;gap:8px}.android-client .score-card.is-active{background:color-mix(in srgb,var(--player-color) calc(var(--portrait-active-alpha) * 100%),var(--portrait-panel));border-color:var(--player-color);box-shadow:0 0 var(--portrait-active-glow) color-mix(in srgb,var(--player-color) calc(var(--portrait-glow-alpha) * 100%),transparent)}.android-client .score-card.is-disabled{opacity:var(--portrait-disabled-alpha);border-color:var(--portrait-border);box-shadow:none}.android-client .score-name{font-size:var(--portrait-name-size);color:var(--portrait-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.portrait-score{align-items:center;gap:var(--portrait-score-gap);color:var(--player-color);display:flex}.portrait-score strong{font-size:var(--portrait-score-size);color:var(--portrait-text)}.portrait-crystal{width:var(--portrait-crystal-size);height:var(--portrait-crystal-size);flex-shrink:0}.android-client .play-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;align-items:stretch;gap:0;min-height:0;display:grid;overflow:hidden}.android-client .play-layout.has-tutorial{grid-template-rows:minmax(0,1fr) auto auto}.android-client .board-stage{width:100%;height:100%;min-height:0;display:block;position:relative;overflow:hidden}.android-client #board{aspect-ratio:auto;width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0;display:block}.android-client .viewport-toolbar,.android-client .viewport-hint,.android-client .technical-panel{display:none}.android-client .controls{grid-template-columns:minmax(0,1fr) var(--portrait-fire-width) minmax(0,1fr);align-items:center;gap:var(--portrait-controls-gap);width:100%;max-width:none;padding:var(--portrait-pad);background:var(--portrait-background);border-top:1px solid var(--portrait-border);display:grid}.android-client #left,.android-client #right{display:none}.android-client #fire{width:var(--portrait-fire-width);min-height:var(--portrait-button-height);height:var(--portrait-button-height);border-radius:var(--portrait-button-radius);background:var(--portrait-accent);color:var(--portrait-fire-text);text-shadow:none;box-shadow:none;grid-area:1/2;justify-content:center;align-items:center;padding:8px;display:flex}.android-client #fire:before,.android-client #fire:after{display:none}.android-client #fire:disabled{opacity:var(--portrait-disabled-button-alpha)}.android-client #fire svg{width:var(--portrait-fire-icon-width);height:var(--portrait-fire-icon-height);filter:none}.android-client #fire>svg:not(.portrait-fire-icon){display:none}.android-client #fire>.portrait-fire-icon{display:block}.android-client #portraitCenter{width:var(--portrait-center-width);height:var(--portrait-center-height);min-height:var(--portrait-center-height);border-radius:var(--portrait-card-radius);padding:var(--portrait-center-padding);grid-area:1/3;justify-content:center;justify-self:end;align-items:center;display:flex}.android-client .tutorial-panel{margin:6px var(--portrait-pad);padding:10px;font-size:12px}.android-client .tutorial-panel h2{font-size:15px}}.menu-logo-dock{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;justify-content:flex-end;display:flex;position:fixed}.menu-logo-dock[hidden]{display:none}.main-menu.menu-logo-space{max-height:calc(100dvh - var(--menu-top-space,12px) * 2 - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.menu-logo3d{width:var(--logo-size,116px);height:var(--logo-size,116px);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.menu-logo3d[hidden]{display:none}.menu-logo3d canvas{pointer-events:none;width:100%;height:100%;display:block}.menu-logo3d img{filter:invert(.82);pointer-events:none;width:70%;height:70%;position:absolute;inset:15%}.menu-logo3d[data-renderer=webgl] img{visibility:hidden}.menu-logo-dock button.menu-logo3d:is(:hover,:active,:focus,:focus-visible){box-shadow:none;background:0 0;border:0;outline:none}@media (height<=600px){.menu-logo3d{width:84px;height:84px}.main-menu.menu-logo-space{max-height:calc(100dvh - var(--menu-top-space,12px) * 2 - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.main-menu{width:min(520px,100% - 24px);margin-block:var(--menu-top-space);box-shadow:none;max-height:calc(100dvh - var(--menu-top-space) * 2 - env(safe-area-inset-top) - env(safe-area-inset-bottom));scrollbar-width:thin;background:0 0;border:0;border-radius:0;align-self:start;gap:clamp(9px,1.6vh,13px);padding:clamp(12px,2vh,16px);display:grid;position:relative;overflow:auto}.main-menu:before,.main-menu:after{content:none}.main-menu[hidden],.menu-panel[hidden],.game-shell[hidden]{display:none}.menu-header{align-items:center;gap:var(--menu-title-top-gap);text-align:center;grid-template-columns:minmax(0,1fr);display:grid}.menu-heading{grid-row:2;min-width:0}.game-about-logo{object-fit:contain;border-radius:18px;justify-self:center;display:block}.menu-header-actions{gap:var(--menu-action-gap);grid-row:1;justify-self:end;display:flex}.menu-header-actions .menu-icon-action{width:var(--menu-action-size);min-width:var(--menu-action-size);height:var(--menu-action-size);border:1px solid var(--menu-action-border);border-radius:var(--menu-action-radius);background:var(--menu-action-background);box-shadow:none;color:var(--menu-action-color);flex:none;place-items:center;padding:0;display:grid}.menu-icon-action svg{width:var(--menu-icon-size);height:var(--menu-icon-size);fill:none;stroke:currentColor;stroke-width:var(--menu-icon-stroke);stroke-linecap:round;stroke-linejoin:round}.menu-icon-action .menu-symbol-icon{box-sizing:border-box;width:var(--menu-icon-size);height:var(--menu-icon-size);border:calc(var(--menu-icon-stroke) * 1px) solid currentColor;font:800 calc(var(--menu-icon-size) * .68)/1 Georgia, serif;border-radius:50%;place-items:center;display:grid}.menu-header-actions .menu-icon-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.game-name{width:fit-content;max-width:100%;color:var(--text);letter-spacing:0;text-shadow:0 1px 0 #02070b, 0 -1px 0 #02070b, 1px 0 0 #02070b, -1px 0 0 #02070b, 0 0 12px color-mix(in srgb, var(--accent) 42%, transparent);font-weight:950;position:relative}.game-name:after{content:"";background:linear-gradient(90deg, transparent, var(--ccw-color) 15%, var(--accent) 52%, var(--fire-color) 86%, transparent);height:2px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 38%, transparent);border-radius:999px;position:absolute;bottom:-6px;left:4%;right:4%}.menu-logo{width:clamp(44px,7.6vh,62px);margin-bottom:0}.menu-game-name{--title-entry-duration:calc(var(--menu-title-glint-period-ms) * .1);--title-laser-length:clamp(140px, 45vw, 420px);font-size:clamp(40px, 12vw, var(--menu-title-size));text-shadow:0 1px 4px #02070b;margin-inline:auto;line-height:1.1}.menu-title-text{color:var(--menu-title-light);display:block}.menu-title-glint{display:none}@supports ((-webkit-background-clip:text) or (background-clip:text)){.menu-game-name{text-shadow:none}.menu-title-text{color:#0000;background:linear-gradient(175deg, var(--menu-title-light) 12%, #dce8f2 38%, var(--menu-title-shade) 57%, #eaf5ff 78%, #b1cadc);filter:drop-shadow(0 1px #57758b)drop-shadow(0 2px 2px #02070b);-webkit-background-clip:text;background-clip:text}.menu-title-glint{color:#0000;pointer-events:none;-webkit-user-select:none;user-select:none;background-image:linear-gradient(110deg, transparent 44%, #7deeff88 47%, #fff 50%, var(--menu-title-glint) 52%, transparent 56%);opacity:0;animation:menu-title-glint var(--menu-title-glint-period-ms) ease-in-out var(--menu-title-glint-delay-ms) infinite;background-position:150% 0;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;display:block;position:absolute;inset:0}}@keyframes menu-title-glint{0%{opacity:0;background-position:150% 0}2%{opacity:1}12%{opacity:1;background-position:-50% 0}14%,to{opacity:0;background-position:-50% 0}}.main-menu[hidden] .menu-title-glint{animation:none}@media (prefers-reduced-motion:reduce){.menu-title-glint{animation:none;display:none}}.menu-game-name:before,.menu-game-name:after{content:"";pointer-events:none;opacity:0;height:2px;animation:menu-title-laser var(--title-entry-duration) ease-in-out var(--menu-title-glint-delay-ms) both;border-radius:2px;margin-top:calc(1.1em + 8px);position:fixed;top:auto;bottom:auto;right:auto}.menu-game-name:before{width:var(--title-laser-length);background:linear-gradient(90deg, transparent, #66e8ff44 35%, var(--menu-title-glint) 85%, #fff);filter:drop-shadow(0 0 4px var(--menu-title-glint));left:0}.menu-game-name:after{left:var(--title-laser-length);width:2px;box-shadow:-6px -5px 0 var(--menu-title-glint), -3px -8px 0 #fff, -8px 3px 0 #8ce6ff, -4px 6px 0 var(--menu-title-glint), 1px 4px 0 #fff;filter:drop-shadow(0 0 3px var(--menu-title-glint));animation:menu-title-laser var(--title-entry-duration) ease-in-out var(--menu-title-glint-delay-ms) both, menu-title-sparks calc(var(--title-entry-duration) / 6) linear var(--menu-title-glint-delay-ms) 6 both;background:#fff;margin-top:8px}@keyframes menu-title-laser{0%{transform:translateX(calc(-1 * var(--title-laser-length) - 16px));opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(100vw)}}@keyframes menu-title-sparks{0%{box-shadow:-1px -1px #0000,0 -2px #0000,-2px 1px #0000,-1px 2px #0000,1px 1px #0000}20%{box-shadow:-3px -2px 0 var(--menu-title-glint), 0 -4px 0 #fff, -4px 1px 0 #8ce6ff, -2px 3px 0 var(--menu-title-glint), 2px 2px 0 #fff}55%{box-shadow:-8px -5px #8ce6ffaa,-2px -9px #fff,-10px 3px #8ce6ff,-5px 7px #c0f7ff99,3px 5px #fffb}to{box-shadow:-16px -8px #0000,-5px -14px #0000,-18px 5px #0000,-10px 12px #0000,4px 9px #0000}}.main-menu[hidden] .menu-game-name:before,.main-menu[hidden] .menu-game-name:after{animation:none}@media (prefers-reduced-motion:reduce){.menu-game-name:before,.menu-game-name:after{animation:none;display:none}}.menu-subtitle{color:color-mix(in srgb, var(--text) 78%, var(--muted));font-size:var(--menu-subtitle-size);text-shadow:0 1px #02070b,0 0 5px #02070b;margin-top:4px;font-weight:500;display:block}.menu-panel{gap:clamp(8px,1.45vh,12px);display:grid}.menu-settings-panel{box-shadow:none;background:0 0;border:0;gap:clamp(8px,1.35vh,11px);padding:0;display:grid}.menu-group{gap:6px;display:grid}.menu-group>.meta-label,.main-menu .ui-field>span{color:color-mix(in srgb, var(--text) 72%, var(--accent));letter-spacing:0;text-transform:uppercase;text-shadow:0 1px 0 #02070b, 0 0 5px color-mix(in srgb, var(--accent) 18%, transparent);margin:0;font-size:13px;font-weight:900;line-height:1}.menu-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.field-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}.turn-time-options,.menu-panel .turn-time-options{grid-template-columns:repeat(4,minmax(0,1fr))}.turn-time-options .menu-option{padding-inline:3px}.turn-time-options .menu-option strong{white-space:nowrap;line-height:1}.turn-time-options .turn-time-unlimited strong{transform:scale(1.35)}.menu-option{border-color:color-mix(in srgb, var(--canvas-border) 78%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--row-bg) 82%, #fff 6%), var(--row-bg));place-items:center;gap:2px;min-width:0;min-height:clamp(40px,5.7vh,50px);padding:6px;display:grid}.menu-option[aria-disabled=true]{opacity:.45}.main-menu .menu-option{border-color:color-mix(in srgb, var(--panel-border) 86%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-bg) 84%, #fff 4%), color-mix(in srgb, var(--panel-bg) 78%, var(--row-bg) 22%));min-height:clamp(34px,4.8vh,42px);color:color-mix(in srgb, var(--text) 76%, var(--muted));padding:4px 8px 6px;box-shadow:inset 0 0 0 1px #ffffff05}.menu-option:before,.menu-option:after{content:"";z-index:-1;border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:var(--panel-bg);opacity:.72;border-radius:50%;width:6px;height:6px;position:absolute}.main-menu .menu-option:before{display:none}.main-menu .menu-option:after{z-index:0;opacity:0;width:auto;height:2px;box-shadow:none;background:0 0;border:0;border-radius:999px;inset:auto 10px 4px}.menu-option:before{top:7px;left:7px}.menu-option:after{bottom:7px;right:7px}.menu-option.is-active{border-color:var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 28%, transparent), transparent 68%), linear-gradient(180deg, color-mix(in srgb, var(--button-bg) 72%, var(--accent) 18%), var(--button-bg));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 42%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 18%, transparent)}.main-menu .menu-option.is-active{border-color:color-mix(in srgb, var(--accent) 62%, var(--panel-border));background:linear-gradient(180deg, color-mix(in srgb, var(--button-bg) 82%, var(--accent) 10%), color-mix(in srgb, var(--button-bg) 90%, var(--accent) 5%));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.main-menu .menu-option.is-active:after{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.9}.menu-option strong{max-width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px #02070b,0 -1px #02070b,1px 0 #02070b,-1px 0 #02070b,0 0 5px #02070b;font-size:clamp(16px,2.25vh,20px);line-height:1;overflow:hidden}.main-menu .menu-option strong{color:color-mix(in srgb, var(--text) 88%, var(--muted));text-shadow:0 1px #02070b,0 0 3px #02070b;font-size:clamp(14px,2vh,17px);font-weight:850}.main-menu .menu-option.is-active strong{color:var(--text)}.menu-option span{max-width:100%;color:color-mix(in srgb, var(--text) 78%, var(--muted));opacity:.95;text-overflow:ellipsis;text-shadow:0 1px #02070b,0 0 4px #02070b;white-space:nowrap;font-size:12px;font-weight:900;line-height:1.1;overflow:hidden}.main-menu .menu-option span{color:color-mix(in srgb, var(--muted) 88%, var(--text));text-shadow:none;font-size:11px;font-weight:800}.main-menu .menu-option.is-active span{color:color-mix(in srgb, var(--text) 80%, var(--muted))}.start-game{letter-spacing:0;width:100%;min-height:clamp(40px,5.5vh,48px)}.support-action{min-height:32px;box-shadow:none;color:color-mix(in srgb, var(--muted) 82%, var(--text));background:0 0;border-color:#0000;padding:0 8px;font-size:13px;font-weight:850}.support-action:hover:not(:disabled),.support-action:focus-visible{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--button-bg) 62%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text)}.help-action{min-width:34px;color:var(--accent);padding-inline:0;font-size:18px;font-weight:1000}.menu-start-panel{gap:7px;padding-top:clamp(4px,.8vh,8px);display:grid}#startGame{min-height:clamp(46px,6.3vh,56px);font-size:clamp(16px,2.2vh,19px);font-weight:950}.menu-support-actions{justify-content:center;align-items:center;gap:10px;display:flex}.menu-start-panel button[hidden],.ui-dialog:not([open]){display:none}.ui-dialog{width:min(var(--ui-panel-width),calc(100vw - 24px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);font-size:var(--ui-body-size);margin:auto;padding:0;overflow:auto;box-shadow:0 18px 60px #0007}.ui-dialog::backdrop{background:var(--ui-backdrop)}.ui-dialog .game-modal{width:100%;max-height:none;box-shadow:none;padding:var(--ui-panel-padding);background:0 0;border:0;border-radius:0;margin:0}.ui-dialog.about-modal,.ui-dialog.portrait-menu{padding:var(--ui-panel-padding)}.ui-dialog h2{font-size:var(--ui-title-size)}.ui-dialog .ui-button{min-height:var(--ui-control-height);border-radius:var(--ui-radius);font-size:var(--ui-body-size)}.ui-dialog .ui-button--primary{border-color:var(--ui-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--ui-accent) 20%,var(--ui-background)),var(--ui-background));color:var(--ui-text)}.ui-dialog .ui-button--danger{border-color:var(--fire-color)}.ui-button:focus-visible,.ui-field input:focus-visible,.ui-field select:focus-visible,.ui-select:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-button{transition:border-color var(--ui-transition-ms),background-color var(--ui-transition-ms)}.ui-actions{gap:var(--ui-gap);flex-wrap:wrap;display:flex}.ui-actions--column{display:grid}.ui-field{gap:var(--ui-gap);font-size:var(--ui-label-size);min-width:0;display:grid}.main-menu .ui-field.ui-field--inline{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.ui-field input,.ui-field select,.ui-select{min-height:var(--ui-control-height);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-background);color:var(--ui-text);font:inherit;padding:8px}.ui-message{color:var(--ui-muted)}.ui-message.is-error{color:var(--fire-color)}.ui-player-list{gap:var(--ui-gap);display:grid}.ui-dialog [hidden],.ui-page[hidden],.ui-page [hidden],.ui-actions [hidden]{display:none}@media (prefers-reduced-motion:reduce){.ui-button{transition:none}}.ui-panel{gap:var(--ui-gap);display:grid}.ui-dialog.about-modal::backdrop{background:var(--ui-backdrop)}.ui-page .ui-player-list>li{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-background)}.ui-player-list--compact{align-content:start;gap:6px;margin:0;padding:0;list-style:none}.ui-player-list--compact>li{align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px 8px;font-size:13px;line-height:1.2;display:flex}.ui-player-list--compact .ui-member-copy{flex:1;gap:3px;min-width:0;display:grid}.ui-player-list--compact [data-member-label]{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.ui-player-list--compact [data-member-detail]{color:var(--ui-muted);font-size:11px}.ui-player-list--compact [data-member-status]{color:var(--ui-accent);flex:none;font-size:11px}.ui-player-list--compact .ui-select{width:86px;min-width:0;min-height:40px;padding:4px;font-size:12px}.ui-player-list--compact button{flex:none;width:40px;min-height:40px;padding:0;font-size:22px}.ui-page .ui-field{gap:var(--ui-gap)}.about-modal:not([open]){display:none}.ui-dialog.about-modal{width:min(520px,100vw - 32px);max-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:calc(16px + env(safe-area-inset-top)) auto 0;color:var(--text);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;padding:0;overflow:visible}.about-header{border-bottom:1px solid var(--panel-border);align-items:center;gap:12px;padding:16px;display:flex}.ui-dialog.about-modal .about-header h2{overflow-wrap:anywhere;min-width:0;font-size:22px;line-height:1.2}.about-header .about-back{flex:none;place-items:center;width:44px;height:44px;min-height:44px;padding:8px;display:grid}.about-back svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.about-body{min-width:0;min-height:0;max-height:calc(100dvh - 236px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:anywhere;gap:12px;padding:16px;display:grid;overflow-y:auto}.about-identity{align-items:center;gap:12px;display:flex}.about-identity .game-about-logo{border-radius:10px;width:48px;height:48px}.about-modal::backdrop{background:#02070bb8}.about-modal #appAccess{gap:12px;display:grid}.about-modal #appAccess[hidden]{display:none}.about-limits{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.85rem}.about-limits caption{text-align:left;margin-bottom:8px}.about-limits th,.about-limits td{border-bottom:1px solid var(--panel-border);text-align:left;padding:8px 5px}.about-limits th:first-child{width:48%}.about-modal .menu-support-actions{flex-wrap:wrap}.board-stage{overflow:hidden}.play-layout{grid-template-rows:minmax(0,1fr) auto auto auto}.play-layout.has-tutorial{grid-template-rows:minmax(0,1fr) auto auto auto auto}#board,.controls button{touch-action:none;-webkit-user-select:none;user-select:none}.viewport-toolbar{justify-content:center;align-items:center;gap:8px;display:flex}.viewport-toolbar button{min-width:44px;min-height:44px}.viewport-toolbar output{text-align:center;font-variant-numeric:tabular-nums;min-width:52px}.viewport-hint{text-align:center;color:var(--muted);font-size:12px}.main-menu{max-height:100dvh;overflow-y:auto}.game-shell{height:calc(100dvh - env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom))}.app-shell{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (width<=720px),(height<=520px){.app-shell{height:100dvh;min-height:0}.main-menu{min-height:0;padding:20px 12px max(20px, env(safe-area-inset-bottom))}.menu-header{gap:10px}.menu-logo{width:84px;height:32px}.menu-panel{width:100%;min-width:0}.menu-settings-panel{gap:12px;padding:14px}.menu-start-panel{gap:10px}.menu-options button{min-height:44px}.game-shell{width:100%;min-height:0;padding:8px 8px max(8px, env(safe-area-inset-bottom));gap:8px}.top-bar{flex-flow:wrap;align-items:center;gap:6px}.top-bar .brand-mark{width:58px;height:24px}.top-bar .game-name{font-size:20px}.top-actions{gap:5px;margin-left:auto;display:flex}.top-actions button{min-width:44px;min-height:44px;padding-inline:7px;font-size:12px}.play-layout{gap:6px;min-width:0}.scoreboard{gap:5px}.score-card{gap:4px;min-width:0;padding:5px 8px}.score-card strong{font-size:18px}.controls{gap:8px}.controls button{height:52px;min-height:52px}.viewport-toolbar{gap:5px}.viewport-toolbar button{padding-inline:10px}.viewport-hint{font-size:11px}.game-modal{max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto}.room-entry input,.room-settings select{max-width:100%;min-height:44px}.tutorial-panel{gap:5px;padding:8px}.tutorial-panel h2{font-size:16px}.tutorial-panel p{font-size:12px}}@media (height<=520px) and (width>=600px){.game-shell{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-content:center;gap:8px 12px}.play-layout,.play-layout.has-tutorial{display:contents}.board-stage{grid-area:1/1/-1;align-self:center}.top-bar{grid-area:1/2;justify-content:center}.top-bar .game-brand{display:none}.top-actions{margin-left:0}.scoreboard{grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr))}.score-card{min-height:32px;padding-block:4px}.viewport-toolbar{flex-wrap:wrap;grid-area:3/2}.viewport-toolbar button{min-height:44px}.viewport-toolbar #fitBoard{flex-basis:100%}.viewport-hint{display:none}.tutorial-panel{grid-area:4/2}.controls{grid-area:5/2;align-self:start}.controls button{height:44px;min-height:44px}}.tutorial-target{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 14%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 26%, transparent)}.tutorial-target:focus-visible{outline-offset:4px;outline-width:3px}.tutorial-scoreboard .score-card.is-disabled{display:none}.tutorial-panel.has-guided-lesson{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;height:clamp(172px,25dvh,216px);max-height:none;overflow:hidden}.tutorial-panel.has-guided-lesson h2,.tutorial-panel.has-guided-lesson p{white-space:normal;grid-column:1;line-height:1.35;overflow:visible}.tutorial-panel.has-guided-lesson .tutorial-actions{grid-area:auto/1;grid-template-rows:44px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}#tutorialContinue{grid-area:1/1}#tutorialReplay{grid-area:1/2}#tutorialRepeat{grid-area:1/1/auto/-1;justify-self:center;width:min(220px,100%)}.tutorial-back{border-radius:var(--menu-action-radius);flex:none;place-items:center;width:44px;height:44px;padding:8px;display:grid}.tutorial-back[hidden]{display:none}.tutorial-back svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.game-shell.has-tutorial .top-actions{display:none}@media (orientation:portrait){.android-client .game-shell.has-tutorial .top-bar{position:relative}.android-client .tutorial-back{left:var(--portrait-pad);top:var(--portrait-header-padding-top);width:var(--portrait-menu-button-height);height:var(--portrait-menu-close-size);position:absolute}.android-client .game-shell.has-tutorial .portrait-timer,.android-client .game-shell.has-tutorial #portraitMenuButton{visibility:hidden}}.tutorial-panel.has-guided-lesson p{min-height:0;margin:0;overflow-y:auto}.tutorial-panel.has-guided-lesson .tutorial-actions button[hidden]{visibility:hidden;pointer-events:none;display:block}.tutorial-panel.has-guided-lesson .tutorial-actions button{white-space:normal;min-width:0}.tutorial-actions button{min-height:44px}
