:root{--paper:#f4f0e5;--paper-2:#ebe6d8;--ink:#173332;--muted:#667775;--line:#d8d2c3;--red:#e85d46;--red-dark:#b9362b;--teal:#238b80;--teal-dark:#176a64;--lime:#d8e377;--white:#fffdf8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 8% 12%, #d8e37733, transparent 26rem), var(--paper);min-width:320px;color:var(--ink);margin:0;font-family:Segoe UI,Arial,sans-serif}button,input{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #238b8059}.landing{min-height:100vh;padding:0 clamp(22px,5vw,76px);overflow:hidden}.site-header,.game-header{justify-content:space-between;align-items:center;height:84px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;background:0 0;border:0;align-items:center;gap:12px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:3px;width:34px;height:34px;display:inline-flex;transform:rotate(-4deg)}.brand-mark i{background:var(--lime);border-radius:4px;width:4px;height:18px;display:block}.text-button,.site-header button,.landing-footer button{background:0 0;border:0;font-weight:700}.text-button{border-bottom:1px solid;padding:10px 0}.site-header-actions{align-items:center;gap:18px;display:flex}.language-switch{border:1px solid var(--line);background:#fffdf8bd;border-radius:999px;gap:3px;padding:3px;display:inline-flex}.language-switch button,.site-header .language-switch button,.header-actions .language-switch button{min-width:35px;color:var(--muted);letter-spacing:.06em;background:0 0;border:0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.language-switch button.active{background:var(--ink);color:var(--white)}.start-window{grid-template-columns:minmax(360px,.78fr) minmax(560px,1.22fr);align-items:start;gap:22px;max-width:1380px;margin:10px auto 28px;display:grid}.play-column{border:1px solid var(--line);background:radial-gradient(circle at 105% -5%,#d8e37761,#0000 18rem),#ebe6d8b8;border-radius:28px;gap:16px;padding:26px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 65px #17333214}.play-column:before{content:"";pointer-events:none;border:1px solid #238b802b;border-radius:50%;width:245px;height:245px;position:absolute;top:-120px;right:-115px}.start-intro{position:relative}.start-intro .eyebrow{margin-bottom:8px}.start-intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(36px,4vw,56px);line-height:.98}.start-intro>p:last-child{max-width:480px;color:var(--muted);margin:13px 0 2px;font-size:15px;line-height:1.5}.eyebrow,.card-kicker,.result-kicker{color:var(--teal-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:900}.bot-card{border:1px solid var(--line);background:#fffdf8ad;border-radius:18px;grid-template-columns:1fr auto;align-items:end;gap:18px 28px;max-width:none;padding:20px;display:grid;box-shadow:0 18px 45px #1733320f}.bot-card>div:first-child{gap:4px;display:grid}.bot-card .card-kicker{margin:0;font-size:10px}.bot-card strong{font-size:16px}.difficulty-row{background:var(--paper-2);border-radius:999px;padding:4px;display:flex}.difficulty{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.difficulty.active{background:var(--white);color:var(--ink);box-shadow:0 2px 9px #1733321f}.primary-button,.online-primary,.secondary-button{border-radius:13px;min-height:48px;font-weight:800}.primary-button,.online-primary{border:1px solid var(--ink);background:var(--ink);color:var(--white)}.primary-button{grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 18px;display:inline-flex}.primary-button:hover,.online-primary:hover{background:#214542}.start-button{border-color:var(--red);background:var(--red);min-height:54px;font-size:15px;box-shadow:0 10px 24px #e85d4638}.start-button:hover{background:var(--red-dark)}.online-card{background:linear-gradient(150deg, #d8e3771a, transparent 45%), var(--ink);color:var(--white);border-radius:22px 22px 8px;padding:22px;position:relative;box-shadow:0 18px 45px #17333229}.live-pill{color:#e8ede5;letter-spacing:.1em;text-transform:uppercase;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:7px;width:max-content;margin-bottom:18px;padding:8px 11px;font-size:11px;font-weight:900;display:flex}.live-pill span{background:var(--lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #d8e3771a}.online-card h2{letter-spacing:-.05em;margin:0 0 10px;font-size:clamp(27px,3vw,34px)}.online-card>p{color:#bdcbc7;margin:0 0 18px;line-height:1.5}.field-label{color:#cdd8d4;letter-spacing:.08em;text-transform:uppercase;gap:8px;margin-bottom:14px;font-size:11px;font-weight:800;display:grid}.field-label input,.join-row input{width:100%;color:var(--white);background:#ffffff14;border:1px solid #ffffff30}.field-label input{border-radius:13px;height:46px;padding:0 16px}.field-label input::placeholder,.join-row input::placeholder{color:#8ea39f}.online-primary,.secondary-button{width:100%;padding:0 16px}.online-primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}.online-primary:hover{background:#e5ee93}.secondary-button{color:var(--white);background:0 0;border:1px solid #fff3}.or{color:#879b97;align-items:center;gap:12px;height:30px;font-size:11px;display:flex}.or:before,.or:after{content:"";background:#ffffff1f;flex:1;height:1px}.join-row{grid-template-columns:1fr auto;gap:9px;margin-top:10px;display:grid}.join-row input{letter-spacing:.2em;border-radius:11px;min-width:0;padding:0 14px;font-weight:900}.join-row button{background:var(--white);min-width:118px;min-height:44px;color:var(--ink);border:0;border-radius:11px;padding:0 18px;font-weight:800}button:disabled{cursor:not-allowed;opacity:.48}.form-message,.game-message{color:#ffd0c7;margin:14px 0 0;font-size:13px}.landing-rules{border:1px solid var(--line);background:#fffdf8b3;border-radius:28px;max-width:none;margin:0;padding:26px;box-shadow:0 24px 65px #17333212}.rules-heading{grid-template-columns:1fr minmax(280px,520px);align-items:end;gap:28px;display:grid}.rules-heading .eyebrow{margin-bottom:8px}.rules-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,48px)}.rules-heading>p{color:var(--muted);margin:0 0 7px;font-size:14px;line-height:1.5}.rules-grid{counter-reset:rule;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.rules-grid li{counter-increment:rule;border:1px solid var(--line);min-height:142px;color:var(--muted);background:#fff6;border-radius:16px;padding:16px;font-size:13px;line-height:1.52}.rules-grid li:before{content:counter(rule, decimal-leading-zero);color:var(--red);margin-bottom:12px;font-family:Georgia,serif;font-size:21px;font-style:italic;font-weight:700;display:block}.rules-grid b{color:var(--ink);margin-bottom:5px;font-size:14px;display:block}.landing-footer{max-width:1380px;color:var(--muted);justify-content:space-between;margin:0 auto;padding:0 0 30px;font-size:12px;display:flex}.game-shell{background:#e9e5da;min-height:100vh}.game-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f0e5eb;border-bottom:1px solid #d3cdbf;height:70px;padding:0 24px}.brand.compact{padding:0;font-size:15px}.brand.compact .brand-mark{width:30px;height:30px}.match-meta{color:var(--muted);align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.mode-chip{color:var(--ink);background:#ddd8cb;border-radius:999px;padding:7px 10px}.header-actions{gap:8px;display:flex}.header-actions button{background:0 0;border:0;padding:8px 11px;font-size:12px;font-weight:800}.header-actions .danger-link{color:var(--red-dark)}.game-layout{grid-template-columns:292px minmax(0,1fr);min-height:calc(100vh - 70px);display:grid}.game-sidebar{background:var(--paper);border-right:1px solid #d3cdbf;padding:22px}.turn-card{background:var(--ink);color:var(--white);border-radius:16px;align-items:center;gap:13px;margin-bottom:18px;padding:16px;display:flex}.turn-card div{gap:2px;display:grid}.turn-card small{color:#9fb3af;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.turn-orb{border:4px solid #ffffff61;border-radius:50%;flex:none;width:31px;height:31px}.turn-orb.player-1,.piece-preview.player-1{background:var(--red)}.turn-orb.player-2,.piece-preview.player-2{background:var(--teal)}.connection-warning{color:var(--red-dark);background:#e85d461a;border:1px solid #b9362b47;border-radius:12px;gap:3px;margin:-8px 0 12px;padding:10px 12px;font-size:11px;display:grid}.connection-warning strong{font-size:12px}.connection-warning span{font-variant-numeric:tabular-nums}.player-card{border:1px solid var(--line);background:#fffdf8a6;border-radius:14px;grid-template-columns:1fr auto;gap:11px;margin-bottom:10px;padding:13px;display:grid;position:relative}.player-card.current{border-color:var(--teal);box-shadow:inset 3px 0 var(--teal)}.player-card>b{align-self:center;font-size:25px}.player-identity{align-items:center;gap:10px;display:flex}.player-identity div{min-width:0;display:grid}.player-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.player-identity small{color:var(--muted);font-size:11px}.piece-preview{border:3px solid #ffffffbf;border-radius:50%;flex:none;width:27px;height:27px;box-shadow:0 2px 5px #17333233}.player-clock{color:var(--muted);background:#53666314;border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:6px 8px;font-size:10px;font-weight:800;display:flex}.player-clock.running{color:var(--ink);background:#78964624}.player-clock strong{color:inherit;font-variant-numeric:tabular-nums;font-size:13px}.series-meter{grid-column:1/-1;gap:5px;display:flex}.series-meter i{background:#d7d2c6;border-radius:2px;width:17px;height:3px}.series-meter i.remaining{background:var(--lime)}.instruction-card{background:#e2ddce;border-radius:14px;margin-top:20px;padding:15px}.instruction-card span{color:var(--teal-dark);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.instruction-card p{color:#536663;margin:7px 0 0;font-size:12px;line-height:1.55}.placement-budget{letter-spacing:.04em;text-align:center;text-transform:uppercase;border:1px solid #17333229;border-radius:8px;margin-top:10px;padding:7px 9px;font-size:10px;font-weight:850}.placement-budget.available{color:#58742f;background:#78964624}.placement-budget.used{color:var(--muted);background:#53666314}.pass-button{width:100%;color:var(--ink);background:#ffffff73;border:1px solid #1733323d;border-radius:9px;margin-top:12px;padding:9px 12px;font-size:12px;font-weight:800}.pass-hint{color:var(--red-dark);text-align:center;margin-top:7px;font-size:10px;line-height:1.4;display:block}.resign-button{width:100%;color:var(--red-dark);background:0 0;border:1px solid #b9362b57;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:850}.resign-button:not(:disabled):hover{background:#e85d461a}.pass-button:not(:disabled):hover{border-color:var(--teal);background:#ffffffc7}.history-card,.chat-card{border:1px solid var(--line);background:#fffdf8b8;border-radius:14px;margin-top:12px;padding:13px}.history-card header,.chat-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.history-card header div,.chat-card header div{gap:1px;display:grid}.history-card header span,.chat-card header span,.history-branches>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.history-card header strong,.chat-card header strong{font-size:13px}.history-card header b,.chat-card header b{min-width:25px;color:var(--teal-dark);text-align:center;background:#e2ddce;border-radius:999px;padding:4px 6px;font-size:10px}.history-nav{grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;display:grid}.history-nav button,.history-branches button,.continue-branch{background:var(--white);min-height:34px;color:var(--ink);border:1px solid #17333233;border-radius:8px;padding:7px 8px;font-size:10px;font-weight:800}.history-nav button:disabled{opacity:.42}.continue-branch{border-color:var(--teal);background:var(--teal);width:100%;color:var(--white);margin-top:7px}.history-branches{gap:5px;max-height:132px;margin-top:10px;display:grid;overflow-y:auto}.history-branches button{text-align:left}.history-card>p{color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.4}.chat-log{background:#e2ddce;border-radius:10px;gap:6px;max-height:210px;margin-top:10px;padding:8px;display:grid;overflow-y:auto}.chat-empty{color:var(--muted);text-align:center;margin:8px 3px;font-size:10px}.chat-message{justify-self:start;max-width:92%}.chat-message.own{justify-self:end}.chat-message span{color:var(--muted);margin:0 5px 2px;font-size:9px;font-weight:800;display:block}.chat-message p{background:var(--white);color:var(--ink);overflow-wrap:anywhere;border-radius:4px 10px 10px;margin:0;padding:7px 9px;font-size:11px;line-height:1.35}.chat-message.own p{background:var(--teal);color:var(--white);border-radius:10px 4px 10px 10px}.chat-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:7px;display:grid}.chat-form input{border:1px solid var(--line);background:var(--white);border-radius:8px;min-width:0;padding:8px 9px;font-size:11px}.chat-form button{background:var(--ink);color:var(--white);border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.chat-form button:disabled{opacity:.45}.board-toolbar-actions{align-items:center;gap:7px;display:flex}.final-position-button{border:1px solid var(--teal);min-height:34px;color:var(--teal-dark);background:#238b8014;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:850}.notice-line{color:var(--muted);gap:8px;margin-top:16px;font-size:11px;line-height:1.45;display:flex}.notice-line span{color:var(--red)}.game-message{color:var(--red-dark)}.board-panel{flex-direction:column;min-width:0;padding:14px;display:flex;position:relative;overflow:hidden}.board-toolbar{justify-content:space-between;align-items:start;min-height:49px;padding:0 3px 10px;display:flex}.board-toolbar>div:first-child{display:grid}.board-toolbar strong{font-size:14px}.board-toolbar span{color:var(--muted);font-size:11px}.zoom-controls{background:#ddd8cb;border-radius:10px;align-items:center;gap:6px;padding:3px;display:flex}.zoom-controls button{background:var(--white);border:0;border-radius:8px;width:28px;height:28px;font-size:18px;line-height:1}.zoom-controls span{text-align:center;width:42px;font-weight:800}.board-viewport{overscroll-behavior:contain;scrollbar-color:#a9a395 transparent;background:linear-gradient(45deg,#17333208 25%,#0000 25%),#ddd8ca;border:1px solid #cbc5b6;border-radius:14px;flex:1;min-height:560px;overflow:auto}.board{background:#d5d7c9;border:2px solid #697a76;width:max-content;margin:28px;display:grid;box-shadow:0 12px 32px #17333224}.board-cell{width:var(--cell-size);height:var(--cell-size);background:#edf0e1;border:1px solid #3d534e40;border-top:0;border-left:0;padding:0;position:relative}.board-cell:nth-child(2n){background:#e7eadc}.board-cell:not(:disabled):hover{z-index:2;box-shadow:inset 0 0 0 2px #238b808c}.board-cell.legal:after{content:"";background:#789646;border-radius:50%;position:absolute;inset:39%}.board-cell.movable-piece .piece{z-index:1;outline:2px solid var(--lime);outline-offset:2px}.board-cell.capture-target{z-index:1;box-shadow:inset 0 0 0 3px var(--lime)}.board-cell.capture-target:after{content:"";border:2px solid var(--red);border-radius:50%;position:absolute;inset:-4px}.board-cell.selected{z-index:2;box-shadow:inset 0 0 0 3px var(--ink)}.board-cell.last{background:#f4e5a8}.board-cell.moving-from{z-index:12}.board-cell.capture-arrival{z-index:8}.board-cell.capture-arrival:before{content:"";pointer-events:none;border:2px solid #cd3f2fc7;border-radius:50%;animation:.42s ease-out both capture-impact;position:absolute;inset:-18%}.piece{border:max(2px, calc(var(--cell-size) * .08)) solid #ffffffc7;border-radius:50%;position:absolute;inset:13%;box-shadow:inset 0 -4px 8px #00000021,0 2px 4px #17333247}.piece.player-1{background:radial-gradient(circle at 35% 30%, #ff9a83, var(--red) 55%, var(--red-dark))}.piece.player-2{background:radial-gradient(circle at 35% 30%, #63cfc3, var(--teal) 55%, var(--teal-dark))}.piece.moving{z-index:20;pointer-events:none;will-change:transform;animation:.42s cubic-bezier(.2,.78,.2,1) both capture-flight}@keyframes capture-flight{0%{transform:translate(0)scale(1)}76%{transform:translate(var(--move-x), var(--move-y)) scale(1.13)}to{transform:translate(var(--move-x), var(--move-y)) scale(.92)}}@keyframes capture-impact{0%{opacity:0;transform:scale(.55)}68%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.38)}}.waiting-overlay,.result-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--white);background:#173332e0;border-radius:14px;place-items:center;display:grid;position:absolute;inset:63px 14px 14px}.waiting-overlay{text-align:center;align-content:center;gap:11px}.waiting-overlay p{margin:10px 0 0;font-size:23px;font-weight:800}.waiting-overlay>span{color:#b7c5c2;font-size:13px}.waiting-overlay button{color:var(--white);background:0 0;border:1px solid #fff3;border-radius:9px;padding:8px 12px;font-weight:800}.room-code{color:var(--lime);letter-spacing:.14em;font-size:44px}.radar{border:1px solid #d8e37759;border-radius:50%;width:78px;height:78px;position:relative}.radar i,.radar span{border:1px solid #d8e37759;border-radius:50%;position:absolute;inset:20%}.radar i+i{background:var(--lime);inset:40%}.radar span{border:0;border-top:2px solid var(--lime);animation:1.7s linear infinite radar;inset:-1px}@keyframes radar{to{transform:rotate(360deg)}}.result-card{background:var(--paper);width:min(450px,100% - 36px);color:var(--ink);text-align:center;border-radius:25px;padding:36px}.result-card h2{letter-spacing:-.05em;margin:0;font-size:42px}.final-score{justify-content:center;align-items:center;gap:15px;margin:19px 0;display:flex}.final-score b{font-size:50px}.final-score span{color:var(--red);font-family:Georgia,serif;font-size:36px}.result-card p{color:var(--muted);font-size:13px}.result-actions{gap:8px;margin-top:24px;display:grid}.result-actions .primary-button{justify-content:center;min-height:48px}.result-actions .secondary-button{border-color:var(--line);color:var(--ink)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0d201fb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.rules-modal{background:var(--paper);border-radius:28px;width:min(660px,100%);max-height:90vh;padding:clamp(27px,5vw,48px);position:relative;overflow:auto;box-shadow:0 30px 100px #00000040}.modal-close{background:#dfd9cc;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;position:absolute;top:16px;right:16px}.rules-modal h2{letter-spacing:-.05em;margin:0 0 25px;font-size:clamp(31px,5vw,48px)}.rules-modal ol{color:#536663;gap:15px;margin:0 0 27px;padding-left:22px;font-size:14px;line-height:1.55;display:grid}.rules-modal li::marker{color:var(--red);font-weight:900}.rules-modal b{color:var(--ink)}.rules-modal .primary-button{justify-content:center;width:100%}@media (width<=980px){.start-window{grid-template-columns:1fr}.play-column{max-width:720px}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:230px minmax(0,1fr)}.game-sidebar{padding:14px}}@media (width<=720px){.landing{padding:0 18px}.site-header{height:68px}.site-header-actions{gap:10px}.site-header .text-button{display:none}.start-window{gap:14px;margin:0 auto 22px}.play-column,.landing-rules{border-radius:20px;padding:18px}.start-intro h1{font-size:38px}.eyebrow,.card-kicker,.result-kicker{color:var(--teal-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:900}.bot-card{grid-template-columns:1fr}.bot-card .primary-button{grid-column:auto}.difficulty-row{width:max-content;max-width:100%}.difficulty{padding-inline:8px}.online-card{padding:27px 22px}.rules-heading{grid-template-columns:1fr;gap:10px}.rules-heading>p{font-size:13px}.rules-grid{grid-template-columns:1fr;gap:9px}.rules-grid li{min-height:0}.landing-footer{gap:18px}.game-header{padding:0 12px}.game-header .brand>span:last-child,.match-meta>span:last-child,.header-actions>button:not(.danger-link){display:none}.game-layout{flex-direction:column;display:flex}.game-sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.turn-card,.connection-warning,.instruction-card,.resign-button,.history-card,.chat-card,.notice-line,.game-message{grid-column:1/-1;margin:0}.player-card{margin:0}.instruction-card{margin-top:0}.notice-line{display:none}.board-panel{min-height:66vh;padding:9px}.board-viewport{min-height:520px}.waiting-overlay,.result-overlay{inset:58px 9px 9px}.game-shell{min-height:100svh}.game-header{z-index:20;height:58px;padding-right:max(10px, env(safe-area-inset-right));padding-left:max(10px, env(safe-area-inset-left));position:sticky;top:0}.game-header .brand-mark{width:28px;height:28px}.match-meta,.header-actions{gap:5px}.mode-chip{padding:6px 8px;font-size:10px}.header-actions button{min-height:36px;padding:6px 8px}.game-layout{min-height:calc(100svh - 58px);padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.game-sidebar{display:contents}.turn-card{border-radius:12px;order:-50;grid-column:1/-1;min-height:48px;margin:0;padding:9px 12px}.turn-orb{width:27px;height:27px}.connection-warning{order:-49;grid-column:1/-1}.player-card{border-radius:12px;order:-48;gap:7px;min-width:0;margin:0;padding:9px}.player-identity{gap:7px;min-width:0}.piece-preview{width:23px;height:23px}.player-card>b{font-size:21px}.player-clock{padding:5px 6px}.instruction-card{order:-47;grid-column:1/-1;margin:0;padding:10px 12px}.instruction-card>p{display:none}.placement-budget{margin-top:7px}.pass-button{min-height:40px;margin-top:8px}.board-panel{order:-40;grid-column:1/-1;min-height:0;padding:0;overflow:visible}.board-toolbar{align-items:center;min-height:42px;padding:0 2px 7px}.board-toolbar>div:first-child span{display:none}.board-toolbar-actions{min-width:0}.zoom-controls{gap:3px}.zoom-controls button{width:34px;height:34px}.board-viewport{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;border-radius:12px;flex:none;width:100%;height:min(64svh,620px);min-height:390px}.board{margin:14px}.waiting-overlay,.result-overlay{border-radius:12px;inset:42px 0 0}.history-card,.chat-card,.resign-button,.notice-line,.game-message{order:0;grid-column:1/-1}.chat-log{max-height:170px}.resign-button{min-height:42px}}@media (width<=480px){.language-switch button,.site-header .language-switch button,.header-actions .language-switch button{min-width:30px;padding-inline:6px}.header-actions .danger-link{padding-inline:5px;font-size:11px}.game-layout{gap:6px;padding-inline:6px}.turn-card strong,.player-identity strong{font-size:11px}.player-identity small,.player-clock{font-size:9px}.player-clock span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-clock strong{font-size:11px}.board-toolbar strong{font-size:12px}.zoom-controls span{width:36px;font-size:10px}.final-position-button{padding-inline:7px;font-size:10px}.board-viewport{height:60svh;min-height:360px}.result-card,.waiting-overlay>div{max-width:calc(100vw - 28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
