.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}.cm-chessboard .arrow-warning .arrow-head{fill:orange;fill-rule:nonzero}.cm-chessboard .arrow-warning .arrow-line{stroke:orange;stroke-linecap:round;opacity:.6}.cm-chessboard .arrow-danger .arrow-head{fill:red;fill-rule:nonzero}.cm-chessboard .arrow-danger .arrow-line{stroke:red;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-success .arrow-head{fill:green;fill-rule:nonzero}.cm-chessboard .arrow-success .arrow-line{stroke:green;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-info .arrow-head{fill:#00f;fill-rule:nonzero}.cm-chessboard .arrow-info .arrow-line{stroke:#00f;stroke-linecap:round;opacity:.4}.cm-chessboard .arrow-secondary .arrow-head{fill:#666;fill-rule:nonzero}.cm-chessboard .arrow-secondary .arrow-line{stroke:#666;stroke-linecap:butt;opacity:.5}svg.cm-chessboard .promotion-dialog-group rect,svg.cm-chessboard .promotion-dialog-group g[data-piece]{animation:.25s ease-in fade-in}svg.cm-chessboard .promotion-dialog-group .promotion-dialog{fill:#fff;fill-opacity:.7;stroke:#0006}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group{outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group:focus .promotion-dialog-button{stroke:#0000004d;stroke-width:1px}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button{fill:#0000;cursor:pointer;outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button:hover{fill:#0003}svg.cm-chessboard .promotion-dialog-group .piece{pointer-events:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#262421;--bg-elev:#1f1d1b;--card:#302e2b;--card-hover:#3a3733;--field:#3d3a36;--border:#46433e;--text:#fff;--muted:#bab7b1;--accent:#86b84a;--accent-strong:#9bd05c;--accent-ink:#13200a;--good:#7fd49a;--bad:#ff8b8f;--danger-bg:#ff6e731f;--sq-light:#ebecd0;--sq-dark:#779556;--radius:14px;--radius-sm:10px;--shadow:0 12px 32px #00000059;--topbar-h:56px;--tabbar-h:60px;--gutter:16px;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);-webkit-text-size-adjust:100%;margin:0;overflow-x:hidden}body{min-height:100dvh}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.muted{color:var(--muted)}#app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;height:var(--topbar-h);padding:0 var(--gutter);background:var(--bg-elev);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{letter-spacing:.01em;white-space:nowrap;font-weight:700}.topnav{gap:4px;display:none}.topnav__link{border-radius:var(--radius-sm);color:var(--muted);padding:8px 12px;transition:background .15s,color .15s}.topnav__link:hover,.topnav__link[aria-current=page]{background:var(--card);color:var(--text)}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-elev);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar__link{color:var(--muted);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.tabbar__link[aria-current=page]{color:var(--accent-strong)}.view{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--gutter));flex:1}@media (min-width:900px){.topnav{display:flex}.tabbar{display:none}.view{padding-bottom:var(--gutter)}}.page{width:100%;max-width:1180px;padding:var(--gutter);gap:16px;margin:0 auto;display:grid}.page--play{grid-template-columns:minmax(0,1fr);align-items:start}.play-board{justify-self:center;width:100%;min-width:0;max-width:680px}.play-side{gap:12px;min-width:0;display:grid}@media (min-width:900px){.page--play{grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding-top:24px}.play-board{justify-self:stretch;max-width:none}}.page__header{gap:6px;display:grid}.page__title{font-size:26px;font-weight:700}.page__footer{justify-content:flex-end;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:16px}.card__title{margin-bottom:12px;font-size:15px;font-weight:600}.card--error{border-color:#ff8b8f66}.source{color:var(--muted);font-size:13px}.player-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;display:flex}.player-bar__name{font-weight:600}.player-bar__meta{color:var(--muted);font-size:13px}.board-wrap{grid-template-columns:18px minmax(0,1fr);align-items:stretch;gap:8px;margin:8px 0;display:grid}.board-wrap--plain{grid-template-columns:minmax(0,1fr)}.board-host{aspect-ratio:1;width:100%;box-shadow:var(--shadow);border-radius:6px;position:relative;overflow:hidden}.eval-bar{background:#3b4049;border-radius:6px;min-height:100%;position:relative;overflow:hidden}.eval-bar__white{height:var(--white,50%);background:#f1f1ec;transition:height .35s;position:absolute;bottom:0;left:0;right:0}.eval-bar__label{transform-origin:50%;white-space:nowrap;color:var(--muted);pointer-events:none;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%)rotate(-90deg)}.cm-chessboard.coach-board .board .square.white{fill:var(--sq-light)}.cm-chessboard.coach-board .board .square.black{fill:var(--sq-dark)}.cm-chessboard.coach-board .coordinates .coordinate{fill:#3a4a2a;opacity:.8;font-weight:700}.cm-chessboard.coach-board .markers .marker.marker-square{fill:#f6dc608c;opacity:1}.cm-chessboard.coach-board .markers .marker.marker-dot,.cm-chessboard.coach-board .markers .marker.marker-bevel{fill:#141e0e6b;opacity:1}.cm-chessboard.coach-board .markers .marker.marker-bevel{fill:#141e0e6b}.cm-chessboard.coach-board .markers .marker.marker-frame-danger{stroke:#ff5a5a;opacity:.9}.cm-chessboard.coach-board .markers .marker.marker-circle-primary{stroke:#f6dc60;opacity:1}.status__title{font-size:18px;font-weight:700}.status__detail{color:var(--muted);margin-top:4px}.status__note{border-radius:var(--radius-sm);background:#ffffff0f;margin-top:10px;padding:8px 10px;font-weight:500}.status__note[hidden]{display:none}.status__note--good{color:var(--good);background:#6fd09a24}.status__note--bad{background:var(--danger-bg);color:var(--bad)}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-hover);cursor:pointer;min-height:44px;padding:0 14px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn:hover:not(:disabled){border-color:#46505e}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn--primary:hover:not(:disabled){background:var(--accent-strong)}.btn--ghost{background:var(--card-hover)}.btn--danger{color:var(--bad);background:var(--danger-bg);border-color:#ff8b8f4d}.btn--block{width:100%}.settings{gap:12px;display:grid}.field{gap:6px;display:grid}.field__label{color:var(--muted);font-size:13px}.select,.input{background:var(--field);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:0 12px}.input--mono{min-height:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.segmented{background:var(--field);border-radius:var(--radius-sm);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.segment{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-weight:600}.segment.is-active{background:var(--card-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{color:var(--muted);background:#2b3038;border-radius:999px;padding:4px 10px;font-size:12px}.move-list{font-variant-numeric:tabular-nums;max-height:260px;overflow-y:auto}.move-row{border-bottom:1px solid #ffffff0a;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);align-items:center;padding:3px 0;display:grid}.move-row__no{color:var(--muted)}.move-cell{border-radius:6px;min-height:24px;padding:3px 8px}.move-cell--best{color:var(--good)}.move-cell--good{color:#a7e3c2}.move-cell--inaccuracy{color:#f6d365}.move-cell--mistake{color:#ffb36b}.move-cell--blunder{color:var(--bad);font-weight:700}.hero{gap:10px;padding:24px 4px 4px;display:grid}.hero__title{letter-spacing:-.01em;font-size:30px;font-weight:800}.hero__lead{color:var(--muted);max-width:60ch}.feature-grid,.theme-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.feature-card,.theme-card{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-content:start;gap:8px;padding:18px;transition:border-color .15s,transform .15s,background .15s;display:grid}.feature-card:hover,.theme-card:hover{background:var(--card-hover);border-color:#46505e}.feature-card__title,.theme-card__title{font-size:17px;font-weight:700}.feature-card__desc,.theme-card__desc{color:var(--muted);font-size:14px}.feature-card__meta,.theme-card__meta{color:var(--accent-strong);justify-content:space-between;gap:8px;margin-top:4px;font-size:13px;font-weight:600;display:flex}@media (min-width:600px){.feature-grid,.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat{gap:4px;display:grid}.stat__label{color:var(--muted);font-size:13px}.stat__value{font-size:24px;font-weight:800}.puzzle-header{gap:6px;display:grid}.puzzle-title{font-size:20px;font-weight:700}.puzzle-rating{color:var(--muted);font-size:14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:900px){.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}.table th{color:var(--muted);font-weight:600}@media (max-width:380px){:root{font-size:14px}.actions{grid-template-columns:1fr}.hero__title{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body[data-route=trainer] .topbar,body[data-route=trainer] .tabbar{display:none}body[data-route=trainer] .view{padding-bottom:env(safe-area-inset-bottom)}.trainer{background:var(--bg);max-width:560px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.trainer-header{padding:calc(env(safe-area-inset-top) + 8px) 8px 4px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.trainer-header__title{text-align:center;font-size:19px;font-weight:800}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.icon-btn:hover{background:var(--card)}.icon-btn--spacer{pointer-events:none}.coach{align-items:flex-end;gap:12px;padding:12px 16px 10px;display:flex}.coach[hidden]{display:none}.coach__avatar{flex:0 0 96px;width:96px;height:96px}.coach__avatar-img,.coach__avatar-img svg{width:100%;height:100%;display:block}.coach__bubble{color:#1d1c1a;box-shadow:var(--shadow);background:#fff;border-radius:16px;flex:1;margin-bottom:14px;padding:12px 14px;font-size:15px;line-height:1.4;position:relative}.coach__bubble:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:10px solid #fff;position:absolute;bottom:14px;left:-9px}.coach__bubble[data-tone=good]{box-shadow:inset 4px 0 0 var(--accent), var(--shadow)}.coach__bubble[data-tone=bad]{box-shadow:inset 4px 0 0 var(--bad), var(--shadow)}.coach__text{margin:0}.trainer-board{aspect-ratio:1;width:100%}.trainer-board__host,.trainer-board .cm-chessboard{width:100%;height:100%}.panel{background:var(--bg-elev);border-radius:18px 18px 0 0;gap:14px;margin-top:auto;padding:16px;display:grid}.panel[hidden]{display:none}.setup-row{align-items:center;gap:12px;display:flex}.setup-row .select{background:var(--field);border:0;flex:auto;min-width:0;min-height:52px;font-size:16px;font-weight:700}.color-toggle-group{flex:none;gap:8px;display:flex}.color-toggle{background:var(--field);cursor:pointer;border:2px solid #0000;border-radius:10px;place-items:center;width:52px;height:52px;padding:0;display:grid;overflow:hidden}.color-toggle[data-color=w]{background:#d9d9d3}.color-toggle[data-color=b]{background:#2f2d2a}.color-toggle[data-color=random]{background:linear-gradient(90deg,#d9d9d3 50%,#2f2d2a 50%)}.color-toggle.is-active{border-color:var(--accent-strong);box-shadow:0 0 0 2px #9bd05c59}.color-toggle__random{color:#1d1c1a;text-shadow:0 0 2px #fff,0 0 4px #fff;font-size:24px;font-weight:900}.btn--play{color:#fff;cursor:pointer;background:linear-gradient(#8fc152,#6aa034);border:0;border-radius:12px;width:100%;min-height:58px;font-size:20px;font-weight:800;box-shadow:inset 0 -3px #0000002e}.btn--play:hover:not(:disabled){background:linear-gradient(#9bd368,#78b23d)}.game-status__title{font-size:18px;font-weight:800}.game-status__detail{color:var(--muted);min-height:1.4em;margin-top:2px}.game-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.panel--game .btn{background:var(--field);border:0}.panel--game .btn--danger{background:var(--danger-bg)}.panel--game .btn--play{margin-top:2px}.moves{border-top:1px solid var(--border);padding-top:10px}.moves summary{cursor:pointer;color:var(--muted);padding:4px 0;font-weight:600}.moves .move-list{max-height:180px;margin-top:8px}.panel--game .status__note{margin-top:0}
