@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}:root{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-synthesis:none;color:#18342e;background:#eef5f4;font-size:14px;--ink: #18342e;--muted: #526a65;--tint: #087f6b;--tint-soft: #d2f3e8;--glass-alpha: .35;--glass-strong-alpha: .455;--glass-control-alpha: .4025;--glass-edge-alpha: .315;--glass-shadow-alpha: .105;--glass-highlight-alpha: .35;--glass-filter: blur(8.4px) saturate(122.8%);--glass: rgba(255, 255, 255, var(--glass-alpha));--glass-strong: rgba(248, 253, 252, var(--glass-strong-alpha));--glass-control: rgba(255, 255, 255, var(--glass-control-alpha));--glass-edge: rgba(255, 255, 255, var(--glass-edge-alpha));--line: rgba(70, 106, 95, .14);--shadow: 0 16px 46px -24px rgba(28, 72, 62, var(--glass-shadow-alpha)), inset 0 1px 0 rgba(255, 255, 255, var(--glass-highlight-alpha))}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 6% 12%,#c1eedf 0,transparent 46%),radial-gradient(ellipse at 93% 35%,#cedef6 0,transparent 46%),radial-gradient(ellipse at 48% 96%,#e8dcf0 0,transparent 50%),#eef5f4;background-attachment:fixed}body[data-setting=library]{background-image:radial-gradient(ellipse at 6% 12%,#f3ddc9,transparent 46%),radial-gradient(ellipse at 93% 35%,#e1dbef,transparent 46%),radial-gradient(ellipse at 48% 96%,#d8ebe5,transparent 50%)}body[data-setting=moonlight]{background-image:radial-gradient(ellipse at 6% 12%,#c3d5ef,transparent 46%),radial-gradient(ellipse at 93% 35%,#d5c9ed,transparent 46%),radial-gradient(ellipse at 48% 96%,#c5e6e6,transparent 50%)}button,select,input{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;min-height:44px;padding:11px 17px;border-radius:999px;font-weight:600;transition:background .18s,box-shadow .18s,transform .18s}button:disabled{opacity:.43;cursor:default}button:not(:disabled):active{transform:scale(.97)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #168fd1;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(27px,3vw,36px);line-height:1.12}h2{font-size:25px;line-height:1.3}h3{font-size:15px;letter-spacing:-.02em}small{display:block}.muted{color:var(--muted);line-height:1.65}.topbar,.hud-panel,.game-card,.help-card,.history-card,.navigation-card,.replay-controls,dialog,.view-controls,.board-announcement-card,.result-reopen{background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}.topbar{position:fixed;z-index:20;top:max(18px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));margin:0;min-height:68px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;font-weight:600;letter-spacing:-.9px}.brand strong{color:var(--tint);font-weight:600}.brand small{font-size:10px;font-weight:400;letter-spacing:.02em;color:var(--muted);margin-top:4px}.brand-mark{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;font:36px/1 Georgia,serif;color:#08765f;background:linear-gradient(145deg,#ffffffd9,#b9e9dac9);border:1px solid #fff;box-shadow:inset 0 1px #fff,0 4px 12px #226d5412}.top-actions{display:flex;align-items:center;gap:14px}.local-badge{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;color:#3f5b53;font-size:11px;font-weight:600;border-radius:999px;background:#ffffff48}.local-badge i{width:6px;height:6px;border-radius:50%;background:#159b71;box-shadow:0 0 0 3px #2ca97b14}.outline{color:var(--ink);background:var(--glass-control);border:1px solid var(--glass-edge);box-shadow:inset 0 1px rgba(255,255,255,var(--glass-highlight-alpha))}.outline:hover:not(:disabled){background:#ffffffb8;box-shadow:0 5px 16px #234f3e12,inset 0 1px #fff}.primary{background:linear-gradient(145deg,#149681,#087663);color:#fff;border:1px solid #ffffff55;box-shadow:inset 0 1px #ffffff3b,0 6px 14px #08766326}.primary:hover:not(:disabled){background:linear-gradient(145deg,#0d8c78,#056451)}.full{width:100%;display:flex;justify-content:space-between;align-items:center}.game-layout{position:fixed;inset:0;z-index:0;pointer-events:none}.play-area{display:contents}.play-area,.sidebar{min-width:0}.section-heading{position:relative;padding:16px 18px;border-radius:24px}.section-heading h1{font-size:26px}.section-heading .preview-label{position:absolute;top:13px;right:12px;max-width:105px;overflow:hidden;text-overflow:ellipsis;font-size:8px;padding:4px 7px}.eyebrow{display:block;color:#52766b;font-size:9px;font-weight:600;letter-spacing:.15em;margin-bottom:7px}.preview-label{padding:7px 11px;border-radius:999px;font-size:10px;font-weight:600;color:#4d6c60;background:#ffffff70;border:1px solid #ffffffb3;white-space:nowrap}.board-stage{position:fixed;inset:0;z-index:0;width:100%;height:100%;overflow:hidden;isolation:isolate;pointer-events:auto;background:#b7caba}.board-stage canvas{display:block;width:100%;height:100%;touch-action:none}.scene-caption{display:none}.scene-caption span{display:block}.bottom-hud{position:fixed;z-index:10;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:300px minmax(0,600px) 300px;justify-content:space-between;align-items:end;pointer-events:none}.view-controls{display:flex;align-items:center;width:fit-content;padding:5px;gap:2px;border-radius:999px;background:var(--glass);pointer-events:auto}.view-controls button{display:grid;place-items:center;padding:4px;width:42px;height:42px;min-height:42px;font-size:22px;font-weight:400;background:transparent;color:#173e32;border-radius:50%}.view-controls button:last-child{font-size:12px;font-weight:600}.view-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.view-controls button:hover:not(:disabled){background:#ffffff9c}.view-controls button[aria-pressed=true]{background:#ffffffbc;box-shadow:0 3px 9px #244d3c1a}.view-controls>span{width:1px;height:20px;margin:0 2px;background:#4c7c5829}.players-card{padding:2px 12px;border-radius:24px}.player-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;min-height:65px}.player-strip+.player-strip{border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;flex-shrink:0;width:41px;height:41px;border-radius:15px;border:1px solid #ffffffdb;background:#ffffff91;box-shadow:inset 0 1px #fff,0 5px 14px #295a4509;font-size:24px}.avatar.black{background:#d5e5df91}.player-strip strong{font-size:13px;letter-spacing:-.02em}.player-strip small{margin-top:4px;font-size:10px;color:var(--muted)}.player-state{margin-left:auto;padding:7px 11px;border-radius:999px;color:#61796f;font-size:10px;white-space:nowrap}.player-strip.active .player-state{color:#06715a;background:#ffffff9c;border:1px solid #ffffffd9;box-shadow:0 3px 11px #2a614310}.captured{flex-basis:100%;margin-left:49px;color:#325343;font:17px Georgia,serif;letter-spacing:-2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.captured:empty{display:none}.replay-dock{width:100%;min-width:0;pointer-events:none}.replay-dock>*{pointer-events:auto}.board-instruction{margin:3px 10px 5px;text-align:center;color:#577569;font-size:10px;line-height:1.7}.replay-controls{margin:0;padding:13px 18px 10px;border-radius:22px}.replay-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.replay-heading label{font-weight:600;white-space:nowrap}.replay-heading output{color:var(--muted);font-size:10px;text-align:right}.replay-track{display:flex;align-items:center;gap:14px;margin:7px 0 3px}.replay-track button{flex-shrink:0;width:36px;height:36px;min-height:36px;padding:0;font-size:25px}.replay-track input{width:100%;min-width:0;height:35px;margin:0;accent-color:var(--tint);cursor:pointer}.replay-controls p{color:var(--muted);font-size:10px;line-height:1.6}.board-stage[data-historical=true]{outline:3px solid #c79035;outline-offset:-3px}.history-banner{position:absolute;z-index:4;left:50%;top:110px;transform:translate(-50%);width:min(520px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid #d2a353;border-radius:20px;background:#fff2d9f5;color:#624109;box-shadow:0 5px 20px #39270824}.history-banner strong,.history-banner span,.history-banner small{display:block}.history-banner strong{font-size:14px;letter-spacing:-.02em}.history-banner span{margin-top:4px;font-size:12px}.history-banner small{margin-top:5px;font-size:10px;line-height:1.5}.history-banner button{flex-shrink:0;font-size:11px;color:#624109;background:#fffaf0;border-color:#e2c187}.table-dock,.controls-dock{position:fixed;z-index:10;top:max(104px,calc(env(safe-area-inset-top) + 86px));pointer-events:none}.table-dock{left:max(24px,env(safe-area-inset-left));width:270px}.controls-dock{right:max(24px,env(safe-area-inset-right));width:300px}.dock-toggle{display:flex;align-items:center;justify-content:space-between;width:fit-content;min-height:44px;padding:11px 16px;margin-bottom:12px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;list-style:none;pointer-events:auto}.controls-dock>.dock-toggle{margin-left:auto}.dock-toggle::-webkit-details-marker{display:none}.dock-toggle:after{content:"⌄";display:inline-block;margin-left:16px}details[open]>.dock-toggle:after{transform:rotate(180deg)}.dock-toggle:focus-visible,.game-options summary:focus-visible,.history-card summary:focus-visible{outline:3px solid #168fd1;outline-offset:3px}.table-hud,.sidebar{display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 280px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#719f8f66 transparent;padding:0 3px 8px;pointer-events:none}.sidebar{max-height:calc(100dvh - 180px)}.table-hud>*,.sidebar>*{flex-shrink:0;pointer-events:auto}.navigation-card{border-radius:27px;padding:20px 22px}.navigation-card>p{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0}.navigation-card .navigation-help{font-size:10px;margin-bottom:0}.navigation-card .navigation-sensitivity{margin-top:18px;padding-bottom:0}.navigation-badge{font-size:9px;color:var(--muted);max-width:160px;text-align:right}.navigation-badge[data-connected=true]{color:var(--tint)}.navigation-card details{margin-top:15px}.navigation-card summary{cursor:pointer;font-size:11px;padding:6px 0 12px}.navigation-card summary:focus-visible{outline:3px solid #168fd1;outline-offset:3px}.navigation-card .check-row{margin:10px 0}.navigation-card input[type=range]{width:100%;accent-color:var(--tint);min-height:32px;cursor:pointer}.game-card,.help-card,.history-card{border-radius:27px}.game-card{padding:20px 20px 16px}.game-card h2{font-size:23px}.game-card>.muted{font-size:11px;margin:8px 0 12px}.game-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0}.game-options summary{cursor:pointer;font-size:11px;font-weight:600;min-height:24px;line-height:24px}.game-options[open]{padding-bottom:16px}.field-label{display:block;margin:17px 0 8px 3px;font-size:10px;font-weight:600;color:#4e6c61}select{width:100%;min-height:45px;padding:11px 30px 11px 14px;border:1px solid var(--glass-edge);border-radius:15px;color:var(--ink);background:var(--glass-control);box-shadow:inset 0 1px rgba(255,255,255,var(--glass-highlight-alpha));font-size:12px;cursor:pointer}select:hover{background:#ffffffad}.check-row{display:flex;align-items:center;gap:12px;padding:8px 2px;margin:17px 0;font-size:12px;font-weight:600;cursor:pointer}.check-row small{font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.check-row input{-webkit-appearance:none;appearance:none;position:relative;margin:0;width:38px;height:23px;flex-shrink:0;border-radius:999px;background:#8aa2994d;border:1px solid #567b5e18;cursor:pointer;transition:background .18s}.check-row input:after{content:"";position:absolute;left:2px;top:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #244b3a33;transition:transform .18s}.check-row input:checked{background:#139c79}.check-row input:checked:after{transform:translate(15px)}.glass-setting{border-top:1px solid var(--line);padding:17px 2px 8px;margin-top:3px}.glass-setting-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:600}.glass-setting output{font-size:10px;color:#08765a;font-variant-numeric:tabular-nums}.glass-setting input{appearance:none;-webkit-appearance:none;width:100%;height:32px;margin:8px 0 0;background:transparent;cursor:pointer}.glass-setting input::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,#a6d4c5,#078866)}.glass-setting input::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;margin-top:-8px;border:1px solid #e5f0e9;border-radius:50%;background:#fff;box-shadow:0 2px 6px #1a4a3540}.glass-setting input::-moz-range-track{height:5px;border-radius:999px;background:linear-gradient(90deg,#a6d4c5,#078866)}.glass-setting input::-moz-range-thumb{width:21px;height:21px;border:1px solid #e5f0e9;border-radius:50%;background:#fff;box-shadow:0 2px 6px #1a4a3540}.glass-setting input:disabled{cursor:default;opacity:.45}.glass-range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.glass-setting p{margin-top:8px;color:var(--muted);font-size:9px;line-height:1.6}.button-row{display:flex;gap:8px;margin:12px 0}.button-row>*{flex:1;min-width:0}.button-row button{font-size:11px;padding:10px 8px}.game-card>.primary{font-size:12px;margin-top:12px}.save-note{color:#60786d;font-size:9px;line-height:1.6;text-align:center;margin-top:13px}.help-card{padding:19px 21px}.help-card p{color:#46685a;font-size:11px;line-height:1.8}.history-card{padding:15px 19px 12px}.history-card summary{cursor:pointer;font-size:14px;font-weight:600;min-height:30px;line-height:30px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.text-button{min-height:34px;padding:5px 4px;font-size:10px;font-weight:600;color:#126f58;background:transparent}.text-button:hover{background:#ffffff70}.move-history{height:142px;overflow:auto;margin-top:8px;scrollbar-width:thin;scrollbar-color:#719f8f55 transparent}.empty-history{color:#5b786b;text-align:center;font-size:12px;line-height:1.9;padding:25px 8px}.move-row{display:grid;grid-template-columns:30px 1fr 1fr;padding:8px 11px;border-radius:11px;font-size:11px;font-variant-numeric:tabular-nums}.move-row:nth-child(odd){background:#ffffff5c}.move-row span:first-child{color:#658174}.move-row:last-child{color:#006f52;font-weight:600}.move-link{color:inherit;background:transparent;border-radius:7px;min-height:30px;padding:5px 7px;font-size:11px;text-align:left;font-weight:400}.move-link:hover{background:#ffffff80}.move-link[aria-current=step]{background:#fde9bb;color:#6c4403;font-weight:600;box-shadow:inset 0 0 0 1px #bf8b3438}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px;border-radius:18px;color:#59776a;font-size:9px}.sidebar-footer a{text-decoration:none}.sidebar-footer a:hover{text-decoration:underline}dialog{width:calc(100% - 30px);max-width:530px;max-height:calc(100dvh - 32px);color:var(--ink);border-radius:30px;padding:29px;background:var(--glass-strong)}dialog::backdrop{background:rgba(33,68,58,var(--glass-shadow-alpha));-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}dialog h2{font-size:28px}dialog p{font-size:12px;line-height:1.8;color:var(--muted);margin:13px 0 23px}.promotion-options{display:flex;gap:8px;margin:0 0 10px}.promotion-options button{flex:1;min-width:0;padding:12px 3px;border-radius:20px;border:1px solid #fff;background:#ffffff80;color:#087553;font:40px Georgia,serif}.promotion-options button:hover{background:#d9f5e9}.promotion-options span{display:block;margin-top:5px;font:11px Inter,sans-serif}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.collection-grid label{min-width:0;font-size:11px;color:#4d6c60;font-weight:600}.collection-grid select{display:block;margin-top:8px;font-weight:400}.collection-banner{border-radius:18px;padding:16px;background:#d5eee257;border:1px solid #ffffffb3;font-size:12px;line-height:1.7}.collection-banner small{color:#506f61;font-size:10px;margin-top:8px}.flat-board{position:absolute;inset:0;width:min(calc(100vw - 670px),calc(100dvh - 270px));height:min(calc(100vw - 670px),calc(100dvh - 270px));margin:auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));border:8px solid #4e3c2c;box-shadow:0 14px 32px #17352840}.flat-square{position:relative;display:flex;justify-content:center;align-items:center;padding:0;border:0;border-radius:0;min-height:0;font:clamp(24px,4vw,49px) Georgia,serif;color:#162b21;text-shadow:0 1px 1px #ffffff50}.flat-square.light{background:var(--sq-light, #e4cba3)}.flat-square.dark{background:var(--sq-dark, #785337)}.flat-square[data-color=w]{color:#fffaf0;text-shadow:0 1px 2px #1f291e,1px 0 #46523f,-1px 0 #46523f}.flat-square[data-color=b]{color:#14251c;text-shadow:0 1px #e8ede1,1px 0 #e8ede1,0 -1px #e8ede1,-1px 0 #e8ede1}.flat-square.selected{box-shadow:inset 0 0 0 4px #e8be4f}.flat-square.legal:after{content:"";position:absolute;width:23%;height:23%;border-radius:50%;background:#319969aa;pointer-events:none}.flat-square.capture:after{width:85%;height:85%;background:none;border:4px solid #50a66e}.flat-square.last{background-image:linear-gradient(#d8c26955,#d8c26955)}.flat-square.checked{box-shadow:inset 0 0 0 4px #d16853}.flat-square small{position:absolute;bottom:2px;left:3px;font:8px Inter,sans-serif;color:#1b3825;text-shadow:none;opacity:.8}.flat-square.dark small{color:#fff3df;text-shadow:0 1px 1px #14251c;opacity:1}.flat-square:focus-visible{z-index:1;outline-offset:-4px}.flat-square:not(:disabled):active{transform:none}.board-announcement{position:absolute;z-index:3;top:110px;left:50%;width:min(390px,calc(100% - 32px));transform:translate(-50%);pointer-events:none;text-align:center}.board-announcement-card{border-radius:24px;padding:17px 22px;background:var(--glass-strong)}.board-announcement-heading{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:7px}.board-announcement-heading .eyebrow{margin-bottom:0;color:#08775c}.board-announcement h2{font-size:clamp(19px,2.2vw,27px);line-height:1.25}.board-announcement p{color:#456758;margin-top:9px;font-size:11px;line-height:1.6}.board-announcement[data-finished=true]{top:50%;transform:translate(-50%,-50%)}.board-announcement[data-finished=false]{top:110px;width:max-content;max-width:calc(100% - 32px)}.board-announcement[data-finished=false] .board-announcement-card{padding:11px 18px;border-radius:20px}.board-announcement[data-finished=false] .board-announcement-heading{margin-bottom:3px}.board-announcement[data-finished=false] h2{font-size:16px}.board-announcement[data-finished=false] p{display:none}.board-announcement[data-finished=true] .board-announcement-card{padding:28px 26px 23px;background:var(--glass-strong)}.board-announcement button{margin-top:18px;min-height:44px;font-size:12px;pointer-events:auto;background:var(--glass-control)}.result-reopen{position:absolute;z-index:3;top:110px;left:50%;transform:translate(-50%);min-height:40px;font-size:11px;background:var(--glass)}.result-reopen:not(:disabled):active{transform:translate(-50%) scale(.97)}.turn-pill{display:none;position:absolute;z-index:3;top:110px;left:50%;transform:translate(-50%);padding:11px 17px;border-radius:999px;font-size:11px;font-weight:600;pointer-events:none}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots i{width:5px;height:5px;border-radius:50%;background:#078d6a;animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}@keyframes thinking-pulse{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media(max-width:1100px){.turn-pill{display:block}.topbar{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}.table-dock{left:max(16px,env(safe-area-inset-left));width:260px}.controls-dock{right:max(16px,env(safe-area-inset-right));width:290px}.table-hud,.sidebar{max-height:calc(100dvh - 380px)}.bottom-hud{left:50%;right:auto;width:min(600px,calc(100vw - 32px));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.board-instruction{display:none}.flat-board{width:min(calc(100vw - 48px),calc(100dvh - 300px));height:min(calc(100vw - 48px),calc(100dvh - 300px))}}@media(max-width:740px){.topbar{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));padding:9px 12px;min-height:64px;border-radius:23px;gap:8px}.brand{font-size:17px;gap:8px}.brand small{display:none}.brand-mark{width:35px;height:35px;border-radius:12px;font-size:29px}.top-actions{gap:6px}.top-actions button{padding:8px 10px;min-height:38px;font-size:10px}.local-badge{display:none}.table-dock,.controls-dock{top:max(90px,calc(env(safe-area-inset-top) + 76px));width:min(300px,calc(100vw - 24px))}.table-dock{left:max(12px,env(safe-area-inset-left))}.controls-dock{right:max(12px,env(safe-area-inset-right))}.dock-toggle{padding:10px 13px;font-size:10px}.table-hud,.sidebar{max-height:calc(100dvh - 380px)}.history-banner{top:150px;align-items:flex-start;padding:11px 12px;gap:9px;border-radius:17px}.history-banner button{min-height:37px;max-width:114px;padding:8px 10px;font-size:10px}.history-banner strong{font-size:13px}.history-banner span{font-size:11px}.history-banner small{font-size:9px}.replay-controls{padding:11px 13px;border-radius:19px}.board-instruction{font-size:9px;margin-top:5px}.bottom-hud{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px)}.view-controls{padding:4px;gap:0}.view-controls button{width:36px;height:39px;min-height:39px;font-size:20px}.view-controls>span{margin:0 1px}.move-history{height:125px}.flat-board{width:min(calc(100vw - 24px),calc(100dvh - 300px));height:min(calc(100vw - 24px),calc(100dvh - 300px));border-width:5px}.flat-square{font-size:clamp(24px,8vw,46px)}.board-announcement{top:150px;width:min(390px,calc(100% - 24px))}.board-announcement-card{padding:14px 17px;border-radius:21px}.board-announcement p{font-size:10px}.board-announcement[data-finished=true] .board-announcement-card{padding:23px 19px 20px}.collection-grid{gap:13px}.collection-grid select{font-size:11px;padding-left:11px}dialog{padding:23px;border-radius:27px}dialog h2{font-size:25px}}@media(max-width:480px){.brand>span:last-child{display:none}.top-actions button{padding:8px 9px}.replay-heading{gap:8px}.replay-heading output{font-size:9px}}@media(max-width:359px){.topbar{padding:8px 10px}.top-actions{gap:4px}.top-actions button{padding:8px 7px;font-size:9px}.view-controls button{width:33px}}@media(max-height:700px)and (max-width:740px){.history-banner small{display:none}}@media(max-height:620px)and (min-width:741px){.table-hud,.sidebar{max-height:calc(100dvh - 270px)}.replay-controls p,.board-instruction{display:none}.bottom-hud{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));width:auto;transform:none;flex-direction:row;justify-content:space-between;align-items:end}.replay-dock{width:min(400px,45vw)}.flat-board{width:min(calc(100vw - 440px),calc(100dvh - 190px));height:min(calc(100vw - 440px),calc(100dvh - 190px))}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.topbar,.hud-panel,.game-card,.help-card,.history-card,.navigation-card,.replay-controls,dialog,.view-controls,.board-announcement-card,.result-reopen{background:#f6fcf9}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--glass: #f6fcf9;--glass-strong: #f6fcf9;--glass-edge: #b6ccc2;--muted: #365a4a}.topbar,.hud-panel,.game-card,.help-card,.history-card,.navigation-card,.replay-controls,dialog,.view-controls,.board-announcement-card,.result-reopen{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f6fcf9}.outline,select{background:#fff;border-color:#93b1a3}.preview-label,.local-badge,.player-strip.active .player-state,.collection-banner{background:#e1f3e9;border-color:#93b1a3}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#193b3266}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.thinking-dots i{opacity:1}}.platform-dialog{width:min(510px,calc(100vw - 30px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink)}.platform-dialog[open]{display:block}.platform-dialog h2{margin:12px 0}.platform-dialog h3{font-size:16px;margin:19px 0 10px}.platform-dialog p{line-height:1.6}.platform-dialog input:not([type=checkbox]),.platform-dialog textarea{display:block;width:100%;min-width:0;min-height:46px;border:1px solid #72998b80;border-radius:13px;background:var(--glass-strong);color:inherit;padding:12px 13px;font:inherit;font-size:14px;box-sizing:border-box}.platform-dialog input:focus-visible,.platform-dialog textarea:focus-visible{outline:3px solid #119d7e;outline-offset:2px}.platform-dialog form>button{margin-top:15px}.platform-dialog .field-label{margin-top:16px}.platform-dialog details{margin:18px 0;border-top:1px solid #72998b55;padding-top:14px}.platform-dialog summary{cursor:pointer;font-size:13px;font-weight:650}.platform-dialog .small-note{font-size:11px}.platform-notice{min-height:22px;font-size:13px;color:#215d4f}.platform-notice[data-error=true],.danger-zone{color:#8b3535}.social-buttons{display:grid;gap:10px;margin-top:20px}.auth-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.auth-tabs [aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}.platform-dialog .button-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.platform-dialog .button-row>button{flex:1 1 auto;font-size:12px}.danger-button{background:#923d3d;color:#fff;border:1px solid #923d3d;border-radius:13px;padding:12px 16px;font:inherit;cursor:pointer}.danger-zone .danger-button{margin-top:14px}.library-dialog{width:min(680px,calc(100vw - 30px))}.quick-play-entry{display:flex;align-items:center;gap:18px;padding:20px;margin:22px 0;border:1px solid #429d8260;border-radius:18px;background:linear-gradient(120deg,#16a98518,#568ca00c)}.quick-play-entry h3{margin:7px 0;font-size:17px;letter-spacing:-.4px}.quick-play-entry p{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}.quick-play-entry>button{flex-shrink:0}.matchmaking-dialog{width:min(520px,calc(100vw - 30px))}.matchmaking-dialog h2{font-size:34px;letter-spacing:-1.3px;margin-bottom:8px}.matchmaking-intro{color:var(--muted);margin-top:0}.matchmaking-skill{display:grid;gap:6px;padding:17px 19px;border-left:3px solid #29ac91;background:#119d7e13;border-radius:3px 14px 14px 3px;margin:22px 0}.matchmaking-skill>span{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.matchmaking-skill>strong{font-size:16px;line-height:1.5;font-weight:650}.matchmaking-skill>small{font-size:11px;line-height:1.5;color:var(--muted)}.matchmaking-dialog select{width:100%;min-height:46px}.matchmaking-search{text-align:center;border:1px solid #429d8255;border-radius:18px;padding:22px 20px;background:#119d7e08}.matchmaking-search h3{font-size:18px;margin:12px 0 8px}.matchmaking-search p{font-size:13px;color:var(--muted)}.matchmaking-orbit{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border:1px solid #29ac9155;border-radius:50%;font-size:29px;background:#29ac9120;animation:matchmaking-pulse 2.4s ease-in-out infinite}.matchmaking-dialog .matchmaking-fine-print{font-size:10px;line-height:1.65;color:var(--muted);margin:17px 0 0;padding-top:15px;border-top:1px solid #72998b33}.matchmaking-dialog .platform-notice{margin:12px 0 3px}#matchmaking-existing{padding:1px 0 13px}#board-stage[data-historical=true] #quick-game-skill{display:none}.quick-game-skill{font-variant-numeric:tabular-nums}@keyframes matchmaking-pulse{50%{box-shadow:0 0 0 9px #29ac910c}}@media(max-width:540px){.quick-play-entry{flex-direction:column;align-items:stretch;gap:14px;padding:17px}.quick-play-entry>button{align-self:stretch}.matchmaking-dialog h2{font-size:30px}.matchmaking-skill{padding:15px 14px}}.saved-games{display:grid;gap:11px}.save-card{padding:15px;border:1px solid #72998b55;border-radius:18px;min-width:0}.save-card[data-current=true]{border-color:#119d7e}.save-card strong{overflow-wrap:anywhere}.save-card p{margin:5px 0 9px;font-size:11px;color:var(--muted)}.save-card .save-actions{display:flex;flex-wrap:wrap;gap:7px}.save-actions button{font-size:11px;min-height:38px;padding:8px 12px}.save-card input{margin-bottom:10px}#invite-panel,#join-panel{margin-top:18px;padding:15px;border:1px solid #119d7e70;border-radius:18px}#invite-panel input{font-size:12px;margin-bottom:10px}#online-controls{font-size:12px;padding-top:12px;border-top:1px solid #72998b55}#online-controls button{font-size:11px}@media(max-width:740px){.platform-dialog{padding:21px}}.header-controls{display:flex;align-items:center;gap:12px}.header-controls>.primary{font-size:12px}.app-menu>summary{display:none;list-style:none;cursor:pointer}.device-shortcut{display:flex;align-items:center;gap:8px;font-size:11px}.device-dot{width:7px;height:7px;border-radius:50%;background:#8aa299}.device-shortcut[data-connected=true] .device-dot{background:#0a9874;box-shadow:0 0 0 3px #0a987415}.game-format{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 15px}#btn-game-options{font-size:11px}.settings-dialog{width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.settings-intro{margin-bottom:18px}.settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;margin-bottom:22px;border:1px solid var(--glass-edge);border-radius:18px;background:var(--glass-control)}.settings-tabs button{min-height:42px;padding:8px 6px;font-size:11px;color:var(--muted);background:transparent;border-radius:13px}.settings-tabs [aria-selected=true]{color:#fff;background:var(--tint);box-shadow:0 3px 10px #123f321a}.collection-preview{display:flex;align-items:center;justify-content:center;gap:25px;padding:18px;border:1px solid var(--glass-edge);border-radius:22px;background:conic-gradient(var(--preview-light) 25%,var(--preview-dark) 0 50%,var(--preview-light) 0 75%,var(--preview-dark) 0) 0 0 / 52px 52px}.collection-preview>div{display:flex;flex-direction:column;align-items:center;min-width:100px;padding:10px 13px;border-radius:17px;color:#173e35;background:#f4faf0ed;box-shadow:0 4px 14px #102d3225}.collection-preview>b{color:#fff;font-size:23px;text-shadow:0 1px 4px #173e35}.collection-preview span{font-size:35px;line-height:1.3}.collection-preview strong{font-size:13px}.collection-preview small{margin-top:3px;font-size:10px;color:#536c62}.collection-table-label{font-size:11px;text-align:center;margin:9px 0 20px;color:var(--muted)}@media(max-width:480px){.collection-preview{gap:12px;padding:13px}.collection-preview>div{min-width:80px;padding:9px}.collection-preview strong{font-size:11px}}.settings-dialog .navigation-card{padding:0;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.settings-dialog .glass-setting{margin-top:0;padding-top:14px}.settings-dialog .small-note,#new-dialog .small-note{font-size:11px;line-height:1.7;margin:10px 0 16px}.settings-dialog>.primary{margin-top:24px}.settings-dialog #btn-settings-reset-camera{margin-top:20px;font-size:12px}#new-dialog .button-row{margin-top:22px}body[data-motion=reduced] *,body[data-motion=reduced] *:before,body[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(max-width:1100px){.header-controls{gap:8px}.header-controls>.primary{min-height:40px;padding:10px 14px;font-size:11px}.device-shortcut{display:none}.app-menu>summary{display:block;min-height:40px;padding:11px 14px;font-size:11px;font-weight:600;border-radius:999px}.app-menu .top-actions{position:absolute;right:0;top:calc(100% + 12px);width:215px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.app-menu .top-actions button{width:100%;text-align:left;min-height:44px;padding:11px 14px;font-size:12px}.app-menu .local-badge{display:none}.brand>span:last-child{display:block}}@media(max-width:359px){.brand>span:last-child{display:none}}@media(min-width:1101px)and (min-height:621px){.flat-board{top:160px;bottom:160px;width:min(calc(100vw - 670px),calc(100dvh - 320px));height:min(calc(100vw - 670px),calc(100dvh - 320px))}#board-stage[data-historical=true] .flat-board{top:210px;bottom:160px;width:min(calc(100vw - 670px),calc(100dvh - 370px));height:min(calc(100vw - 670px),calc(100dvh - 370px))}}@media(min-width:741px)and (max-width:1100px)and (min-height:621px){.flat-board{top:200px;bottom:200px;width:min(calc(100vw - 48px),calc(100dvh - 400px));height:min(calc(100vw - 48px),calc(100dvh - 400px))}.history-banner{top:150px}.history-banner small{display:none}#board-stage[data-historical=true] .flat-board{top:230px;bottom:200px;width:min(calc(100vw - 48px),calc(100dvh - 430px));height:min(calc(100vw - 48px),calc(100dvh - 430px))}}@media(max-width:740px)and (orientation:portrait){.turn-pill,.result-reopen{top:150px}.flat-board{top:200px;bottom:200px;width:min(calc(100vw - 24px),calc(100dvh - 400px));height:min(calc(100vw - 24px),calc(100dvh - 400px))}.history-banner{top:140px}.history-banner small{display:none}#board-stage[data-historical=true] .flat-board{top:220px;bottom:200px;width:min(calc(100vw - 24px),calc(100dvh - 420px));height:min(calc(100vw - 24px),calc(100dvh - 420px))}}@media(max-height:620px)and (min-width:741px){.topbar{top:12px;min-height:56px;padding:8px 14px}.brand{font-size:17px}.brand small{display:none}.brand-mark{width:35px;height:35px;font-size:29px}.table-dock,.controls-dock{top:80px}.flat-board{top:74px;bottom:104px;width:min(calc(100vw - 440px),calc(100dvh - 178px));height:min(calc(100vw - 440px),calc(100dvh - 178px))}.flat-square{min-width:0;overflow:hidden;font-size:18px}.result-reopen,.turn-pill{left:24px;top:140px;transform:none}.result-reopen:not(:disabled):active{transform:scale(.97)}.history-banner{left:24px;top:140px;width:210px;transform:none;display:block}.history-banner small{display:none}.history-banner button{margin-top:9px;min-height:34px;padding:7px 10px}}.game-card p,.player-strip small,.help-card p,.replay-controls p,.replay-heading output{color:#2e4b42}.board-instruction{color:var(--ink);text-shadow:0 1px 2px #ffffffc9}:root{--play-accent:#7a73d9;--play-mint:#72dfbe}:root[data-theme=light]{--stage-day-background:radial-gradient(ellipse at 48% 35%,#f2eee8,#d6d9da 62%,#b8c3c7);--stage-evening-background:radial-gradient(ellipse at 48% 35%,#eee2cc,#c9baab 65%,#a89c96);--stage-dusk-background:radial-gradient(ellipse at 48% 35%,#c3d0e5,#8e9bb3 62%,#65738c)}[hidden]{display:none!important}.topbar{max-width:1060px;left:max(24px,calc((100vw - 1060px)/2));right:max(24px,calc((100vw - 1060px)/2));top:max(20px,env(safe-area-inset-top));min-height:72px;border-radius:26px;padding:11px 18px;gap:14px}.brand{font-size:21px;letter-spacing:-.9px;gap:11px;white-space:nowrap}.brand small{font-size:9px;letter-spacing:.035em;margin-top:5px}.brand-mark{width:44px;height:44px;border-radius:15px}.brand-mark svg{width:31px;height:31px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-controls{gap:9px}.header-controls>button{min-height:44px;padding:11px 16px;font-size:11px;white-space:nowrap}.wardrobe-shortcut span{margin-left:10px;color:var(--tint)}.app-menu>summary{display:block;list-style:none;min-height:44px;padding:12px 15px;font-size:11px;font-weight:600;cursor:pointer;border-radius:999px}.app-menu .top-actions{position:absolute;right:0;top:calc(100% + 13px);width:210px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:11px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.app-menu .top-actions button{width:100%;text-align:left;min-height:44px;font-size:12px}.app-menu .local-badge{display:none}.table-dock,.controls-dock{top:max(116px,calc(env(safe-area-inset-top) + 98px))}.table-dock{width:252px}.controls-dock{width:280px}@media(min-width:1101px){.table-dock{left:max(24px,calc((100vw - 1240px)/2))}.controls-dock,.play-area .piece-coach{right:max(24px,calc((100vw - 1240px)/2))}}.dock-toggle{font-size:11px;padding:11px 15px;gap:8px;margin-bottom:10px}.dock-toggle:after{margin-left:7px;opacity:.5}.dock-icon{font-size:16px;font-weight:400;color:var(--tint);line-height:1}.section-heading{display:none}.players-card{padding:2px 14px;border-radius:25px}.avatar{width:43px;height:49px;background-color:transparent!important;background-size:115% auto;background-position:50% 25%;background-repeat:no-repeat;border:0;box-shadow:none!important;border-radius:0}.player-strip{min-height:79px;gap:10px;padding:13px 0}.player-strip strong{font-size:13px}.player-strip small{font-size:9px}.player-state{padding:6px 8px;font-size:9px}.captured{font-size:16px;margin-left:53px}.history-card{border-radius:24px;padding:17px 19px}.history-card summary{font-size:12px}.game-card{border-radius:25px;padding:20px}.game-card h2{font-size:21px}.board-announcement[data-finished=false],.turn-pill{top:117px}.turn-pill{display:block;letter-spacing:.02em;font-size:11px;padding:12px 18px;border-radius:18px}.turn-pill:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:9px;background:var(--tint);box-shadow:0 0 0 4px #2cbb9415}.board-announcement[data-finished=false] .board-announcement-card{padding:11px 19px;border-radius:19px}.board-announcement[data-finished=false] .eyebrow{font-size:8px;letter-spacing:.16em}.board-announcement[data-finished=false] h2{font-size:15px;letter-spacing:-.025em}.bottom-hud{left:50%;right:auto;bottom:max(23px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 28px);transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:12px}.view-controls{padding:7px;gap:3px;border-radius:23px;width:max-content;max-width:100%}.view-controls button{width:44px;height:44px;min-height:44px;border-radius:15px}.view-controls #btn-flat{font-size:11px;font-weight:600}.view-controls .replay-toggle{width:auto;padding:0 14px;font-size:11px;font-weight:600;letter-spacing:0}.view-controls .replay-toggle[aria-expanded=true]{background:var(--tint);color:#fff}:root[data-theme=dark] .view-controls .replay-toggle[aria-expanded=true]{color:#14372f}.replay-dock{width:min(460px,calc(100vw - 28px));display:contents}.replay-controls{width:min(460px,calc(100vw - 28px));padding:15px 18px 11px;border-radius:24px}.replay-controls p{font-size:9px}.replay-heading label{font-size:11px}.board-instruction{display:none}.piece-coach{position:fixed;z-index:12;right:24px;bottom:110px;width:275px;padding:17px 19px;pointer-events:none;box-shadow:var(--shadow)}.piece-coach button{pointer-events:auto}.mobile-view-card{display:none}.coach-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-heading .eyebrow{margin:0;font-size:8px}.coach-heading button{min-height:22px;padding:1px 3px}.coach-heading{position:relative;padding-right:30px}.coach-heading button{position:absolute;right:-10px;top:-12px;min-width:44px;min-height:44px}.piece-coach h3{font-size:20px;margin:6px 0 9px;letter-spacing:-.04em}.piece-coach p{font-size:11px;line-height:1.65;color:var(--muted);margin:0}.piece-coach>button{margin-top:9px;font-size:10px;color:var(--tint)}.board-announcement[data-finished=true] .board-announcement-card{padding:28px;border-radius:31px}.board-announcement[data-finished=true] .board-announcement-heading:before{content:"✧";display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#c6a96a2b;color:#a68845;font-size:25px}.board-announcement[data-finished=true] h2{font-size:28px;letter-spacing:-.05em}.board-announcement[data-finished=true] button{pointer-events:auto;margin:16px 3px 0;font-size:11px}.board-announcement[data-finished=true] #btn-result-new{background:var(--tint);color:#fff}:root[data-theme=dark] .board-announcement[data-finished=true] #btn-result-new{color:#14372d}.lookbook,.learn-dialog{max-width:850px;width:calc(100vw - 32px);padding:30px 34px;border-radius:32px;scrollbar-width:thin;scrollbar-color:#819d9699 transparent}.lookbook h2,.learn-dialog h2,#new-dialog h2{font-size:38px;line-height:1.12;letter-spacing:-.055em;margin:8px 0 10px}.lookbook>p,.learn-dialog>p{font-size:12px;margin:0 0 22px}.lookbook .card-heading,.learn-dialog .card-heading{align-items:center}.card-heading .eyebrow{font-size:9px;margin:0}.card-heading>button[aria-label^=Close]{min-width:44px;min-height:44px}.lookbook .collection-preview{display:none}.lookbook .collection-table-label{margin:0 0 18px;text-align:left;font-size:10px;opacity:.8}.team-pickers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0 28px}.team-pickers h3{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:10px;letter-spacing:0}.side-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid #78908a88}.side-dot.white{background:#f2f6f1}.side-dot.black{background:#253a46}.team-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.team-choices+.team-choices{margin-top:10px}.opponent-view-options{margin:15px 0 20px;font-size:11px;line-height:1.6;color:var(--muted)}.auto-piece-choice{width:100%;min-height:44px;margin:0 0 9px;padding:10px 14px;border:1px solid var(--glass-edge);border-radius:13px;background:var(--glass-control);color:var(--ink);text-align:left;font-size:12px;font-weight:600}.auto-piece-choice span{margin-right:6px}.auto-piece-choice[aria-pressed=true]{border-color:var(--tint);box-shadow:inset 0 0 0 1px var(--tint);background:linear-gradient(145deg,#b3ecd82b,#aad3e91c)}#collection-status:empty{display:none}.team-choice{--piece-studio-top:#697684;--piece-studio-bottom:#394754;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;padding:0 0 14px;border-radius:22px;border:1px solid var(--glass-edge);color:var(--ink);background:var(--glass-control);text-align:center;overflow:hidden;min-width:0;transition:border-color .2s,transform .2s}.team-choice[id^=choose-black-]{--piece-studio-top:#e0dfd8;--piece-studio-bottom:#c3cbd1}.team-choice img{display:block;flex:none;box-sizing:border-box;width:100%;height:176px;padding:6px 2px;object-fit:contain;object-position:50% 50%;background:radial-gradient(ellipse at 50% 30%,var(--piece-studio-top),var(--piece-studio-bottom));filter:none;transform:none}.team-choice:hover{border-color:var(--tint)}.team-choice:hover img{transform:none}.team-choice:focus-visible{outline:3px solid #168fd1;outline-offset:3px}.team-choice strong{font-size:12px;font-weight:600;line-height:1.3;display:block;margin:9px 0 4px;padding:0 6px}.team-choice small{display:block;padding:0 6px;font-size:10px;color:var(--muted);font-weight:400;line-height:1.5}.team-choice[aria-pressed=true]{border-color:var(--tint);box-shadow:inset 0 0 0 1px var(--tint);background:var(--glass-control)}.team-choice[aria-pressed=true]:after{content:"";position:absolute;z-index:1;top:10px;right:10px;width:19px;height:19px;border-radius:50%;background:var(--tint)}.team-choice[aria-pressed=true]:before{content:"";position:absolute;z-index:2;top:16px;right:15px;width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg)}:root[data-theme=dark] .team-choice[aria-pressed=true]:before{border-color:#12382e}.look-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:12px}.look-heading h3{font-size:20px;letter-spacing:-.04em}.look-heading span{font-size:9px;color:var(--muted)}.look-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.look-card{border:1px solid var(--glass-edge);border-radius:21px;background:var(--glass-control);padding:0 0 13px;overflow:hidden;min-width:0;color:var(--ink);text-align:left}.look-card strong,.look-card small{display:block;margin-left:11px;margin-right:8px}.look-card strong{font-size:10px;font-weight:600;margin-top:8px}.look-card small{font-size:8px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:4px}.look-card[aria-pressed=true]{border-color:var(--tint);box-shadow:inset 0 0 0 1px var(--tint)}.mini-table{display:block;height:95px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 40% 0%,#eee5d8,#b9aa98);--tile-light:#e6cba6;--tile-dark:#785039;--frame:#4b3528}.mini-table:before{content:"";position:absolute;width:87px;height:87px;left:calc(50% - 43.5px);top:5px;background:conic-gradient(var(--tile-light) 25%,var(--tile-dark) 0 50%,var(--tile-light) 0 75%,var(--tile-dark) 0) 0 0/21.75px 21.75px;border:5px solid var(--frame);border-radius:5px;transform:perspective(240px) rotateX(43deg) rotate(-26deg);box-shadow:1px 5px #8e7753,4px 16px 16px #15292b38;transition:transform .3s}.look-card:hover .mini-table:before{transform:perspective(240px) rotateX(36deg) rotate(-20deg) translateY(-3px)}.mini-table.cloud{background:radial-gradient(ellipse at 40% 0%,#e8eef1,#9cabb5);--tile-light:#edf0f3;--tile-dark:#586677;--frame:#344452}.mini-table.golden{background:radial-gradient(ellipse at 40% 0%,#eed8b8,#ab8c72);--tile-light:#ced0c6;--tile-dark:#5e6e6a;--frame:#46534c}.mini-table.night{background:radial-gradient(ellipse at 40% 0%,#78839b,#1b293b);--tile-light:#b5c3d4;--tile-dark:#27384b;--frame:#172531}.fine-tune{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.fine-tune summary{font-size:10px;color:var(--muted);cursor:pointer}.fine-tune .collection-grid{margin:12px 0 0;gap:14px}.lookbook-footer,.lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.lookbook-footer p,.lesson-footer p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.lookbook-footer button,.lesson-footer button{flex-shrink:0;font-size:11px}.lesson-roles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:24px}.lesson-roles button{min-width:0;border:1px solid var(--glass-edge);border-radius:16px;padding:9px 4px;background:var(--glass-control);color:var(--muted);font-size:10px}.lesson-roles span{display:block;font:26px/1.2 Georgia,serif;margin-bottom:6px;color:var(--ink)}.lesson-roles button[aria-pressed=true]{border-color:var(--tint);background:#3cae8b22;color:var(--ink);box-shadow:inset 0 0 0 1px var(--tint)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.lesson-touch-hint{display:none}.lesson-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;border:7px solid #49685f;border-radius:14px;overflow:hidden;box-shadow:0 7px #29433b,0 18px 32px #0a201c20;background:#49685f}.lesson-square{position:relative;border-radius:0;padding:0;min-height:0;aspect-ratio:1;font:clamp(20px,3vw,36px)/1 Georgia,serif;color:#fff8e9;text-shadow:0 1px 2px #193d36,1px 0 #193d36,-1px 0 #193d36;display:grid;place-items:center;transition:background .15s}.lesson-square.light{background:#ecf0e7}.lesson-square.dark{background:#b1c8bd}.lesson-square[data-side=b]{color:#203f37;text-shadow:0 1px #edf4eb}.lesson-square[data-active=true]{box-shadow:inset 0 0 0 3px #be984e;background:#e5d6ad}.lesson-square[data-target=move]:after{content:"";width:24%;height:24%;border-radius:50%;background:#248f75;box-shadow:0 0 0 4px #3eac8825}.lesson-square[data-target=capture]:after{content:"";position:absolute;inset:8%;border:3px solid #18846b;border-radius:50%}.lesson-square[data-target]:not([data-target=""]):hover{background:#86d1b5}.lesson-square:focus-visible{outline:3px solid #2477c3;outline-offset:-3px;z-index:1}.lesson-square:not(:disabled):active{transform:none}.lesson-square[aria-disabled=true]{cursor:default}.lesson-pill{display:inline-flex;font-size:8px;font-weight:600;letter-spacing:.13em;background:#a8d4c12b;color:var(--tint);border:1px solid var(--line);border-radius:99px;padding:7px 10px}.lesson-notes h3{font-size:28px;letter-spacing:-.05em;line-height:1.1;margin:15px 0 12px}.lesson-notes p{font-size:11px;margin:0 0 16px;line-height:1.7}.lesson-notes #learn-feedback{min-height:40px;color:var(--tint);font-weight:600}.lesson-notes button{font-size:10px;padding:10px 13px;margin-bottom:15px}.lesson-notes small{font-size:9px;color:var(--muted);line-height:1.6}.lesson-footer strong{color:var(--ink)}#new-dialog{max-width:500px;padding:32px}#new-dialog .eyebrow{font-size:8px}#new-dialog h2{font-size:42px}#new-dialog>p{font-size:12px;line-height:1.7;margin:17px 0 23px}@media(max-width:1100px){.device-shortcut{display:none}}@media(max-width:740px){.topbar{left:14px;right:14px;top:max(13px,env(safe-area-inset-top));padding:9px 12px;min-height:62px;border-radius:23px;gap:8px}.brand{font-size:17px}.brand small{display:none}.brand-mark{width:36px;height:36px;border-radius:13px}.brand-mark svg{width:27px;height:27px}.header-controls{gap:6px}.header-controls>button{font-size:10px;min-height:44px;padding:10px 12px}.app-menu>summary{min-height:44px;padding:12px;font-size:10px}.table-dock,.controls-dock{top:90px;width:min(270px,calc(100vw - 28px))}.table-dock{left:14px}.controls-dock{right:14px}.dock-toggle{font-size:10px;padding:10px 12px;gap:6px}.dock-icon{font-size:13px}.board-announcement[data-finished=false],.turn-pill{top:145px;max-width:calc(100% - 32px)}.board-announcement[data-finished=false] h2{font-size:13px}.board-announcement[data-finished=false] .board-announcement-card{padding:10px 15px}.bottom-hud{bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100% - 22px);gap:10px}.view-controls{padding:6px;gap:2px;border-radius:21px}.view-controls button{width:44px;height:44px;min-height:44px}.view-controls .replay-toggle{padding:0 12px;font-size:10px}.view-controls>span{margin:0 1px}.view-controls svg{width:17px;height:17px}#btn-zoom-in,#btn-zoom-out,#camera-zoom-divider{display:none}.mobile-view-card{display:block;padding:16px 18px;border-radius:24px}.mobile-view-card h3{font-size:14px}.mobile-view-card p{font-size:10px;color:var(--muted);margin:10px 0 0}.camera-zoom-row{display:flex;align-items:center;gap:8px;margin-top:12px}.camera-zoom-row span{flex:1;font-size:11px}.camera-zoom-row button{width:44px;height:44px;padding:0;font-size:20px}.replay-controls{padding:13px 15px 9px}.replay-heading{gap:8px}.replay-heading output{font-size:9px}.replay-track{gap:9px}.piece-coach{left:14px;right:14px;bottom:91px;width:auto;padding:13px 16px}.piece-coach h3{font-size:17px;margin:4px 0 7px}.piece-coach p{font-size:10px}.piece-coach>button{font-size:9px;margin-top:3px}.lookbook,.learn-dialog{padding:24px 21px;width:calc(100vw - 24px);border-radius:27px}.lookbook h2,.learn-dialog h2{font-size:31px}.team-pickers{grid-template-columns:1fr;gap:15px}.team-choice img{height:168px}.team-choice strong{font-size:12px}.team-choice small{font-size:10px}.team-choices{gap:7px}.look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.look-card strong{font-size:11px}.look-card small{font-size:9px}.mini-table{height:100px}.lookbook-footer,.lesson-footer{align-items:stretch;flex-direction:column;gap:14px}.lookbook-footer p,.lesson-footer p{font-size:10px}.lesson-layout{grid-template-columns:1fr;gap:25px}.lesson-board{width:min(100%,340px);margin:auto}.lesson-notes h3{font-size:25px}.lesson-notes h3 br{display:none}.lesson-notes small{font-size:10px}.lesson-square{font-size:30px}.lesson-touch-hint{display:block;margin:0;font-size:11px;color:var(--tint);line-height:1.5;font-weight:600}.lesson-roles{gap:4px}.lesson-roles button{font-size:9px;border-radius:13px;padding:9px 2px}.lesson-roles span{font-size:24px}}@media(max-width:480px){.wardrobe-shortcut{font-size:0!important;width:44px;padding:8px!important}.wardrobe-shortcut span{font-size:17px;margin:0}.brand>span:last-child{display:block;font-size:15px}.header-controls>.primary{padding:10px 12px;font-size:10px}.team-pickers{grid-template-columns:1fr;gap:21px}.team-choice img{height:176px}.team-choice strong{font-size:12px}.team-choice small{font-size:10px}.lesson-roles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:379px){.brand>span:last-child{display:none}.brand{gap:0}.topbar{padding:9px 11px}}body[data-motion=reduced] .team-choice:hover img{transform:none}body[data-motion=reduced] .look-card:hover .mini-table:before{transform:perspective(240px) rotateX(43deg) rotate(-26deg)}@media(prefers-reduced-motion:reduce){.team-choice img,.mini-table:before{transition:none}.team-choice:hover img{transform:none}.look-card:hover .mini-table:before{transform:perspective(240px) rotateX(43deg) rotate(-26deg)}}.online-start{display:grid;gap:.7rem;padding:1rem 0;border-block:1px solid var(--line)}.online-start h3,.online-start p{margin:0}.online-start>button{justify-self:start}.invite-entry{display:flex;gap:.5rem}.invite-entry input{min-width:0;flex:1}.invite-entry button{flex-shrink:0}.game-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.35rem 0 1rem}.game-filters button{padding:.6rem .8rem;font-size:.8rem}.game-filters button[aria-pressed=true]{background:var(--tint);color:#fff;border-color:var(--tint)}.game-group-title{margin:.8rem 0 .2rem;font-size:.82rem;letter-spacing:.02em}.online-save-card{display:grid;gap:.5rem}.online-save-card p{margin:0;line-height:1.65}.game-state-badge{justify-self:start;font-size:.72rem;font-weight:750;border-radius:999px;padding:.3rem .6rem;background:color-mix(in srgb,var(--ink) 8%,transparent)}.game-state-badge[data-group=your-turn]{background:color-mix(in srgb,var(--tint) 20%,transparent);color:var(--tint)}#multiplayer-status[data-state=offline],#online-connection[data-state=offline]{color:var(--danger,#bd5c43)}.live-clocks{position:absolute;z-index:7;top:calc(var(--safe-top,0px) + 117px);left:50%;transform:translate(-50%);display:grid;grid-template-columns:minmax(66px,1fr) auto minmax(66px,1fr);align-items:center;gap:.25rem .8rem;min-width:228px;padding:.6rem .9rem;pointer-events:none;text-align:center;border-radius:20px}.live-clocks>div{display:grid;gap:.1rem;border-radius:10px;padding:.25rem .4rem}.live-clocks>div[data-running=true]{background:color-mix(in srgb,var(--tint) 13%,transparent)}.live-clocks span{font-size:.64rem;font-weight:650;opacity:.8}.live-clocks strong{font-size:1.35rem;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:.025em}.live-clocks small{font-size:.6rem;font-weight:850;letter-spacing:.12em;color:var(--tint)}.live-clocks p{grid-column:1/-1;font-size:.61rem;line-height:1.35;max-width:260px;margin:.1rem 0 0;opacity:.8}.draw-offer-card{position:absolute;z-index:12;left:50%;bottom:140px;transform:translate(-50%);width:min(330px,calc(100% - 32px));padding:1.1rem;border-radius:22px;text-align:center}.draw-offer-card p{font-size:.8rem;margin:.55rem 0 .9rem}.draw-offer-card .button-row{justify-content:center}.live-clocks[hidden],.draw-offer-card[hidden]{display:none}@media(max-width:700px){.live-clocks{top:calc(var(--safe-top,0px) + 145px);padding:.35rem .6rem;min-width:205px;gap:.1rem .5rem}.live-clocks strong{font-size:1.15rem}.live-clocks p{font-size:.57rem}.invite-entry{flex-wrap:wrap}.invite-entry input{flex-basis:100%}.invite-entry button{width:100%}.draw-offer-card{bottom:150px}.online-start>button{justify-self:stretch}}@media(prefers-reduced-motion:reduce){.live-clocks,.draw-offer-card{transition:none}}#board-stage[data-timed=true][data-historical=true] .history-banner{top:215px}@media(min-width:1101px)and (min-height:621px){#board-stage[data-timed=true] .flat-board{top:215px;bottom:160px;width:min(calc(100vw - 670px),calc(100dvh - 375px));height:min(calc(100vw - 670px),calc(100dvh - 375px))}#board-stage[data-timed=true][data-historical=true] .flat-board{top:310px;bottom:160px;width:min(calc(100vw - 670px),calc(100dvh - 470px));height:min(calc(100vw - 670px),calc(100dvh - 470px))}}@media(max-width:1100px)and (min-height:621px){#board-stage[data-timed=true][data-historical=true] .history-banner{top:235px}#board-stage[data-timed=true][data-historical=true] .flat-board{top:310px;bottom:200px;width:min(calc(100vw - 24px),calc(100dvh - 510px));height:min(calc(100vw - 24px),calc(100dvh - 510px))}}@media(max-height:620px)and (min-width:741px){.live-clocks{top:140px;left:auto;right:24px;transform:none}#board-stage[data-timed=true][data-historical=true] .history-banner{top:140px}}:root{--ui-primary-ink:#fff;--ui-status:#087f6b;--ui-history:#7877bd}:root[data-theme=dark]{--ui-primary-ink:#102f29;--ui-status:#9be4d1;--ui-history:#b6b5ed}button{border-radius:12px}.primary{background:var(--tint);color:var(--ui-primary-ink);border-color:transparent;box-shadow:0 3px 10px #0c4b3f18;font-weight:650}.primary:hover:not(:disabled){background:color-mix(in srgb,var(--tint) 88%,var(--ink));box-shadow:0 4px 12px #0c4b3f22}.outline{border-radius:12px}.text-button{border-radius:8px}:root[data-theme] .game-filters button[aria-pressed=true]{color:var(--ui-primary-ink)}.topbar{max-width:1240px;left:max(20px,env(safe-area-inset-left),calc((100vw - 1240px)/2));right:max(20px,env(safe-area-inset-right),calc((100vw - 1240px)/2));top:max(16px,env(safe-area-inset-top));min-height:56px;padding:0;gap:16px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme] .topbar{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.brand{gap:7px;min-height:44px;padding:6px 0;font-size:17px;font-weight:500;letter-spacing:-.45px;white-space:nowrap}.brand strong{color:inherit;font-weight:650}.brand small{display:none}.topbar .brand>.brand-wordmark{display:block}.topbar .brand .brand-mark{width:23px;height:23px;border:0;border-radius:0;background:none;color:var(--tint);box-shadow:none}.brand-mark svg{width:23px;height:23px;stroke-width:1.8}.brand-mark svg.folded-knight{stroke:none}.header-controls{gap:3px;padding:4px;border:1px solid var(--glass-edge);border-radius:15px;background:var(--glass);box-shadow:var(--shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.header-controls>button{min-height:44px;padding:9px 12px;font-size:12px;border-radius:10px}.header-controls #btn-new-header{min-width:94px;border-radius:12px;padding-inline:15px}.topbar :is(.wardrobe-shortcut,.device-shortcut,.app-menu>summary){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--ink);box-shadow:none;font-size:12px;font-weight:550}.topbar :is(.wardrobe-shortcut,.device-shortcut,.app-menu>summary):hover{background:var(--glass-control);color:var(--tint);box-shadow:none}.wardrobe-shortcut .customize-label{margin:0;color:inherit}.utility-icon{width:17px;height:17px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.app-menu{position:relative}.topbar .app-menu>summary{display:flex;list-style:none;padding:9px 11px;cursor:pointer}.app-menu>summary::-webkit-details-marker{display:none}.app-menu .top-actions{top:calc(100% + 12px);right:-4px;width:224px;padding:7px;gap:2px;border-radius:14px;background:var(--glass-strong)}.app-menu .top-actions :is(button,a){display:block;min-height:44px;border:0;border-radius:8px;padding:11px 12px;background:transparent;box-shadow:none;text-align:left;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none}.app-menu .top-actions :is(button,a):hover{background:var(--glass-control);color:var(--tint);box-shadow:none}.store-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--tint);text-underline-offset:4px}.table-dock,.controls-dock{top:max(90px,calc(env(safe-area-inset-top) + 74px))}.dock-toggle{min-height:44px;padding:7px 9px;margin-bottom:6px;border:0;border-radius:8px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:12px;font-weight:550;gap:7px;color:var(--ink)}.dock-toggle:hover{background:var(--glass-control)}.dock-toggle .dock-icon{font-size:15px;color:var(--muted)}.dock-toggle:after{content:"";width:5px;height:5px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:1}details[open]>.dock-toggle:after{transform:rotate(225deg)}details[open]>.dock-toggle{font-weight:650}.table-hud,.sidebar{gap:0;max-height:calc(100dvh - 192px);padding:17px 17px 9px;border:1px solid var(--glass-edge);border-radius:16px;background:var(--glass);box-shadow:var(--shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);pointer-events:auto}.dock-panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:0 0 13px;border-bottom:1px solid var(--line)}.dock-panel-heading h2{font-size:13px;letter-spacing:-.01em;font-weight:650}.dock-panel-heading>span{font-size:10px;color:var(--muted)}.table-hud>.players-card,.table-hud>.history-card,.table-hud>.sidebar-footer,.sidebar>.game-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.player-strip{min-height:81px;padding:15px 0;gap:9px}.player-strip small{font-size:10px;line-height:1.45}.player-state,.player-strip.active .player-state{padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:10px;color:var(--muted)}.player-strip.active .player-state{color:var(--ui-status);font-weight:650}.player-strip.active .player-state:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:2px}:root[data-theme=dark] .player-strip.active .player-state{background:none;border:0;box-shadow:none;color:var(--ui-status)}.table-hud>.history-card{padding:6px 0 12px;border-top:1px solid var(--line)}.history-card>summary{min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:550}.table-hud>.sidebar-footer{padding:8px 0 0;border-top:1px solid var(--line);font-size:10px}.sidebar>.game-card{padding-top:15px}.game-card>.eyebrow{display:none}.game-card h2{font-size:20px;letter-spacing:-.04em}.game-card :is(.muted,.game-format){font-size:12px;line-height:1.6}.game-card .game-format{padding-top:12px;border-top:1px solid var(--line)}.game-card>.primary{margin-top:14px}.game-card .save-note{font-size:10px}#online-controls{padding-top:12px;margin-top:14px;border-top:1px solid var(--line)}#online-controls>p{font-size:11px;line-height:1.6}#online-connection{padding-left:11px;position:relative;color:var(--muted)}#online-connection:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--ui-status)}#online-connection[data-state=offline]:before,#online-connection[data-state=reconnecting]:before{background:#c59759}.platform-notice:not(:empty),#online-action-status:not(:empty){padding:9px 0 9px 10px;border:0;border-left:2px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.turn-pill{top:99px;padding:6px 0 6px 13px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:12px;font-weight:550;letter-spacing:0;cursor:default}.turn-pill:before{position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;margin:0;background:var(--ui-status);box-shadow:none}.board-announcement[data-finished=false]{top:94px;max-width:calc(100% - 28px);text-align:left}.board-announcement[data-finished=false] .board-announcement-card{padding:8px 15px 9px;border:0;border-left:2px solid var(--ui-status);border-radius:0 10px 10px 0;background:var(--glass);box-shadow:none}.board-announcement[data-finished=false] .board-announcement-heading{justify-content:flex-start;gap:8px;margin-bottom:2px}.board-announcement[data-finished=false] .eyebrow{font-size:8px;letter-spacing:.08em;color:var(--muted)}.board-announcement[data-finished=false] h2{font-size:13px;font-weight:550;letter-spacing:-.01em}.board-announcement[data-state=check] .board-announcement-card{border-left-color:#b78748}.board-announcement[data-finished=true] .board-announcement-card{padding:27px;border:1px solid var(--glass-edge);border-radius:20px;background:var(--glass-strong);box-shadow:var(--shadow)}.board-announcement[data-finished=true] .board-announcement-heading{margin-bottom:12px}.board-announcement[data-finished=true] .board-announcement-heading:before{content:none}.board-announcement[data-finished=true] h2{font-size:26px;letter-spacing:-.045em}.board-announcement[data-finished=true] p{font-size:12px;color:var(--muted);margin-top:12px}.board-announcement[data-finished=true] button{border-radius:12px;font-size:12px;margin-top:20px}.board-announcement[data-finished=true] #btn-result-new{background:var(--tint);color:var(--ui-primary-ink)}.result-reopen{top:96px;min-height:44px;border-radius:10px;font-size:12px;padding:9px 13px}.history-banner{top:94px;border:0;border-left:3px solid var(--ui-history);border-radius:0 12px 12px 0;background:var(--glass-strong);color:var(--ink);box-shadow:var(--shadow);text-align:left}.history-banner strong{font-size:12px;letter-spacing:.01em;color:var(--ui-history)}.history-banner span{font-size:11px}.history-banner small{color:var(--muted)}.history-banner button{min-height:44px;background:transparent;color:var(--ink);border:1px solid var(--glass-edge);border-radius:10px}.live-clocks{top:96px;border:0;border-bottom:1px solid var(--glass-edge);border-radius:10px;background:var(--glass);box-shadow:none;cursor:default}.live-clocks>div{border-radius:5px}.live-clocks strong{font-size:1.4rem}.live-clocks p{font-size:10px}.draw-offer-card{border:0;border-left:3px solid var(--ui-status);border-radius:0 16px 16px 0;text-align:left;background:var(--glass-strong)}.draw-offer-card .button-row{justify-content:flex-start}.view-controls{padding:5px;gap:2px;border-radius:14px;border:1px solid var(--glass-edge);background:var(--glass);box-shadow:var(--shadow)}.view-controls button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:8px;background:transparent;color:var(--ink);box-shadow:none}.view-controls button:hover:not(:disabled){background:var(--glass-control)}.view-controls button[aria-pressed=true],.view-controls .replay-toggle[aria-expanded=true]{background:var(--tint);color:var(--ui-primary-ink);box-shadow:none}:root[data-theme=dark] .view-controls :is(button[aria-pressed=true],.replay-toggle[aria-expanded=true]){background:var(--tint);color:var(--ui-primary-ink);box-shadow:none}.view-controls .replay-toggle{min-width:62px;padding-inline:10px;border-radius:8px;font-size:12px}.view-controls>span{height:18px;margin:0 3px;background:var(--line)}.replay-controls{border-radius:14px;padding:14px 16px 10px;background:var(--glass-strong)}.replay-heading label{font-size:12px}.replay-heading output{font-size:11px}.replay-controls p{font-size:10px}.replay-track button{min-width:44px;min-height:44px;border-radius:8px}.flat-square.last{background-image:linear-gradient(#84d8c92b,#84d8c92b);box-shadow:inset 0 0 20px #81d8c536}.flat-square.last-to{background-image:linear-gradient(#a2e9da40,#a2e9da40);box-shadow:inset 0 0 0 2px #b7f0e5b3,inset 0 0 23px #7fcfbf55}.flat-square.selected,.flat-square.last.selected{box-shadow:inset 0 0 0 3px #7bbde7}.flat-square.checked,.flat-square.last.checked{box-shadow:inset 0 0 0 4px #d16853}.flat-square{border-radius:0}@media(max-width:900px){.topbar .header-controls>.device-shortcut{display:none}.topbar{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}.table-dock{left:max(18px,env(safe-area-inset-left))}.controls-dock{right:max(18px,env(safe-area-inset-right))}}@media(max-width:700px){.topbar{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));min-height:52px;gap:7px}.brand{font-size:16px;letter-spacing:-.4px;gap:5px;flex:0 0 auto}.header-controls{padding:3px;gap:2px;border-radius:13px;min-width:0;flex:0 0 auto}.header-controls #btn-new-header{min-width:84px;padding-inline:12px;font-size:12px}.topbar .wardrobe-shortcut{width:44px;min-width:44px;flex:0 0 44px;padding:0}.customize-label{display:none}.topbar .app-menu{min-width:44px;flex:0 0 44px}.topbar .app-menu>summary{width:44px;min-width:44px;padding:0}.menu-label{display:none}.table-dock,.controls-dock{top:max(77px,calc(env(safe-area-inset-top) + 65px))}.table-dock{left:max(12px,env(safe-area-inset-left))}.controls-dock{right:max(12px,env(safe-area-inset-right))}.dock-toggle{font-size:11px;padding:6px 8px}.table-hud,.sidebar{max-height:calc(100dvh - 168px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:15px 15px 8px;border-radius:14px}.turn-pill{top:max(132px,calc(env(safe-area-inset-top) + 120px));font-size:12px}.board-announcement[data-finished=false]{top:max(124px,calc(env(safe-area-inset-top) + 112px))}.history-banner{top:max(125px,calc(env(safe-area-inset-top) + 113px))}.result-reopen{top:max(128px,calc(env(safe-area-inset-top) + 116px))}.live-clocks{top:max(125px,calc(env(safe-area-inset-top) + 113px))}.view-controls{padding:4px;gap:1px;border-radius:13px}.view-controls button{width:44px;min-width:44px;height:44px;min-height:44px}.view-controls .replay-toggle{min-width:60px;font-size:11px}.board-announcement[data-finished=true] .board-announcement-card{padding:25px 20px}.board-announcement[data-finished=true] h2{font-size:25px}}@media(max-width:420px){.topbar .brand .brand-mark{display:none}}@media(max-width:520px){.view-controls #btn-zoom-in,.view-controls #btn-zoom-out,.view-controls #camera-zoom-divider{display:none}.sidebar>.mobile-view-card{display:block;margin-top:15px;padding:14px 0 4px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-view-card h3{font-size:12px;font-weight:650}.mobile-view-card p{font-size:10px;color:var(--muted);margin-top:9px}.camera-zoom-row>span{font-size:12px}.camera-zoom-row button{min-height:44px;min-width:44px;border-radius:8px}}@media(max-height:620px)and (min-width:741px){.topbar{top:max(10px,env(safe-area-inset-top));min-height:52px}.table-dock,.controls-dock{top:max(76px,calc(env(safe-area-inset-top) + 66px))}.turn-pill,.result-reopen{top:133px}.live-clocks{top:132px}.history-banner{top:133px}}@media(prefers-contrast:more){.dock-toggle,.topbar .app-menu>summary{outline:1px solid currentColor}.header-controls,.table-hud,.sidebar{border-color:var(--ink)}}.figure-status{position:fixed;z-index:24;top:max(82px,calc(env(safe-area-inset-top) + 66px));right:max(20px,env(safe-area-inset-right),calc((100vw - 1240px)/2));width:min(340px,calc(100vw - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right))));padding:10px 14px;border-radius:12px;color:var(--ink);font-size:12px;line-height:1.45}.figure-status p{margin:0}.figure-status>div{display:flex;flex-wrap:wrap;gap:4px 12px}.figure-status button{min-height:44px;padding:4px 0;font-size:12px}.figure-status[data-state=error]{border-color:var(--tint)}@media(max-width:1000px){.figure-status{top:max(220px,calc(env(safe-area-inset-top) + 208px));right:max(14px,env(safe-area-inset-right));width:min(340px,calc(100vw - max(14px,env(safe-area-inset-left)) - max(14px,env(safe-area-inset-right))))}}@media(min-width:1101px){.table-dock{left:max(24px,env(safe-area-inset-left),calc((100vw - 1240px)/2))}.controls-dock,.play-area .piece-coach{right:max(24px,env(safe-area-inset-right),calc((100vw - 1240px)/2))}}.piece-coach{right:max(24px,env(safe-area-inset-right))}@media(max-width:740px){.piece-coach{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}}@media(max-width:740px)and (max-height:740px)and (orientation:portrait){.bottom-hud{bottom:max(10px,env(safe-area-inset-bottom));gap:6px}.bottom-hud .replay-controls{padding:7px 10px 6px}.replay-heading{line-height:14px}.replay-heading label,.replay-heading output{font-size:10px}.replay-track{margin:1px 0 0;gap:8px}.replay-track input{height:44px}.replay-controls p{display:none}#board-stage[data-historical=true]{--study-top:max(192px, calc(env(safe-area-inset-top) + 180px) );--study-bottom:max(148px, calc(env(safe-area-inset-bottom) + 138px) );--study-size:min( calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)) ,calc(100dvh - var(--study-top) - var(--study-bottom)))}#board-stage[data-timed=true][data-historical=true]{--study-top:max(248px, calc(env(safe-area-inset-top) + 236px) )}#board-stage[data-historical=true] .flat-board,#board-stage[data-timed=true][data-historical=true] .flat-board{top:var(--study-top);bottom:var(--study-bottom);width:var(--study-size);height:var(--study-size)}#board-stage[data-historical=true] .flat-square{font-size:clamp(16px,calc((var(--study-size) - 16px)/9),36px)}#board-stage[data-historical=true] .history-banner{top:max(126px,calc(env(safe-area-inset-top) + 114px));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;transform:none;display:flex;gap:10px;min-height:58px;padding:7px 10px}#board-stage[data-historical=true] .history-banner>div{min-width:0}#board-stage[data-historical=true] .history-banner button{min-height:44px;padding:7px 10px;margin-top:0}#board-stage[data-historical=true] .history-banner small{display:none}#board-stage[data-timed=true][data-historical=true] .history-banner{top:max(182px,calc(env(safe-area-inset-top) + 170px))}#board-stage[data-timed=true][data-historical=true] .live-clocks{top:max(124px,calc(env(safe-area-inset-top) + 112px));min-width:min(272px,calc(100% - 24px));max-width:calc(100% - 24px);padding:4px 8px;gap:0 7px}#board-stage[data-timed=true][data-historical=true] .live-clocks>div{display:flex;align-items:center;gap:5px;padding:2px 3px}#board-stage[data-timed=true][data-historical=true] .live-clocks strong{font-size:20px}#board-stage[data-timed=true][data-historical=true] .live-clocks span{font-size:10px}#board-stage[data-timed=true][data-historical=true] .live-clocks p{font-size:10px;line-height:13px;margin:1px 0 0;max-width:none}.figure-status{top:auto;bottom:max(156px,calc(env(safe-area-inset-bottom) + 146px));max-height:calc(100dvh - max(156px,calc(env(safe-area-inset-bottom) + 146px)) - max(250px,calc(env(safe-area-inset-top) + 238px)));overflow:auto;overscroll-behavior:contain}}@media(orientation:landscape)and (max-height:620px)and (min-width:601px){.bottom-hud{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));width:auto;max-width:none;transform:none;flex-direction:row;justify-content:space-between;align-items:end;gap:8px}.bottom-hud .replay-controls{width:min(380px,calc(100vw - max(24px,env(safe-area-inset-left)) - max(24px,env(safe-area-inset-right)) - 390px));padding:7px 10px 6px}.replay-heading{line-height:14px}.replay-heading label,.replay-heading output{font-size:10px}.replay-track{margin:1px 0 0;gap:8px}.replay-track input{height:44px}.replay-controls p{display:none}.turn-pill,.result-reopen{left:max(24px,env(safe-area-inset-left));top:max(133px,calc(env(safe-area-inset-top) + 121px));transform:none}.board-announcement[data-finished=false]{top:max(94px,calc(env(safe-area-inset-top) + 82px))}.history-banner{left:max(24px,env(safe-area-inset-left));right:auto;width:210px;transform:none}#board-stage[data-historical=true] .history-banner,#board-stage[data-timed=true][data-historical=true] .history-banner{top:max(133px,calc(env(safe-area-inset-top) + 121px))}.live-clocks{left:auto;right:max(24px,env(safe-area-inset-right));transform:none;top:max(132px,calc(env(safe-area-inset-top) + 120px));max-width:228px}.figure-status{left:calc((max(24px,env(safe-area-inset-left)) + 100vw - max(24px,env(safe-area-inset-right)))/2);right:auto;transform:translate(-50%);top:max(156px,calc(env(safe-area-inset-top) + 144px));width:min(300px,calc(100vw - max(24px,env(safe-area-inset-left)) - max(24px,env(safe-area-inset-right)) - 480px));max-height:calc(100dvh - max(156px,calc(env(safe-area-inset-top) + 144px)) - max(112px,calc(env(safe-area-inset-bottom) + 100px)));display:flex;flex-direction:column;gap:6px;padding:8px;overflow:auto;overscroll-behavior:contain}.figure-status p{min-height:0;overflow:auto;overscroll-behavior:contain}.figure-status>div{order:-1;flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.figure-status[data-state=loading]>div{display:none}.figure-status button{font-size:11px;line-height:1.3;min-width:0;white-space:normal}}@media(orientation:landscape)and (max-height:620px)and (min-width:601px)and (max-width:740px){.view-controls #btn-zoom-in,.view-controls #btn-zoom-out,.view-controls #camera-zoom-divider{display:none}.bottom-hud .replay-controls{width:min(340px,calc(100vw - max(24px,env(safe-area-inset-left)) - max(24px,env(safe-area-inset-right)) - 288px))}.history-banner{width:188px}}@media(pointer:coarse){.save-actions button,.settings-tabs button{min-width:44px;min-height:44px}.replay-track input,.navigation-card input[type=range]{min-height:44px}}@media(min-width:741px)and (min-height:621px){#app{--hud-camera-size:56px;--hud-replay-size:112px;--hud-stack-gap:12px;--hud-bottom:max(23px,env(safe-area-inset-bottom));--flat-rail-gap:8px;--flat-rail-reserve:calc(var(--hud-bottom) + var(--hud-camera-size) + var(--flat-rail-gap))}#app:has(#replay-controls:not([hidden])){--flat-rail-reserve:calc(var(--hud-bottom) + var(--hud-camera-size) + var(--hud-stack-gap) + var(--hud-replay-size) + var(--flat-rail-gap))}.bottom-hud{bottom:var(--hud-bottom);gap:var(--hud-stack-gap)}.bottom-hud .view-controls{height:var(--hud-camera-size)}.bottom-hud .replay-controls{height:var(--hud-replay-size);display:grid;grid-template-rows:16px 44px 16px;row-gap:5px;padding:14px 16px 10px}.bottom-hud .replay-heading,.bottom-hud .replay-controls p{line-height:16px}.bottom-hud .replay-track{margin:0}.bottom-hud .replay-track input{height:44px}#board-stage{--flat-top:160px;--flat-default-bottom:160px;--flat-available-width: calc(100vw - 670px) ;--flat-bottom:max(var(--flat-default-bottom),var(--flat-rail-reserve));--flat-size:min(var(--flat-available-width),calc(100dvh - var(--flat-top) - var(--flat-bottom)))}#board-stage[data-historical=true]{--flat-top:210px}#board-stage[data-timed=true]{--flat-top:215px}#board-stage[data-timed=true][data-historical=true]{--flat-top:310px}#board-stage .flat-board,#board-stage[data-historical=true] .flat-board,#board-stage[data-timed=true] .flat-board,#board-stage[data-timed=true][data-historical=true] .flat-board{top:var(--flat-top);bottom:var(--flat-bottom);width:var(--flat-size);height:var(--flat-size)}#board-stage .flat-square{font-size:min(49px,calc((var(--flat-size) - 16px)/9))}}@media(min-width:741px)and (max-width:1100px)and (min-height:621px){#board-stage{--flat-top:200px;--flat-default-bottom:200px;--flat-available-width: calc(100vw - 48px) }#board-stage[data-historical=true]{--flat-top:230px}#board-stage[data-timed=true]{--flat-top:200px}#board-stage[data-timed=true][data-historical=true]{--flat-top:310px}}@media(orientation:landscape)and (min-width:1000px)and (max-width:1600px)and (min-height:621px)and (max-height:1100px){#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])){--wide-study-left:max(24px,env(safe-area-inset-left));--wide-study-right:max(24px,env(safe-area-inset-right));--wide-study-top:max(144px, calc(env(safe-area-inset-top) + 128px) );--wide-study-bottom:max(23px,env(safe-area-inset-bottom));--wide-study-side-width:clamp(280px,26vw,320px);--wide-study-column-gap:24px;--wide-study-panel-gap:12px;--wide-study-clock-size:0px;--wide-study-clock-gap:0px;--wide-study-history-size:148px;--wide-study-replay-size:152px;--wide-study-main-width:calc(100vw - var(--wide-study-left) - var(--wide-study-right) - var(--wide-study-side-width) - var(--wide-study-column-gap));--wide-study-board-space:calc(100dvh - var(--wide-study-top) - var(--wide-study-bottom) - var(--hud-camera-size) - var(--flat-rail-gap));--wide-study-size:min(var(--wide-study-main-width),var(--wide-study-board-space));--wide-study-board-left:calc(var(--wide-study-left) + (var(--wide-study-main-width) - var(--wide-study-size))/2);--wide-study-board-top:calc(var(--wide-study-top) + (var(--wide-study-board-space) - var(--wide-study-size))/2);--wide-study-camera-top:calc(var(--wide-study-board-top) + var(--wide-study-size) + var(--flat-rail-gap));--wide-study-history-top:calc(var(--wide-study-top) + var(--wide-study-clock-size) + var(--wide-study-clock-gap));--wide-study-replay-top:calc(var(--wide-study-history-top) + var(--wide-study-history-size) + var(--wide-study-panel-gap))}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])):has(#live-clocks:not([hidden])){--wide-study-clock-size:80px;--wide-study-clock-gap:var(--wide-study-panel-gap)}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) #board-stage{--flat-size:var(--wide-study-size)}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .flat-board{left:var(--wide-study-board-left);right:auto;top:var(--wide-study-board-top);bottom:auto;margin:0;width:var(--wide-study-size);height:var(--wide-study-size)}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .bottom-hud{left:var(--wide-study-left);right:auto;top:var(--wide-study-camera-top);bottom:auto;width:var(--wide-study-main-width);max-width:none;transform:none;gap:0;align-items:center}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .live-clocks{left:auto;right:var(--wide-study-right);top:var(--wide-study-top);transform:none;width:var(--wide-study-side-width);min-width:0;max-width:none;height:var(--wide-study-clock-size);padding:6px 12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:30px minmax(0,1fr);gap:4px 8px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .live-clocks>div{display:flex;align-items:center;justify-content:center;gap:6px;padding:0;min-width:0}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .live-clocks strong{font-size:24px;line-height:30px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .live-clocks span{font-size:10px;line-height:14px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .live-clocks p{font-size:10px;line-height:14px;margin:0;max-width:none}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .history-banner{left:auto;right:var(--wide-study-right);top:var(--wide-study-history-top);transform:none;width:var(--wide-study-side-width);height:var(--wide-study-history-size);display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;padding:12px 14px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .history-banner>div{min-width:0;width:100%}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .history-banner :is(strong,span){line-height:16px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .history-banner small{display:block;font-size:10px;line-height:14px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .history-banner button{width:100%;min-height:44px;line-height:16px;margin:0;flex:none}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .bottom-hud .replay-controls{position:fixed;left:auto;right:var(--wide-study-right);top:var(--wide-study-replay-top);bottom:auto;width:var(--wide-study-side-width);height:var(--wide-study-replay-size);padding:12px 14px;grid-template-rows:32px 44px minmax(0,1fr);row-gap:8px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .replay-heading{flex-direction:column;align-items:flex-start;justify-content:start;gap:0;line-height:16px}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .replay-heading output{text-align:left}#app:has(#board-stage[data-historical=true] #flat-board:not([hidden])):has(#replay-controls:not([hidden])) .replay-controls p{line-height:14px}}
