@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{color-scheme:light dark;font-family:DM Sans,system-ui,sans-serif;font-synthesis:none;--bg: #f3f1ec;--surface: #fcfbf8;--surface-2: #e9e6df;--ink: #1c211e;--muted: #687069;--line: #d5d2ca;--accent: #23624a;--accent-ink: #ffffff;--accent-soft: #dcebe3;--brass: #a07632;--danger: #a13c35;--board-light: #c99c68;--board-dark: #8b5f39;--board-edge: #4b3221;--shadow: 0 14px 35px rgba(39, 34, 26, .13);--tutorial-focus-duration: 3.2s;--sync-spin-duration: 2.4s;--thinking-pulse-duration: 2.8s}:root[data-theme=dark]{color-scheme:dark;--bg: #151816;--surface: #1f2421;--surface-2: #292f2b;--ink: #f2f0ea;--muted: #a9b0aa;--line: #39413b;--accent: #74b995;--accent-ink: #102219;--accent-soft: #263d31;--brass: #d1aa63;--danger: #e18379;--board-light: #b98d5f;--board-dark: #755036;--board-edge: #2a1c14;--shadow: 0 18px 42px rgba(0, 0, 0, .38)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #151816;--surface: #1f2421;--surface-2: #292f2b;--ink: #f2f0ea;--muted: #a9b0aa;--line: #39413b;--accent: #74b995;--accent-ink: #102219;--accent-soft: #263d31;--brass: #d1aa63;--danger: #e18379;--board-light: #b98d5f;--board-dark: #755036;--board-edge: #2a1c14;--shadow: 0 18px 42px rgba(0, 0, 0, .38)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 68%,transparent);outline-offset:2px}svg{width:19px;height:19px;stroke-width:1.8}h1,h2,p{margin-top:0}h1,h2{font-family:Newsreader,Georgia,serif;font-weight:600;letter-spacing:0}h1{font-size:clamp(2rem,5vw,3.7rem);line-height:.98;margin-bottom:12px}h2{font-size:1.55rem;line-height:1.15;margin-bottom:8px}p{color:var(--muted);line-height:1.65}.app-shell{min-height:100vh}.topbar{position:fixed;z-index:40;inset:0 0 auto;height:68px;display:flex;align-items:center;padding:0 22px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;padding:4px}.brand img{width:36px;height:36px;border-radius:4px;object-fit:cover}.brand span{font-family:Newsreader,Georgia,serif;font-size:1.65rem;font-weight:600}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.sidebar{position:fixed;z-index:35;left:0;top:68px;bottom:0;width:218px;display:flex;flex-direction:column;gap:5px;padding:22px 14px;background:var(--surface);border-right:1px solid var(--line)}.nav-button{width:100%;min-height:44px;display:flex;align-items:center;gap:12px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;text-align:left}.nav-button:hover{color:var(--ink);background:var(--surface-2)}.nav-button.active{color:var(--accent);background:var(--accent-soft);font-weight:700}.nav-button .nav-badge{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800}.sidebar-status{margin-top:auto;display:flex;gap:9px;align-items:center;padding:12px 13px;color:var(--muted);font-size:.78rem}.sidebar-legal{margin-top:auto;padding:10px 13px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);text-align:left;font-size:.72rem;cursor:pointer}.sidebar-legal:hover{color:var(--accent)}.sidebar-legal+.sidebar-status{margin-top:0}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--brass)}.status-dot.online{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.build-stamp{position:fixed;right:8px;bottom:6px;z-index:20;color:color-mix(in srgb,var(--muted) 45%,transparent);font-size:.58rem;line-height:1;letter-spacing:.04em;pointer-events:none;user-select:none}.turn-toast{position:fixed;right:24px;bottom:28px;z-index:45;max-width:min(330px,calc(100vw - 32px));display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:12px 12px 12px 16px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface) 97%,transparent);color:var(--ink);box-shadow:var(--shadow);text-align:left;backdrop-filter:blur(14px)}.turn-toast.finished-toast{bottom:104px}.turn-toast svg{width:20px;height:20px;justify-self:center;color:var(--accent)}.turn-toast span,.turn-toast strong,.turn-toast small{display:block;min-width:0}.turn-toast small{margin-top:2px;color:var(--muted)}.turn-toast-main{display:contents;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.turn-toast-close{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}.turn-toast-close:hover,.turn-toast-close:focus-visible{background:var(--surface-2);color:var(--ink)}.turn-toast-close svg{width:15px;height:15px;color:currentColor}.main-content{padding:68px 0 0 218px;min-height:100vh}.page{width:min(1180px,100%);margin:0 auto;padding:44px clamp(22px,5vw,62px) 90px}.narrow-page{max-width:970px}.button,.text-button,.icon-button{border:0;cursor:pointer;text-decoration:none}.button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border-radius:5px;font-weight:700}.button.primary{color:var(--accent-ink);background:var(--accent)}.button.primary:hover{filter:brightness(1.08)}.button.secondary{border:1px solid var(--line);background:var(--surface)}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.button.danger{color:var(--danger)}.button.full{width:100%}.button.compact{min-height:36px;padding:0 12px;font-size:.78rem}.button:disabled,.icon-button:disabled{opacity:.4;cursor:default}.text-button{display:inline-flex;align-items:center;gap:4px;padding:4px 0;color:var(--accent);background:transparent;font-weight:700}.text-button svg{width:16px}.icon-button{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 42px;border-radius:50%;background:transparent}.icon-button:hover{background:var(--surface-2)}.help-button{color:var(--accent)}.help-overlay{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px}.help-backdrop{position:absolute;inset:0;border:0;background:#0c0d0b94;backdrop-filter:blur(5px);cursor:pointer}.help-panel{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.help-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 22px 16px;border-bottom:1px solid var(--line)}.help-head h2{margin:0;font-size:1.8rem}.help-list{overflow:auto;padding:6px 22px 22px}.help-list article{padding:16px 0;border-bottom:1px solid var(--line)}.help-list article:last-child{border-bottom:0}.help-list strong{display:block;margin-bottom:5px;color:var(--ink)}.help-list p{margin:0;font-size:.9rem;line-height:1.55}.eyebrow{display:block;margin-bottom:7px;color:var(--accent);font-size:.7rem;line-height:1.2;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.welcome-band{min-height:260px;display:flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid var(--line)}.welcome-band h1{max-width:650px}.welcome-band p{margin-bottom:0;font-size:1.05rem}.welcome-actions{display:grid;gap:9px;min-width:170px}.section-block{padding:36px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin:0}.empty-state{min-height:102px;display:flex;align-items:center;gap:17px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.empty-state>svg{width:26px;height:26px;color:var(--accent)}.empty-state div{flex:1;min-width:0}.empty-state strong,.empty-state span{display:block}.empty-state span{margin-top:3px;color:var(--muted);font-size:.88rem}.home-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;padding-top:30px}.feature-panel{min-height:220px;display:flex;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:7px}.feature-panel img{width:42%;min-height:100%;object-fit:cover}.feature-panel>div{padding:30px;align-self:center}.feature-panel p{margin-bottom:14px}.compact-feature{padding:30px;align-items:flex-start;gap:20px}.compact-feature>svg{width:28px;height:28px;color:var(--brass)}.compact-feature>div{padding:0}.updates-feed{padding:38px 0 0}.update-list{display:grid;gap:0;max-height:420px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:7px}.update-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:22px;padding:19px 22px;border-bottom:1px solid var(--line)}.update-item:last-child{border-bottom:0}.update-item time{color:var(--muted);font-size:.74rem;font-weight:700}.update-item h3{margin:0 0 5px;font-size:.98rem}.update-item p{margin:0;font-size:.88rem;line-height:1.55}.support-strip{margin-top:18px;display:flex;align-items:center;gap:14px;padding:16px 18px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line);border-radius:7px}.support-strip>svg{flex:0 0 auto;color:var(--brass)}.support-strip div{flex:1;min-width:0}.support-strip strong,.support-strip span{display:block}.support-strip span{margin-top:2px;color:var(--muted);font-size:.84rem}.game-page{max-width:1320px}.game-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:22px}.game-toolbar h1{margin:0;font-size:2rem}.game-toolbar .eyebrow{margin-bottom:2px}.toolbar-action{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid var(--line);background:var(--surface)}.toolbar-action svg{width:17px;height:17px}.toolbar-spacer{flex:1}.game-layout{display:grid;grid-template-columns:minmax(440px,720px) minmax(250px,330px);gap:clamp(24px,4vw,52px);align-items:start}.table-area{min-width:0}.player-bar{height:56px;display:flex;align-items:center;gap:11px;padding:0 8px;opacity:.72}.player-bar.active{opacity:1}.player-bar div{display:flex;flex-direction:column}.player-bar div span{color:var(--muted);font-size:.73rem}.avatar-stone,.turn-stone{display:block;border-radius:50%;box-shadow:inset 0 0 0 1px #00000040,0 2px 4px #0000002e}.avatar-stone{width:34px;height:34px}.avatar-stone.white,.turn-stone.white{background:#eee9de;border:1px solid #b9b2a4}.avatar-stone.black,.turn-stone.black{background:#292d2a;border:1px solid #080a09}.reserve{margin-left:auto;color:var(--muted);font-size:.78rem}.board-wrap{position:relative;width:100%}.board{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;aspect-ratio:1;overflow:hidden;border:clamp(7px,1.5vw,13px) solid var(--board-edge);box-shadow:var(--shadow)}.square{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;padding:0;border:0;cursor:pointer}.square-light{background-color:var(--board-light)}.square-dark{background-color:var(--board-dark)}.square:after{content:"";position:absolute;inset:0;border:1px solid rgba(62,37,19,.12);pointer-events:none}.square.selected{box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--accent) 88%,white);z-index:2}.square.last:before{content:"";position:absolute;z-index:6;inset:8%;border:2px solid rgba(255,224,137,.62);pointer-events:none}.board.game-over{box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}.board.game-over .square:not(.last){filter:saturate(.82) brightness(.94)}.board.game-over .square.last{z-index:4}.board.game-over .square.last:before{inset:5%;border:4px solid var(--brass);box-shadow:0 0 0 4px #ffffff57,inset 0 0 0 2px #00000038}.square.tutorial-focus:before{content:"";position:absolute;z-index:2;inset:7%;border:3px solid color-mix(in srgb,var(--accent) 82%,white);box-shadow:0 0 0 4px #ffffff47;pointer-events:none;animation:tutorial-focus var(--tutorial-focus-duration) ease-in-out infinite}.square.recommended{outline:4px solid color-mix(in srgb,var(--brass) 86%,white);outline-offset:-8px;z-index:3}.square.recommended-destination{outline-color:color-mix(in srgb,var(--brass) 92%,white)}@keyframes tutorial-focus{50%{inset:11%;opacity:.66}}.piece{position:relative;z-index:3;width:66%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 -5px 7px #00000038,inset 0 2px 4px #ffffff52,0 5px 7px #20140c5c;transition:transform .13s ease}.square:hover .piece{transform:translateY(-2px)}.piece.white{color:#292721;background:#eee8da;border:1px solid #c1b7a2}.piece.black{color:#f1ede3;background:#282c29;border:1px solid #111411}.piece-count{width:clamp(16px,36%,28px);height:clamp(16px,36%,28px);display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;font-size:clamp(.68rem,1.7vw,1rem);line-height:1;font-weight:700}.board-animation-layer{position:absolute;z-index:9;inset:0;overflow:visible;pointer-events:none}.board-animation-motion{position:absolute;width:calc(100% / 6);height:calc(100% / 6);display:grid;place-items:center;opacity:0;animation-name:tutorial-piece-travel;animation-timing-function:cubic-bezier(.24,.72,.28,1);animation-fill-mode:both}.board-animation-motion .piece{width:66%}.board-animation-motion.resolves{animation-name:tutorial-piece-travel-resolve}.board-animation-motion.pushed{animation-name:tutorial-piece-push}.board-animation-motion.pushed.resolves,.board-animation-motion.pushed.exits{animation-name:tutorial-piece-push-resolve}.board-animation-motion.temporary{animation-name:tutorial-piece-hold;animation-timing-function:linear}.board-animation-motion.appears{animation-name:tutorial-piece-appear}.board-animation-loss{position:absolute;width:calc(100% / 6);height:calc(100% / 6);display:grid;place-items:center;opacity:0;font-size:clamp(.78rem,2vw,1.15rem);font-weight:800;text-shadow:0 2px 3px rgba(0,0,0,.45);animation:tutorial-piece-loss .52s ease-out both}.board-animation-loss.white{--loss-x: -18%;color:#fff7df}.board-animation-loss.black{--loss-x: 18%;color:#2a1714}@keyframes tutorial-piece-travel{0%{opacity:1;transform:translate(0) scale(1)}78%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1.04)}to{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1)}}@keyframes tutorial-piece-travel-resolve{0%{opacity:1;transform:translate(0) scale(1)}72%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1.04)}92%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1)}to{opacity:0;transform:translate(var(--move-x),var(--move-y)) scale(.82)}}@keyframes tutorial-piece-push{0%{opacity:0;transform:translate(0) scale(.9)}10%{opacity:1}82%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1.04)}to{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1)}}@keyframes tutorial-piece-push-resolve{0%{opacity:0;transform:translate(0) scale(.9)}10%{opacity:1}78%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1.02)}91%{opacity:1;transform:translate(var(--move-x),var(--move-y)) scale(1)}to{opacity:0;transform:translate(var(--move-x),var(--move-y)) scale(.38)}}@keyframes tutorial-piece-hold{0%{opacity:0;transform:translate(0) scale(.96)}4%,88%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(0) scale(.9)}}@keyframes tutorial-piece-appear{0%{opacity:0;transform:scale(.35)}72%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes tutorial-piece-loss{0%{opacity:0;transform:translate(var(--loss-x)) scale(.65)}25%{opacity:1;transform:translate(var(--loss-x)) scale(1.16)}to{opacity:0;transform:translate(var(--loss-x),-18%) scale(.92)}}.legal-dot{position:absolute;z-index:4;width:18%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--accent) 84%,white);box-shadow:0 0 0 4px #ffffff59}.piece+.legal-dot{width:75%;border:3px solid color-mix(in srgb,var(--accent) 84%,white);background:transparent;box-shadow:none}.legal-dot.recommended-dot{width:26%;background:var(--brass);box-shadow:0 0 0 5px #fff6,0 0 0 10px color-mix(in srgb,var(--brass) 32%,transparent)}.piece+.legal-dot.recommended-dot{width:82%;border-color:var(--brass);background:transparent;box-shadow:0 0 0 4px #ffffff38}.rank-label,.file-label{position:absolute;z-index:5;color:#211810a8;font-size:clamp(.48rem,1.2vw,.66rem);font-weight:700;pointer-events:none}.rank-label{left:4px;top:3px}.file-label{right:4px;bottom:2px}.result-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 0;padding:14px 16px;background:var(--accent);color:var(--accent-ink);border-radius:7px;box-shadow:var(--shadow);text-align:center}.result-banner strong{font-family:Newsreader,Georgia,serif;font-size:clamp(1.35rem,4vw,2.1rem)}.move-choice{position:absolute;z-index:12;left:50%;bottom:18px;transform:translate(-50%);width:min(92%,500px);min-height:64px;display:flex;align-items:center;gap:9px;padding:10px 12px 10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.move-choice>span{flex:1;font-size:.85rem;font-weight:700}.move-choice .recommended-choice{border-color:var(--brass);color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.game-panel{position:sticky;top:92px;background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden}.robot-thinking-banner{min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 0;padding:10px 14px;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:7px;font-size:.86rem;font-weight:700}.robot-thinking-banner svg{width:17px;height:17px}.online-sync-banner{min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;padding:8px 12px;background:color-mix(in srgb,var(--accent-soft) 58%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:6px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.online-sync-banner svg{width:15px;height:15px;animation:spin-reverse var(--sync-spin-duration) linear infinite}.thinking-limit{--thinking-progress: 0deg;width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--thinking-progress),color-mix(in srgb,var(--accent) 18%,transparent) 0)}.thinking-limit:before{content:"";grid-area:1 / 1;width:25px;height:25px;border-radius:50%;background:var(--surface)}.thinking-limit span{grid-area:1 / 1;position:relative;z-index:1;color:var(--accent);font-size:.72rem;font-weight:800}.thinking-limit.overtime{background:conic-gradient(var(--accent) 360deg,transparent 0);animation:thinking-overtime var(--thinking-pulse-duration) ease-in-out infinite}.thinking-limit.overtime span{font-size:.68rem;letter-spacing:0}@keyframes thinking-overtime{50%{transform:scale(.94);filter:brightness(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}.thinking-dots{display:inline-flex;width:1.05em;margin-left:1px;vertical-align:baseline}.thinking-dots span{opacity:.72}.status-block{min-height:75px;display:flex;align-items:center;gap:13px;padding:15px 18px;border-bottom:1px solid var(--line)}.status-block.thinking{background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}.turn-stone{width:29px;height:29px;flex:0 0 29px}.status-block div{display:flex;flex-direction:column}.status-block .eyebrow{margin:0}.status-block strong{margin-top:2px}.control-group{padding:15px 18px 0}.control-group>label{display:block;margin-bottom:7px;color:var(--muted);font-size:.72rem;font-weight:700}.control-hint{margin:8px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;background:var(--surface-2);border-radius:5px}.segmented button{min-width:0;height:34px;padding:0 6px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:.72rem;text-transform:capitalize;cursor:pointer}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0000001f;font-weight:700}.search-note{display:flex;align-items:center;gap:7px;margin:13px 18px 0;color:var(--accent);font-size:.7rem}.search-note svg{width:15px}.search-note.fallback{color:var(--danger)}.history-block{min-height:200px;padding:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.panel-title h2{margin:0;font-family:inherit;font-size:.85rem}.panel-title span{color:var(--muted);font-size:.72rem}.panel-actions{display:flex;align-items:center;gap:8px}.icon-button.mini{width:30px;height:30px}.icon-button.mini svg{width:15px;height:15px}.history-block ol{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto}.history-block li{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.76rem}.history-block li span{width:76px;flex:0 0 76px;color:var(--muted);text-align:right}.history-jump{flex:1;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;line-height:1.35;text-align:left;white-space:normal;cursor:pointer}.history-jump:hover,.history-jump:focus-visible{color:var(--accent);background:transparent;text-decoration:underline}.history-block .muted{font-size:.78rem}.game-panel>.button{border-width:1px 0 0;border-radius:0}.study-mode-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}.study-mode-strip .segmented{width:min(220px,50%)}.study-mode-strip span{color:var(--muted);font-size:.78rem;text-align:right}.study-editor-board .square{cursor:cell}.study-editor-board .square:hover{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--accent) 58%,transparent);z-index:2}.study-mobile-actions{display:none}.study-mobile-actions.single{grid-template-columns:1fr}.study-mobile-actions.with-replay{grid-template-columns:1fr 1fr}.study-mobile-fair-play-note{display:none}.study-panel>.button.full{margin:12px 18px 0;width:calc(100% - 36px);border-radius:5px}.study-fair-play-note{margin:10px 18px 0;color:var(--muted);font-size:.78rem;line-height:1.4}.study-notice{margin:12px 18px 0;color:var(--muted);font-size:.78rem;line-height:1.4}.replay-block{padding:18px;border-top:1px solid var(--line)}.replay-block textarea{width:100%;min-height:130px;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);line-height:1.45}.replay-block .action-strip{margin-top:0;margin-bottom:10px}.replay-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;border-top:1px solid var(--line)}.replay-list li{border-bottom:1px solid var(--line)}.replay-list button{width:100%;min-height:0;justify-content:flex-start;gap:12px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:.72rem;line-height:1.35;text-align:left;white-space:normal}.replay-list button span{width:76px;flex:0 0 76px;color:var(--muted);text-align:right}.replay-list button.active,.replay-list button:hover{background:transparent;color:var(--accent)}.replay-empty{min-height:130px;display:grid;place-items:center;padding:18px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font-size:.78rem;line-height:1.45;text-align:center}.draw-banner{margin:12px 0;padding:14px;display:flex;justify-content:center;gap:8px;background:var(--surface);border:1px solid var(--line)}.draw-banner span{color:var(--muted)}.draw-offer{margin:13px 18px 0;padding:13px;background:var(--accent-soft);border-radius:6px;font-size:.8rem}.draw-offer strong,.draw-offer span{display:block}.draw-offer .action-strip{margin:10px 0 0}.match-controls{display:grid;gap:0;border-top:1px solid var(--line)}.match-controls .button{border-width:0 0 1px;border-radius:0}.preset-panel{display:grid;gap:24px;padding:clamp(22px,4vw,34px);background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.preset-panel h2{margin-bottom:8px}.preset-panel p{max-width:620px;margin-bottom:0}.formation-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.formation-preset-button{min-width:0;display:grid;gap:8px;justify-items:center;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink);cursor:pointer}.formation-preset-button:hover{border-color:var(--accent)}.formation-preset-button span:last-child{color:var(--muted);font-size:.72rem;font-weight:700}.mini-formation{width:min(120px,100%);display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.mini-formation span{aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(70,45,24,.12)}.mini-formation span.light{background:color-mix(in srgb,var(--board-light) 72%,var(--surface))}.mini-formation span.dark{background:color-mix(in srgb,var(--board-dark) 70%,var(--surface))}.mini-formation i{width:70%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-style:normal;font-size:.55rem;font-weight:800}.formation-board-wrap{display:grid;grid-template-columns:auto minmax(0,620px);grid-template-rows:repeat(2,minmax(0,1fr));gap:6px 10px;align-items:center}.formation-board-wrap>span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.formation-board-wrap>span:nth-child(1){grid-column:1;grid-row:1}.formation-board-wrap>span:nth-child(2){grid-column:1;grid-row:2}.formation-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:min(620px,100%);padding:8px;background:var(--board-edge);border-radius:7px;box-shadow:var(--shadow)}.formation-board-wrap .formation-board{grid-column:2;grid-row:1 / 3}.formation-square{position:relative;aspect-ratio:1;display:grid;place-items:center;border:0;background:var(--board-light);cursor:pointer}.formation-square.dark{background:var(--board-dark)}.formation-square.light{background:var(--board-light)}.formation-board.replace-mode .formation-square{outline:2px solid color-mix(in srgb,var(--brass) 70%,transparent);outline-offset:-4px}.formation-piece{position:relative;z-index:2;width:62%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#eee8da;color:#292721;border:1px solid #c1b7a2;box-shadow:inset 0 -5px 7px #00000038,inset 0 2px 4px #ffffff52,0 5px 7px #20140c40}.formation-piece span{width:38%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;font-size:clamp(.68rem,1.6vw,.95rem);font-weight:800}.formation-tools{display:flex;flex-wrap:wrap;gap:10px}.formation-tools .active-tool{border-color:var(--brass);color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.preset-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.preset-summary strong{color:var(--accent)}.tutorial-page{max-width:1260px}.tutorial-progress{width:min(620px,100%);display:grid;grid-template-columns:repeat(6,1fr);align-items:center;margin:0 0 26px}.tutorial-progress:before{content:"";grid-area:1 / 1 / 2 / -1;height:1px;margin:0 8%;background:var(--line)}.tutorial-progress button{grid-row:1;position:relative;justify-self:center;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:700}.tutorial-progress button.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tutorial-progress button.complete{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tutorial-progress button svg{width:15px;height:15px}.tutorial-layout{display:grid;grid-template-columns:minmax(440px,690px) minmax(280px,350px);gap:clamp(26px,4vw,54px);align-items:start}.tutorial-board-area{min-width:0;grid-column:1;grid-row:1}.tutorial-panel{grid-column:2;grid-row:1;min-height:390px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.tutorial-step{display:flex;justify-content:space-between;padding-bottom:18px;margin-bottom:26px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:700}.tutorial-panel h2{font-size:2rem}.tutorial-panel>p{min-height:120px;margin-bottom:20px}.tutorial-feedback{padding:12px 14px;margin-bottom:16px;border-left:3px solid var(--brass);background:color-mix(in srgb,var(--brass) 10%,var(--surface));color:var(--ink);font-size:.82rem;line-height:1.5}.tutorial-hint{display:flex;gap:10px;padding:13px 0;margin-bottom:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;line-height:1.5}.tutorial-hint svg{flex:0 0 18px;color:var(--brass)}.tutorial-success{display:flex;gap:12px;padding:15px;margin-bottom:16px;background:var(--accent-soft);color:var(--accent);border-radius:6px}.tutorial-success>svg{flex:0 0 20px}.tutorial-success strong,.tutorial-success span{display:block}.tutorial-success span{margin-top:4px;color:var(--ink);font-size:.78rem;line-height:1.5}.tutorial-actions{min-height:43px;display:flex;align-items:center;gap:8px;margin-top:12px}.tutorial-actions .button.primary{flex:1}.page-heading{padding:35px 0;border-bottom:1px solid var(--line);margin-bottom:30px}.page-heading p{margin-bottom:0}.page-heading h1{margin-bottom:8px}.page-heading.with-help,.preset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-heading.with-help>div,.preset-heading>div{min-width:0}.action-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.challenge-form{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;gap:16px;align-items:end;margin:18px 0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.challenge-form select{display:block;width:100%;height:43px;margin-top:7px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}.check-row{height:43px;display:flex;align-items:center;gap:8px;color:var(--ink)}.check-row input{width:17px;height:17px;margin:0;accent-color:var(--accent)}.notice-line{padding:10px 0}.queued-piece{position:absolute;z-index:7;display:flex;align-items:center;justify-content:center;gap:4px;border:1px dashed color-mix(in srgb,var(--accent) 62%,transparent);background:color-mix(in srgb,var(--surface) 72%,var(--accent-soft));color:var(--accent);font-size:clamp(.56rem,1.5vw,.72rem);font-weight:900;letter-spacing:0;box-shadow:0 4px 12px #00000024;pointer-events:none}.queued-piece.on-stack{left:50%;bottom:8%;min-width:54%;height:24%;padding:0 7px;border-radius:999px;transform:translate(-50%)}.queued-piece.solo{left:50%;top:50%;width:66%;aspect-ratio:1;flex-direction:column;border-radius:50%;transform:translate(-50%,-50%);opacity:.82}.queued-mini{width:12px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 -2px 3px #0000002e,inset 0 1px 2px #ffffff6b}.queued-piece.white .queued-mini,.queued-piece.white.solo{background:color-mix(in srgb,#eee8da 70%,transparent);border-color:color-mix(in srgb,#c1b7a2 72%,var(--accent));color:#473d2d}.queued-piece.black .queued-mini,.queued-piece.black.solo{background:color-mix(in srgb,#282c29 70%,transparent);border-color:color-mix(in srgb,#111411 72%,var(--accent));color:#f1ede3}.queue-block{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.queue-block strong,.queue-block span{display:block}.queue-block span{margin-top:4px;color:var(--muted);font-size:.76rem;line-height:1.4}.match-list{border-top:1px solid var(--line)}.home-match-list{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface)}.match-row{width:100%;min-height:68px;display:grid;grid-template-columns:40px minmax(120px,1fr) auto 24px;align-items:center;gap:12px;padding:8px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.home-match-list .match-row{padding-left:16px;padding-right:12px}.match-row:last-child{border-bottom:0}.match-row.attention{background:var(--accent-soft)}.match-row[type=button]{cursor:pointer}.match-row[type=button]:hover{background:var(--surface)}.match-row.attention[type=button]:hover{background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface))}.match-row>span:nth-child(2){display:flex;flex-direction:column}.match-row small{margin-top:3px;color:var(--muted)}.match-row>span:nth-child(3){color:var(--muted);font-size:.72rem}.match-row>svg{color:var(--muted)}.count-badge{min-width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.7rem}.profile-handle{display:grid;grid-template-columns:minmax(200px,350px) auto 1fr;align-items:end;gap:10px;margin-bottom:28px}.profile-handle span{align-self:center;color:var(--accent);font-size:.78rem}.feedback-form{max-width:720px;display:grid;gap:20px}.feedback-form label{display:block}.feedback-form select,.feedback-form textarea{display:block;width:100%;margin-top:7px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.feedback-form select{height:44px}.feedback-form textarea{min-height:190px;padding-top:12px;padding-bottom:12px;resize:vertical;line-height:1.5}.feedback-contact{height:auto;margin:0}.feedback-submit{display:flex;align-items:center;gap:14px}.feedback-submit span{color:var(--muted);font-size:.75rem}.admin-page{max-width:1320px}.admin-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,520px);gap:22px;align-items:start}.admin-card{min-width:0;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.admin-select{min-width:170px;height:38px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.feedback-admin-list{max-height:680px;overflow:auto;border-top:1px solid var(--line)}.feedback-admin-item{padding:17px 0;border-bottom:1px solid var(--line)}.feedback-admin-item>div,.feedback-admin-item footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-admin-item time,.feedback-admin-item footer{color:var(--muted);font-size:.74rem}.feedback-admin-item p{margin:10px 0;white-space:pre-wrap;font-size:.9rem;line-height:1.55}.opening-lab{display:grid;gap:16px}.opening-family-list{display:grid;gap:8px;max-height:300px;overflow:auto;padding-right:3px}.opening-family-list button{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);text-align:left;cursor:pointer}.opening-family-list button.active,.opening-family-list button:hover{border-color:var(--accent);background:var(--accent-soft)}.opening-family-list strong,.opening-family-list small{display:block}.opening-family-list small{margin-top:3px;color:var(--muted);font-size:.7rem}.opening-mini-board{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--line);aspect-ratio:3 / 1}.opening-mini-board span{display:grid;place-items:center;min-width:0;color:var(--ink);font-size:.68rem;font-weight:900;line-height:1}.opening-mini-board .light{background:var(--stone-light)}.opening-mini-board .dark{background:color-mix(in srgb,var(--wood-mid) 22%,var(--surface))}.opening-mini-board.large{width:min(240px,100%);border-width:2px;border-radius:6px}.opening-mini-board.large span{font-size:1rem}.opening-prototype{display:grid;gap:18px;padding-top:16px;border-top:1px solid var(--line)}.opening-hero{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:17px;align-items:start}.opening-hero h3{margin:3px 0 7px;font-size:1.45rem}.opening-hero p,.opening-prototype p{margin:0}.opening-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.opening-metrics span{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.opening-metrics strong,.opening-metrics small{display:block}.opening-metrics small{margin-top:3px;color:var(--muted);font-size:.68rem;text-transform:uppercase}.opening-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.opening-note-grid section{padding:13px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.opening-note-grid h4{margin:0 0 8px;font-size:.83rem}.opening-note-grid ul{margin:0;padding-left:18px;color:var(--muted);font-size:.78rem;line-height:1.5}.opening-move-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.opening-move-list span{padding:7px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.73rem;font-weight:800}.opening-candidate-list{display:grid;gap:9px;margin-top:8px}.opening-candidate{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;background:var(--surface-2)}.opening-candidate.medium{border-left-color:var(--brass)}.opening-candidate.watch{border-left-color:var(--muted)}.opening-candidate strong{font-size:.85rem}.opening-candidate small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.opening-candidate em{width:fit-content;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-style:normal;font-weight:800}.opening-candidate span{color:var(--muted);font-size:.78rem;line-height:1.45}.opening-paste{margin:8px 0 0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);white-space:pre-wrap;font:800 .75rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.opening-code{margin:8px 0 0;font-size:.78rem}.opening-code strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.auth-page{min-height:calc(100vh - 68px);display:grid;place-items:center}.auth-panel{width:min(430px,100%);padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.auth-panel>img{width:66px;height:66px;object-fit:cover;border-radius:6px;margin-bottom:24px}.auth-panel h1{font-size:2.6rem}.auth-panel form{display:grid;gap:14px;margin:24px 0 12px}label{color:var(--muted);font-size:.78rem;font-weight:700}input{width:100%;height:46px;margin-top:7px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}.form-message{margin:10px 0;font-size:.8rem;color:var(--accent)}.own-rating{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:22px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.own-rating>svg{width:24px;height:24px;color:var(--accent);justify-self:center}.own-rating strong,.own-rating small{display:block}.own-rating small{margin-top:4px;color:var(--muted)}.leaderboard{border-top:1px solid var(--line)}.leader-head,.leader-row{display:grid;grid-template-columns:65px minmax(150px,1fr) 110px 100px;align-items:center;min-height:58px;border-bottom:1px solid var(--line)}.leader-head{min-height:38px;color:var(--muted);font-size:.68rem;text-transform:uppercase}.leader-row.self{background:var(--accent-soft)}.leader-row>span:nth-child(2){display:flex;align-items:center;gap:10px}.mini-avatar{width:31px;height:31px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%;font-size:.75rem;font-weight:700}.fair-play-note{display:flex;gap:9px;margin-top:22px;font-size:.75rem}.fair-play-note svg{flex:0 0 18px;color:var(--accent)}.rules-page{max-width:1100px}.rules-layout{display:grid;grid-template-columns:170px 1fr;gap:50px}.rules-index{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;border-left:1px solid var(--line)}.rules-index a{padding:9px 14px;color:var(--muted);text-decoration:none;font-size:.82rem}.rules-index a:hover{color:var(--accent)}.rules-copy section{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:0 0 35px;margin-bottom:35px;border-bottom:1px solid var(--line);scroll-margin-top:100px}.rules-copy section>span{color:var(--brass);font-family:Newsreader,Georgia,serif;font-size:1.25rem}.rules-copy p{max-width:700px}.legal-copy{max-width:820px}.legal-copy section{display:grid;grid-template-columns:30px 1fr;gap:18px;padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.legal-copy section>svg{color:var(--accent)}.legal-copy a{color:var(--accent)}.settings-list{border-top:1px solid var(--line);margin-bottom:28px}.settings-list>div{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.settings-list>div>span{display:flex;align-items:center;gap:13px}.settings-list>div>span>svg{color:var(--accent)}.settings-list strong,.settings-list small{display:block}.settings-list small{margin-top:3px;color:var(--muted)}.settings-list select{min-width:120px;height:38px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.setting-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.settings-list.compact{margin:0;border-top:0}.settings-list.compact>div{min-height:0;padding:12px 18px}.solo-share-setting{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.switch{position:relative}.switch input{position:absolute;opacity:0}.switch span{display:block;width:42px;height:24px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.switch span:after{content:"";display:block;width:18px;height:18px;margin:2px;border-radius:50%;background:var(--muted);transition:transform .16s ease}.switch input:checked+span{background:var(--accent);border-color:var(--accent)}.switch input:checked+span:after{transform:translate(18px);background:var(--accent-ink)}.mobile-only,.scrim{display:none}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.game-panel{position:static}.history-block{min-height:120px}.home-grid,.rules-layout{grid-template-columns:1fr}.rules-index{position:static;flex-direction:row;flex-wrap:wrap;border:0;border-bottom:1px solid var(--line);padding-bottom:10px}.admin-grid,.opening-hero,.opening-note-grid{grid-template-columns:1fr}.tutorial-layout{grid-template-columns:minmax(0,680px);justify-content:center}.tutorial-panel{grid-column:1;grid-row:1;min-height:0}.tutorial-board-area{grid-column:1;grid-row:2}.tutorial-panel>p{min-height:0}}@media(max-width:700px){:root{--tutorial-focus-duration: 1.6s;--sync-spin-duration: 1.2s;--thinking-pulse-duration: 1.4s}.mobile-only{display:inline-grid}.topbar{padding:0 12px}.topbar .brand{margin-left:4px}.brand img{width:32px;height:32px}.brand span{font-size:1.45rem}.sidebar{top:0;z-index:60;width:min(310px,84vw);transform:translate(-102%);transition:transform .2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 5px 14px 13px;border-bottom:1px solid var(--line);margin-bottom:8px}.scrim{display:block;position:fixed;z-index:55;inset:0;border:0;background:#0a0d0b8c}.main-content{padding-left:0}.turn-toast{left:16px;right:16px;bottom:18px}.turn-toast.finished-toast{bottom:88px}.page{padding:28px 16px 68px}.welcome-band{min-height:280px;display:block;padding:34px 0}.welcome-actions{margin-top:18px}.welcome-actions .button{margin-top:0}.empty-state{align-items:flex-start;flex-wrap:wrap}.empty-state .button{width:100%}.feature-panel{min-height:180px}.feature-panel>div{padding:20px}.feature-panel img{width:36%}.update-item{grid-template-columns:1fr;gap:6px;padding:18px}.help-overlay{padding:12px;align-items:end}.help-panel{max-height:min(720px,calc(100vh - 24px))}.help-head{padding:18px 18px 12px}.help-list{padding:4px 18px 18px}.page-heading.with-help,.preset-heading{gap:10px}.page-heading.with-help .help-button,.preset-heading .help-button{margin-top:-4px}.game-page{padding-left:8px;padding-right:8px}.game-toolbar{flex-wrap:wrap;gap:8px;padding:0 4px}.game-toolbar h1{font-size:1.6rem}.game-toolbar .toolbar-spacer{display:none}.game-toolbar>div:not(.toolbar-spacer){flex:1 1 auto;min-width:140px}.game-layout{gap:20px}.board{border-width:7px}.player-bar{padding:0 6px}.move-choice{flex-wrap:wrap}.move-choice>span{flex-basis:100%}.move-choice .button{flex:1}.study-mode-strip{align-items:stretch;flex-direction:column;margin-left:6px;margin-right:6px}.study-mode-strip .segmented{width:100%}.study-mode-strip span{text-align:left}.study-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 6px 0}.study-mobile-actions.single:not(.with-replay){grid-template-columns:1fr}.study-mobile-actions .button{min-width:0;padding-left:8px;padding-right:8px}.study-mobile-fair-play-note{display:block;grid-column:1 / -1;margin:0;color:var(--muted);font-size:.74rem;line-height:1.4}.replay-block .action-strip .button{flex:1}.leader-head,.leader-row{grid-template-columns:45px minmax(120px,1fr) 75px}.leader-head span:last-child,.leader-row>span:last-child{display:none}.auth-panel{padding:26px 22px}.rules-copy section{grid-template-columns:30px 1fr;gap:10px}.settings-list>div{align-items:flex-start;padding:17px 0}.settings-list small{max-width:190px}.challenge-form{grid-template-columns:1fr 1fr}.challenge-form .button{grid-column:1 / -1}.match-row{grid-template-columns:36px minmax(110px,1fr) auto}.match-row>svg{display:none}.profile-handle{grid-template-columns:1fr auto}.profile-handle span{grid-column:1 / -1}.formation-presets{grid-template-columns:1fr}.preset-summary{align-items:stretch;flex-direction:column}.preset-summary .button{width:100%}.feedback-submit{align-items:flex-start;flex-direction:column}.feedback-submit .button{width:100%}.tutorial-page{padding-left:8px;padding-right:8px}.tutorial-page .game-toolbar{padding:0 8px}.tutorial-progress{margin:0 auto 20px}.tutorial-progress button{width:31px;height:31px}.tutorial-layout{gap:18px}.tutorial-panel{margin:0 8px;padding:21px}.tutorial-panel h2{font-size:1.7rem}.tutorial-step{margin-bottom:20px}}@media(orientation:landscape)and (max-height:520px)and (max-width:980px){.mobile-only{display:inline-grid}.topbar{height:44px;padding:0 10px}.brand img{width:26px;height:26px}.brand span{font-size:1.18rem}.topbar-actions{gap:1px}.topbar-actions .icon-button{width:34px;height:34px;flex-basis:34px}.sidebar{top:0;z-index:60;width:min(300px,82vw);transform:translate(-102%);transition:transform .2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 5px 12px 13px;border-bottom:1px solid var(--line);margin-bottom:8px}.scrim{display:block;position:fixed;z-index:55;inset:0;border:0;background:#0a0d0b8c}.main-content{padding-top:44px;padding-left:0}.page{padding:10px 12px 34px}.game-page{width:100%;max-width:none;padding:4px 10px 18px}.game-toolbar{min-height:30px;margin-bottom:4px;gap:8px}.game-toolbar h1{font-size:1.14rem}.game-toolbar .eyebrow{display:none}.game-toolbar .button{min-height:30px;padding:0 9px}.game-toolbar .icon-button{width:32px;height:32px;flex-basis:32px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(258px,calc(100vh - 124px)) minmax(0,1fr) minmax(180px,270px);gap:10px;align-items:start;justify-content:stretch}.table-area{grid-column:2;width:min(calc(100vh - 124px),54vw);justify-self:center}.player-bar{height:24px;gap:6px;padding:0 2px}.player-bar div span{display:none}.avatar-stone{width:19px;height:19px}.reserve{font-size:.6rem}.board{border-width:4px}.piece{width:60%}.rank-label,.file-label{font-size:.48rem}.robot-thinking-banner{min-height:32px;margin-top:6px;padding:5px 9px;font-size:.72rem}.thinking-limit{width:27px;height:27px;flex-basis:27px}.thinking-limit:before{width:20px;height:20px}.game-panel{grid-column:4;position:static;width:100%;max-height:calc(100vh - 60px);overflow:auto;border-radius:6px}.status-block{min-height:50px;padding:9px 11px}.control-group{padding:8px 10px 0}.control-group .segmented{min-height:38px}.history-block{min-height:74px;padding:10px}.history-block ol{max-height:112px}.move-choice{bottom:8px;min-height:46px;padding:7px 9px}}@media(max-width:420px){.topbar-actions .icon-button:first-child,.feature-panel img{display:none}.compact-feature{padding:22px}.reserve{font-size:.68rem}.piece{width:70%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
