.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg{overflow:visible}.cg-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}.cg-wrap{width:min(90vmin,640px);aspect-ratio:1 / 1;border:2px solid #2c241c;border-radius:4px;box-shadow:0 12px 40px #00000073;--sq-light: #e3c187;--sq-dark: #885e35;--sq-selected-bg: rgba(255, 200, 80, .5);--sq-selected-ring: rgba(255, 180, 50, .95);--sq-last-move: rgba(232, 184, 60, .42);--sq-move-dot: rgba(20, 85, 30, .65);--sq-move-dot-edge: rgba(20, 85, 30, .85);--sq-capture-ring: rgba(180, 30, 30, .78);--check-glow: rgba(232, 70, 50, .85)}.cg-wrap.theme-wood{--sq-light: #e3c187;--sq-dark: #885e35}.cg-wrap.theme-green{--sq-light: #eeeed2;--sq-dark: #769656;border-color:#3d5a30}.cg-wrap.theme-blue{--sq-light: #dee3e6;--sq-dark: #788a94;border-color:#3d4750}.cg-wrap.lang-th coords coord{color:transparent;position:relative}.cg-wrap.lang-th coords coord:before{color:var(--fg, #ebe8e2);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:inherit;font-weight:600;text-transform:none}.cg-wrap.lang-th coords.files coord:nth-child(1):before{content:"ก"}.cg-wrap.lang-th coords.files coord:nth-child(2):before{content:"ข"}.cg-wrap.lang-th coords.files coord:nth-child(3):before{content:"ค"}.cg-wrap.lang-th coords.files coord:nth-child(4):before{content:"ง"}.cg-wrap.lang-th coords.files coord:nth-child(5):before{content:"จ"}.cg-wrap.lang-th coords.files coord:nth-child(6):before{content:"ฉ"}.cg-wrap.lang-th coords.files coord:nth-child(7):before{content:"ช"}.cg-wrap.lang-th coords.files coord:nth-child(8):before{content:"ซ"}.cg-wrap.lang-th coords.ranks coord:nth-child(1):before{content:"๑"}.cg-wrap.lang-th coords.ranks coord:nth-child(2):before{content:"๒"}.cg-wrap.lang-th coords.ranks coord:nth-child(3):before{content:"๓"}.cg-wrap.lang-th coords.ranks coord:nth-child(4):before{content:"๔"}.cg-wrap.lang-th coords.ranks coord:nth-child(5):before{content:"๕"}.cg-wrap.lang-th coords.ranks coord:nth-child(6):before{content:"๖"}.cg-wrap.lang-th coords.ranks coord:nth-child(7):before{content:"๗"}.cg-wrap.lang-th coords.ranks coord:nth-child(8):before{content:"๘"}.cg-wrap cg-board{background-color:var(--sq-light);background-image:repeating-linear-gradient(90deg,transparent 0 5px,rgba(0,0,0,.045) 5px 6px),repeating-conic-gradient(transparent 0% 25%,var(--sq-dark) 0% 50%);background-size:auto,25% 25%}.cg-wrap cg-board square.selected{background-color:var(--sq-selected-bg);box-shadow:inset 0 0 0 3px var(--sq-selected-ring)}.cg-wrap cg-board square.last-move{background-color:var(--sq-last-move)}.cg-wrap cg-board square.move-dest{background:radial-gradient(var(--sq-move-dot) 24%,var(--sq-move-dot-edge) 25%,transparent 26%)}.cg-wrap cg-board square.oc.move-dest{background:radial-gradient(transparent 0%,transparent 72%,var(--sq-capture-ring) 73%,var(--sq-capture-ring) 82%,transparent 83%)}.cg-wrap cg-board square.check{background:radial-gradient(ellipse at center,var(--check-glow) 0%,rgba(232,70,50,.6) 30%,rgba(0,0,0,0) 70%)}.cg-wrap piece.king.white{background-image:url(/pieces/makruk/white_king.svg)}.cg-wrap piece.queen.white{background-image:url(/pieces/makruk/white_queen.svg)}.cg-wrap piece.bishop.white{background-image:url(/pieces/makruk/white_bishop.svg)}.cg-wrap piece.knight.white{background-image:url(/pieces/makruk/white_knight.svg)}.cg-wrap piece.rook.white{background-image:url(/pieces/makruk/white_rook.svg)}.cg-wrap piece.pawn.white{background-image:url(/pieces/makruk/white_pawn.svg)}.cg-wrap piece.king.black{background-image:url(/pieces/makruk/black_king.svg)}.cg-wrap piece.queen.black{background-image:url(/pieces/makruk/black_queen.svg)}.cg-wrap piece.bishop.black{background-image:url(/pieces/makruk/black_bishop.svg)}.cg-wrap piece.knight.black{background-image:url(/pieces/makruk/black_knight.svg)}.cg-wrap piece.rook.black{background-image:url(/pieces/makruk/black_rook.svg)}.cg-wrap piece.pawn.black{background-image:url(/pieces/makruk/black_pawn.svg)}.cg-wrap.piece-set-yevrowl piece.king.white{background-image:url(/pieces/Khun_white.svg)}.cg-wrap.piece-set-yevrowl piece.queen.white{background-image:url(/pieces/Met_white.svg)}.cg-wrap.piece-set-yevrowl piece.bishop.white{background-image:url(/pieces/Khon_white.svg)}.cg-wrap.piece-set-yevrowl piece.knight.white{background-image:url(/pieces/Ma_white.svg)}.cg-wrap.piece-set-yevrowl piece.rook.white{background-image:url(/pieces/Ruea_white.svg)}.cg-wrap.piece-set-yevrowl piece.pawn.white{background-image:url(/pieces/Bia_white.svg)}.cg-wrap.piece-set-yevrowl piece.king.black{background-image:url(/pieces/Khun_black.svg)}.cg-wrap.piece-set-yevrowl piece.queen.black{background-image:url(/pieces/Met_black.svg)}.cg-wrap.piece-set-yevrowl piece.bishop.black{background-image:url(/pieces/Khon_black.svg)}.cg-wrap.piece-set-yevrowl piece.knight.black{background-image:url(/pieces/Ma_black.svg)}.cg-wrap.piece-set-yevrowl piece.rook.black{background-image:url(/pieces/Ruea_black.svg)}.cg-wrap.piece-set-yevrowl piece.pawn.black{background-image:url(/pieces/Bia_black.svg)}.cg-wrap piece.ghost{opacity:.32}.cg-wrap coords{font-size:11px;font-weight:700;color:#fff0d2f2}.cg-wrap .orientation-white coords.ranks :nth-child(odd),.cg-wrap .orientation-white coords.files :nth-child(2n),.cg-wrap .orientation-black coords.ranks :nth-child(2n),.cg-wrap .orientation-black coords.files :nth-child(odd){color:#321e0ed9}:root{--bg: #1a1816;--fg: #ebe8e2;--fg-dim: #8a857d;--accent: #d4a23c;--accent-fg: #1a1816;--sq-light: #d9bf8a;--sq-dark: #74522e;--sq-selected: #f0c862;--sq-selected-ring: #d4a23c;--sq-last-move: rgba(212, 162, 60, .34);--sq-capture-ring: rgba(180, 50, 50, .7);--board-border: #2c241c;--coord-color: #2c241c;font-family:Sarabun,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;align-items:center;padding:24px 16px;gap:16px}header{text-align:center}header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.5px}.tagline{margin:4px 0 0;color:var(--fg-dim);font-size:14px}main{display:flex;gap:20px;align-items:stretch;justify-content:center;max-width:100%}@media (min-width: 881px){main{flex-wrap:nowrap;height:calc(100vh - 110px);max-height:calc(100vh - 110px);overflow:hidden}.board-container{display:flex;align-items:center;justify-content:flex-end;height:100%;flex:0 0 auto}.cg-wrap{width:min(calc(100vh - 130px),640px)!important;height:min(calc(100vh - 130px),640px)!important;aspect-ratio:1 / 1}}@media (max-width: 880px){main{flex-wrap:wrap}}.sidebar{display:flex;flex-direction:column;gap:8px;min-width:280px;max-width:360px;flex:1 1 320px;font-size:14px;height:100%;max-height:100%;overflow:hidden}.sidebar-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;flex-shrink:0}.sidebar-tab{padding:8px 6px;background:#00000040;color:var(--fg-dim);border:1px solid rgba(255,255,255,.06);border-radius:6px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}.sidebar-tab:hover{background:#ffffff0d;color:var(--fg)}.sidebar-tab.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.sidebar-tab-content{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar-tab-content::-webkit-scrollbar{width:6px}.sidebar-tab-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.status,.controls,.fen,.note{padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.status{display:flex;flex-direction:column;gap:8px}.label{color:var(--fg-dim);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.check{color:#e87a5d;font-weight:600}.gameover{margin-top:4px;padding:6px 8px;background:#e87a5d26;border-radius:4px;color:#f3a78b;font-weight:600}.count-indicator{margin-top:4px;padding:8px 10px;background:#d4a23c24;border-left:3px solid var(--accent);border-radius:4px;font-size:13px;color:var(--fg)}.count-indicator strong{color:var(--accent)}.hint-button{flex:1 1 100%!important;background:#52915a2e!important;border-color:#52915a99!important}.hint-button:hover:not(:disabled){background:#52915a4d!important;border-color:#78c882d9!important}.hint-info{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#52915a1f;border-left:3px solid rgba(82,145,90,.75);border-radius:4px;font-size:13px;color:var(--fg);flex-wrap:wrap}.hint-info strong{font-family:JetBrains Mono,monospace;font-size:13px;color:#b4dcb4}.app.is-check .cg-wrap{animation:check-pulse 1.4s ease-in-out infinite}@keyframes check-pulse{0%,to{box-shadow:0 12px 40px #00000073,0 0 #dc322800}50%{box-shadow:0 12px 40px #00000073,0 0 0 6px #dc32288c}}.turn-badge.is-check{background:#dc32282e!important;border-color:#dc3228d9!important;animation:badge-pulse 1.2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.check-flag{background:#c8392c!important;font-size:13px!important;padding:3px 10px!important;font-weight:700!important;animation:badge-pulse .8s ease-in-out infinite}.check-banner{padding:10px 12px;background:#dc322829;border:2px solid rgba(220,50,40,.75);border-radius:8px;color:#ffd8d2;font-size:13px;line-height:1.45}.check-banner strong{color:#ff9a8a}.rating-panel{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(255,255,255,.06);font-size:13px}.rating-header{display:flex;align-items:baseline;gap:8px}.rating-value{font-size:22px;color:var(--accent);font-family:JetBrains Mono,monospace;letter-spacing:.5px}.rating-recommend{color:var(--fg-dim);font-size:12px}.rating-recommend strong{color:var(--accent)}.rating-byLevel{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.08)}.rating-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px}.rating-row-name{color:var(--fg-dim)}.rating-row-stats{font-family:JetBrains Mono,monospace;font-size:12px}.rating-row-stats .win{color:#8acf6a}.rating-row-stats .loss{color:#e87a5d}.rating-row-stats .draw{color:var(--fg-dim)}.nnue-picker{margin-top:4px}.nnue-enable-button{width:100%;padding:10px 12px;background:#8c64dc26;color:var(--fg);border:1px solid rgba(140,100,220,.55);border-radius:6px;font:inherit;font-size:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease;line-height:1.4}.nnue-enable-button:hover:not(:disabled){background:#8c64dc40;border-color:#aa8cf0d9}.nnue-enable-button:disabled{opacity:.45;cursor:not-allowed}.nnue-loading{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#8c64dc26;border:1px solid rgba(140,100,220,.55);border-radius:6px;font-size:12px}.nnue-loading-text{flex:1;line-height:1.4}.nnue-bar{height:5px;background:#ffffff1a;border-radius:3px;margin-top:6px;overflow:hidden}.nnue-bar-fill{height:100%;background:linear-gradient(90deg,#aa8af0,#d4a23c);transition:width .2s ease-out}.nnue-active{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#8c64dc2e;border:1px solid rgba(170,140,240,.8);border-radius:6px;font-size:13px}.nnue-badge{font-weight:700;color:#c9adff;font-family:JetBrains Mono,monospace;font-size:12px;padding:2px 8px;background:#8c64dc4d;border-radius:4px}.board-container{position:relative;width:min(90vmin,640px);aspect-ratio:1 / 1}.game-over-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#140e0a9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:4px;z-index:20;animation:fade-in .25s ease-out;padding:16px}@keyframes fade-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.game-over-card{background:linear-gradient(180deg,#3a2618f5,#241810f5);padding:24px 28px;border-radius:12px;text-align:center;border:2px solid var(--accent);box-shadow:0 18px 60px #000000b3;max-width:88%;animation:card-pop .32s cubic-bezier(.18,.89,.32,1.28)}@keyframes card-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.game-over-icon{font-size:52px;line-height:1;margin-bottom:8px}.game-over-result{font-size:24px;font-weight:700;color:var(--accent);margin-bottom:6px;letter-spacing:.3px}.game-over-subtitle{font-size:14px;color:var(--fg-dim);margin-bottom:20px;line-height:1.4}.game-over-button{padding:12px 28px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s ease,background-color .12s ease}.game-over-button:hover{background:#e0b855;transform:translateY(-1px)}.game-over-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.game-over-review{background:linear-gradient(135deg,#a37bf5,#d4a23c);color:#1a1816}.game-over-review:hover{background:linear-gradient(135deg,#b48bf5,#e8b855)}.review-launch-button{width:100%;padding:12px 14px;background:linear-gradient(135deg,#a37bf5,#d4a23c);color:#1a1816;border:none;border-radius:8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .12s ease,filter .12s ease}.review-launch-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.review-launch-button:disabled{opacity:.6;cursor:not-allowed}.review-panel{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#8c64dc14;border:1px solid rgba(140,100,220,.4);border-radius:8px}.review-header{display:flex;justify-content:space-between;align-items:center;font-size:14px}.review-exit{background:#ffffff14;color:var(--fg);border:1px solid rgba(255,255,255,.12);border-radius:4px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:12px}.review-exit:hover{background:#ffffff26}.review-summary{display:flex;flex-wrap:wrap;gap:4px}.review-summary-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#ffffff0a;border:1px solid;border-radius:4px;font-size:11px;font-family:JetBrains Mono,monospace}.review-nav{display:flex;align-items:center;gap:4px;justify-content:space-between}.review-nav button{flex:1;padding:6px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:4px;cursor:pointer;font-size:14px}.review-nav button:hover:not(:disabled){background:#ffffff1f}.review-nav button:disabled{opacity:.35;cursor:not-allowed}.review-position{flex:1 1 60px;text-align:center;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--fg-dim);padding:4px;white-space:nowrap}.review-current{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#00000040;border-radius:6px;font-size:12px;line-height:1.5}.review-current-move strong{font-family:JetBrains Mono,monospace;font-size:14px}.review-tag{display:inline-block;padding:1px 6px;border-radius:3px;border:1px solid;font-size:11px;margin-left:4px}.review-current-best strong{font-family:JetBrains Mono,monospace;color:#aa8af0}.review-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;border:1px solid rgba(255,255,255,.06);border-radius:6px}.review-row{display:grid;grid-template-columns:30px 18px 70px 1fr 56px;align-items:center;gap:6px;padding:5px 8px;background:transparent;border:none;border-left:3px solid;border-bottom:1px solid rgba(255,255,255,.04);color:var(--fg);text-align:left;font:inherit;font-size:12px;cursor:pointer;width:100%}.review-row:hover{background:#ffffff0d}.review-row.is-current{background:#8c64dc2e}.review-row-num{color:var(--fg-dim);text-align:right;font-family:JetBrains Mono,monospace}.review-row-uci{font-family:JetBrains Mono,monospace}.review-row-tag{text-align:left;font-weight:700;font-size:11px;padding:1px 6px;border:1px solid;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-filters{display:flex;flex-direction:column;gap:6px;padding:8px;background:#ffffff08;border-radius:4px;margin-bottom:6px}.review-filter-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.review-filter-label{font-size:11px;color:var(--fg-dim);min-width:36px}.review-filter-button{padding:2px 8px;background:#0003;color:var(--fg-dim);border:1px solid rgba(255,255,255,.08);border-radius:3px;font:inherit;font-size:11px;cursor:pointer}.review-filter-button:hover{background:#ffffff0d;color:var(--fg)}.review-filter-button.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.review-empty{padding:14px;text-align:center;font-style:italic}.review-row-eval{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-dim);text-align:right}.history-toggle{background:none;border:none;color:var(--accent);font-size:11px;cursor:pointer;padding:4px 0;text-align:left;align-self:flex-start}.history-toggle:hover{text-decoration:underline}.history-list{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.08);max-height:180px;overflow-y:auto}.history-row{display:grid;grid-template-columns:20px 60px 1fr 44px;gap:6px;font-size:11px;align-items:baseline;padding:2px 0}.history-row .h-outcome{font-weight:700}.history-row .h-outcome.win{color:#8acf6a}.history-row .h-outcome.loss{color:#e87a5d}.history-row .h-outcome.draw,.history-row .h-opponent{color:var(--fg-dim)}.history-row .h-delta{font-family:JetBrains Mono,monospace;text-align:right}.history-row .h-delta.up{color:#8acf6a}.history-row .h-delta.down{color:#e87a5d}.history-row .h-date{color:var(--fg-dim);font-size:10px}.self-play-controls{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#d4a23c14;border:1px solid rgba(212,162,60,.35);border-radius:8px}.self-play-pause{width:100%;padding:8px 14px;background:#e87a5d2e;color:var(--fg);border:1px solid rgba(232,122,93,.55);border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease}.self-play-pause:hover{background:#e87a5d4d}.self-play-pause.is-paused{background:#52915a2e;border-color:#78c88299}.self-play-pause.is-paused:hover{background:#52915a4d}.self-play-takeover{width:100%;padding:8px 14px;background:#8c64dc2e;color:var(--fg);border:1px solid rgba(140,100,220,.5);border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.self-play-takeover:hover{background:#8c64dc4d}.self-play-banner{padding:8px 10px;background:#e87a5d1f;border-left:3px solid rgba(232,122,93,.7);border-radius:4px;font-size:12px;line-height:1.45;color:var(--fg)}.resign-button{flex:1 1 auto;background:#e850462e!important;border-color:#e850468c!important}.resign-button:hover:not(:disabled){background:#e850464d!important;border-color:#ff8278d9!important}.draw-button{flex:1 1 auto;background:#b4b4c829!important;border-color:#b4b4c880!important}.draw-button:hover:not(:disabled){background:#b4b4c847!important;border-color:#dcdcf0d9!important}.draw-refused-banner{margin-top:6px;padding:8px 10px;background:#e87a5d24;border-left:3px solid rgba(232,122,93,.7);border-radius:4px;font-size:12px;line-height:1.4}.rated-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;line-height:1.4;transition:background-color .15s ease,border-color .15s ease}.rated-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:38px;height:22px;border-radius:11px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);cursor:pointer;position:relative;flex-shrink:0;transition:background .18s ease}.rated-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#f5ecd6;border-radius:50%;transition:left .18s ease,background .18s ease}.rated-toggle input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.rated-toggle input[type=checkbox]:checked:after{left:18px;background:#fff}.rated-toggle.is-casual{background:#78c88214;border-color:#78c8824d}.rated-toggle.is-rated{background:#d4a23c29;border-color:#d4a23c8c}.rated-toggle-text strong{color:var(--fg)}.rated-toggle.is-rated .rated-toggle-text strong{color:var(--accent)}.tabs{display:flex;gap:4px;justify-content:center;margin-top:12px;padding:4px;background:#00000040;border-radius:10px;flex-wrap:wrap}.tab{flex:1 1 auto;min-width:80px;padding:8px 14px;background:transparent;color:var(--fg-dim);border:none;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.tab:hover{background:#ffffff0f;color:var(--fg)}.tab.is-active{background:var(--accent);color:var(--accent-fg)}.learn-page,.puzzles-page,.profile-page{max-width:900px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box}.learn-header,.puzzles-header,.profile-header{margin-bottom:20px}.learn-header h2,.puzzles-header h2{margin:0 0 6px;font-size:22px}.learn-header p,.puzzles-header p{margin:4px 0;color:var(--fg-dim);font-size:14px}.learn-status-note{padding:8px 12px;background:#d4a23c1f;border-left:3px solid var(--accent);border-radius:4px;font-size:12px!important;margin-top:8px!important;color:var(--fg)!important}.learn-group{margin-bottom:24px}.learn-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.learn-group-header h3{margin:0;font-size:16px;color:var(--accent)}.learn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.learn-card{display:flex;gap:10px;padding:12px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:8px;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.learn-card:hover:not(:disabled){background:#d4a23c1f;border-color:var(--accent);transform:translateY(-1px)}.learn-card:disabled{opacity:.4;cursor:not-allowed}.learn-card-locked{opacity:.45}.learn-card-status{font-size:20px;width:28px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.learn-card-completed .learn-card-status{color:#8acf6a}.learn-card-body{flex:1}.learn-card-title{font-weight:700;font-size:14px;margin-bottom:4px}.learn-card-desc{font-size:12px;color:var(--fg-dim);line-height:1.4;margin-bottom:6px}.learn-card-meta{font-size:11px}.puzzles-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.puzzle-category-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:8px;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.puzzle-category-card:hover:not(:disabled){background:#d4a23c1f;border-color:var(--accent);transform:translateY(-1px)}.puzzle-category-card:disabled{opacity:.5;cursor:not-allowed}.puzzle-category-title{font-weight:700;font-size:15px}.puzzle-category-desc{font-size:12px;color:var(--fg-dim);line-height:1.4}.puzzle-category-meta{margin-top:4px;font-size:12px;color:var(--fg-dim)}.puzzle-progress{margin-top:4px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.puzzle-progress-fill{height:100%;background:var(--accent);transition:width .2s ease-out}.profile-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.profile-identity{display:flex;align-items:center;gap:10px}.profile-name{margin:0;font-size:24px;font-weight:700}.profile-name-edit-button{background:transparent;color:var(--fg-dim);border:1px solid rgba(255,255,255,.08);border-radius:4px;width:28px;height:28px;font-size:14px;cursor:pointer}.profile-name-edit-button:hover{color:var(--accent);border-color:var(--accent)}.profile-name-edit{display:flex;gap:6px;align-items:center}.profile-name-edit input{padding:6px 10px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.18);border-radius:6px;font:inherit;font-size:16px}.profile-name-edit button{padding:6px 10px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:6px;font:inherit;cursor:pointer}.profile-name-save{background:var(--accent)!important;color:var(--accent-fg)!important;font-weight:600}.profile-rating-block{text-align:center}.profile-rating-value{font-size:38px;font-weight:700;color:var(--accent);font-family:JetBrains Mono,monospace}.profile-rating-label{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.profile-summary-card{padding:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;text-align:center}.profile-summary-num{font-size:22px;font-weight:700;color:var(--accent)}.profile-summary-label{font-size:12px;color:var(--fg-dim);margin-top:2px}.profile-section{margin-bottom:22px}.profile-section h3{margin:0 0 10px;font-size:15px;color:var(--fg);padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.profile-bylevel{display:flex;flex-direction:column;gap:4px}.profile-bylevel-row{display:flex;justify-content:space-between;padding:6px 8px;background:#ffffff08;border-radius:4px;font-size:13px}.profile-bylevel-stats .win{color:#8acf6a;margin-right:6px}.profile-bylevel-stats .loss{color:#e87a5d;margin-right:6px}.profile-bylevel-stats .draw{color:var(--fg-dim);margin-right:6px}.profile-history{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow-y:auto;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:4px}.profile-history-row{display:grid;grid-template-columns:24px 1fr 40px 60px 50px 60px 60px;gap:8px;padding:4px 8px;font-size:12px;align-items:baseline;font-family:JetBrains Mono,monospace}.history-outcome{font-weight:700;text-align:center}.history-outcome.win{color:#8acf6a}.history-outcome.loss{color:#e87a5d}.history-outcome.draw{color:var(--fg-dim)}.history-opponent{color:var(--fg)}.history-side,.history-plies,.history-date{color:var(--fg-dim);font-size:11px}.history-delta{text-align:right;font-weight:600}.history-delta.up{color:#8acf6a}.history-delta.down{color:#e87a5d}.history-rating{color:var(--accent)}.profile-data-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-data-actions button{padding:8px 14px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:6px;font:inherit;font-size:12px;cursor:pointer}.profile-data-actions button:hover{background:#ffffff1f;border-color:var(--accent)}.profile-reset-button{background:#e850462e!important;border-color:#e8504680!important}.profile-reset-button:hover{background:#e850464d!important}.custom-page{max-width:1000px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box}.custom-header h2{margin:0 0 6px;font-size:22px}.custom-header p{margin:4px 0 16px;color:var(--fg-dim);font-size:13px;line-height:1.5}.custom-layout{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.custom-board-wrap{flex:0 0 auto}.custom-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(86vmin,560px);aspect-ratio:1 / 1;border:2px solid #2c241c;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px #0006;--sq-light: #e3c187;--sq-dark: #885e35;background:repeating-conic-gradient(var(--sq-light) 0% 25%,var(--sq-dark) 0% 50%);background-size:25% 25%}.custom-square{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;transition:background-color .12s ease}.custom-square:hover{background-color:#d4a23c40}.custom-piece{width:88%;height:88%;background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.35));pointer-events:none}.custom-coord{position:absolute;font-size:10px;font-weight:700;opacity:.6;pointer-events:none;color:#2c241c}.custom-coord.rank{top:2px;left:4px}.custom-coord.file{bottom:2px;right:4px}.custom-side{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;gap:14px}.custom-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);margin-bottom:6px}.custom-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:10px}.custom-palette-btn{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1 / 1;padding:4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .1s ease}.custom-palette-btn:hover{background:#d4a23c2e;border-color:var(--accent)}.custom-palette-btn.is-selected{background:#d4a23c52;border-color:var(--accent);transform:scale(.95);box-shadow:inset 0 0 0 2px var(--accent)}.palette-piece{width:90%;height:90%;background-size:contain;background-repeat:no-repeat;background-position:center}.custom-eraser{width:100%;padding:8px;background:#e87a5d26;color:var(--fg);border:1px solid rgba(232,122,93,.45);border-radius:6px;font:inherit;font-size:13px;cursor:pointer;margin-top:6px}.custom-eraser.is-active{background:#e87a5d52;box-shadow:inset 0 0 0 2px #e87a5db3}.custom-controls{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.custom-side-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.custom-side-toggle .label{color:var(--fg-dim);font-size:12px}.custom-side-toggle button{flex:1 1 auto;padding:6px 12px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:5px;cursor:pointer;font:inherit}.custom-side-toggle button.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.custom-actions{display:flex;gap:6px}.custom-actions button{flex:1;padding:6px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:5px;font:inherit;font-size:12px;cursor:pointer}.custom-load{margin-top:4px;padding:12px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.custom-load:disabled{opacity:.45;cursor:not-allowed}.custom-error{padding:8px 10px;background:#e8504629;border-left:3px solid rgba(232,80,70,.7);border-radius:4px;font-size:12px;color:#ffd2cd}.custom-fen{margin-top:6px}.custom-fen summary{cursor:pointer;font-size:12px;color:var(--fg-dim)}.custom-fen textarea{width:100%;margin-top:6px;padding:8px;background:#0000004d;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:4px;font:11px/1.4 JetBrains Mono,monospace;resize:vertical;box-sizing:border-box}.learn-footer{margin-top:18px;text-align:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.about-page{max-width:760px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box;line-height:1.6}.about-header{text-align:center;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.about-header h2{margin:0 0 6px;font-size:26px}.about-tag{color:var(--fg-dim);font-size:14px}.about-tag strong{color:var(--accent)}.about-section{margin-bottom:24px}.about-section h3{font-size:17px;margin:0 0 10px;color:var(--accent);padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.about-section h4{font-size:13px;margin:14px 0 8px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.about-section p{margin:8px 0;font-size:14px}.about-section em{color:var(--accent);font-style:normal;font-weight:600}.about-section a{color:var(--accent);text-decoration:none}.about-section a:hover{text-decoration:underline}.about-section code{font-family:JetBrains Mono,monospace;font-size:12px;padding:1px 6px;background:#0000004d;border-radius:3px}.about-bullets{list-style:none;padding:0;margin:8px 0}.about-bullets li{position:relative;padding:4px 0 4px 18px;font-size:14px}.about-bullets li:before{content:"·";position:absolute;left:4px;color:var(--accent);font-weight:700;font-size:16px}.about-bullets-prose{color:var(--fg-dim);font-size:13px}.credits-table{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.credits-row{padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--accent);border-radius:4px}.credits-row-main{font-size:14px;margin-bottom:4px}.credits-row-main a{font-weight:600}.credits-row-role{font-size:12px;color:var(--fg-dim);margin-bottom:4px}.credits-row-license{font-size:11px;color:var(--fg-dim);font-family:JetBrains Mono,monospace}.learn-overall-progress{padding:8px 12px;background:#d4a23c1a;border-left:3px solid var(--accent);border-radius:4px;margin-top:6px;font-size:13px}.learn-overall-progress strong{color:var(--accent);font-size:15px}.learn-interactive-badge{font-size:12px;color:var(--accent)}.lesson-view{max-width:760px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box}.lesson-back{margin-bottom:12px;padding:6px 12px;background:#ffffff0d;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.lesson-back:hover{background:#ffffff1a;border-color:var(--accent)}.lesson-header h2{margin:0 0 6px;font-size:22px}.lesson-desc{color:var(--fg-dim);margin:0 0 14px;font-size:14px}.lesson-body{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.lesson-explanation{padding:12px 14px;background:#d4a23c14;border-left:3px solid var(--accent);border-radius:4px;font-size:13px;line-height:1.6;margin:0}.lesson-stats{display:flex;justify-content:space-between;align-items:center;font-size:13px;flex-wrap:wrap;gap:8px}.lesson-stats code{font-family:JetBrains Mono,monospace;background:#0000004d;padding:1px 6px;border-radius:3px;color:var(--accent);font-size:13px}.lesson-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(86vmin,520px);aspect-ratio:1 / 1;border:2px solid #2c241c;border-radius:4px;overflow:hidden;box-shadow:0 6px 24px #0006;margin:0 auto;--sq-light: #e3c187;--sq-dark: #885e35;background:repeating-conic-gradient(var(--sq-light) 0% 25%,var(--sq-dark) 0% 50%);background-size:25% 25%}.lesson-square{position:relative;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:default}.lesson-square.legal{cursor:pointer}.lesson-square.legal:hover{background-color:#d4a23c4d}.lesson-piece{width:90%;height:90%;background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.35));pointer-events:none}.lesson-dot{position:absolute;width:24%;height:24%;border-radius:50%;background:#52915ab3;box-shadow:0 0 0 3px #52915a66;pointer-events:none}.lesson-dot-capture{background:#e87a3cc7;box-shadow:0 0 0 3px #e87a3c66}.lesson-dot-push{background:#52915ac7}.lesson-coord{position:absolute;font-size:10px;font-weight:700;opacity:.6;pointer-events:none;color:#2c241c}.lesson-coord.rank{top:2px;left:4px}.lesson-coord.file{bottom:2px;right:4px}.lesson-legend{text-align:center;font-size:12px;color:var(--fg-dim)}.legend-chip{font-size:16px;vertical-align:middle;margin:0 2px}.legend-chip.legend-push{color:#52915af2}.legend-chip.legend-capture{color:#e87a3cf2}.lesson-footer{margin-top:18px;display:flex;justify-content:center}.lesson-complete-button{padding:12px 28px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.lesson-complete-button:hover{background:#e0b855}.lesson-comingsoon{text-align:center;padding:28px;background:#ffffff08;border:1px dashed rgba(255,255,255,.12);border-radius:8px;color:var(--fg-dim);font-size:14px}.lesson-comingsoon p{margin:6px 0}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls button{flex:1 1 auto;padding:8px 12px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:6px;font:inherit;font-size:13px;cursor:pointer;transition:background .12s ease}.controls button:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent)}.controls button:disabled{opacity:.35;cursor:not-allowed}.mode-picker{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px 12px;padding:8px 10px;background:#ffffff06;border:1px solid rgba(255,255,255,.05);border-radius:6px}.mode-picker .label{font-size:12px;color:var(--fg-dim);text-align:right}.mode-picker+.mode-picker{border-top:none;border-radius:0;margin-top:-12px}.mode-picker:has(+.mode-picker){border-bottom:1px solid rgba(255,255,255,.04);border-radius:6px 6px 0 0}.mode-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:9px 32px 9px 12px;background-color:#2a2520!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23f5ecd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5 L6 6.5 L11 1.5'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;color:#f5ecd6!important;border:1px solid rgba(245,236,214,.28);border-radius:6px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;color-scheme:dark;text-shadow:none}.mode-picker select:hover{border-color:var(--accent);background-color:#342c25!important}.mode-picker select:focus{outline:2px solid var(--accent);outline-offset:1px}.mode-picker select option{background-color:#2a2520;color:#f5ecd6;padding:6px 8px}.mode-picker select option:checked{background-color:#4a3a28;color:#ffe6b3}.note{padding:10px 12px;background:#d4a23c14;border-left:3px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.5;color:var(--fg)}.note strong{color:var(--accent)}.thinking{color:var(--accent);font-style:italic}.turn-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-weight:600;font-size:15px;border:2px solid transparent;transition:background-color .18s ease,border-color .18s ease}.turn-badge .turn-glyph{font-size:22px;line-height:1}.turn-badge.turn-white{background:#faecc129;border-color:#faecc166}.turn-badge.turn-black{background:#4628148c;border-color:#462814d9}.turn-badge.is-thinking{background:#d4a23c2e;border-color:var(--accent);color:var(--accent)}.spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.check-flag{margin-left:auto;padding:2px 8px;background:#c84a3d;color:#fff;border-radius:4px;font-size:12px}.label-aside{color:var(--fg-dim);font-size:12px}.toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.toggle input{cursor:pointer;accent-color:var(--accent);width:16px;height:16px}.toggle:hover span{color:var(--accent)}.fen{font-size:11px;color:var(--fg-dim);word-break:break-all}.fen code{display:block;margin-top:4px;padding:8px;background:#00000040;border-radius:4px;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:10px;line-height:1.4}footer{margin-top:16px;color:var(--fg-dim);font-size:12px;text-align:center}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;gap:16px;text-align:center;padding:24px}.screen pre{background:#ff50501a;padding:12px;border-radius:6px;max-width:80ch;overflow:auto}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.puzzles-error{padding:10px 14px;background:#e87a3c1a;border-left:3px solid #e87a3c;border-radius:4px;color:#e87a3c;font-size:13px}.puzzle-category-emoji{font-size:30px;margin-bottom:4px}.puzzles-footer{margin-top:18px;padding:12px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.puzzles-footer code{font-family:JetBrains Mono,monospace;background:#0000004d;padding:1px 6px;border-radius:3px;font-size:11px;color:var(--accent)}.puzzle-view{max-width:1100px;margin:0 auto;padding:12px 16px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}@media (min-width: 881px){.puzzle-view{height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow:hidden}.puzzle-main{display:flex;gap:16px;flex:1 1 auto;min-height:0;align-items:stretch}.puzzle-board-wrap{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.puzzle-board-wrap .cg-wrap{width:min(calc(100vh - 200px),520px)!important;height:min(calc(100vh - 200px),520px)!important;aspect-ratio:1 / 1}.puzzle-sidebar{flex:1 1 auto;min-width:280px;max-width:380px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}}@media (max-width: 880px){.puzzle-main{display:flex;flex-direction:column;gap:8px}}.puzzle-loading{text-align:center;color:var(--fg-dim);padding:40px 0}.puzzle-header h2{margin:0;font-size:19px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.puzzle-rating-badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;background:var(--accent);color:var(--accent-fg);border-radius:10px}.puzzle-goal{margin:6px 0;padding:8px 12px;background:#d4a23c1a;border-left:3px solid var(--accent);border-radius:4px;font-size:14px}.puzzle-goal strong{color:var(--accent)}.puzzle-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.puzzle-timer{font-family:JetBrains Mono,monospace;font-weight:600}.puzzle-explanation{margin-top:10px;padding:10px 14px;background:#52915a1a;border-left:3px solid #79b87f;border-radius:4px;font-size:13px;line-height:1.6}.puzzle-best-stats{margin-top:6px;text-align:center;font-size:12px}.puzzle-meta{font-size:12px;color:var(--fg-dim)}.puzzle-feedback{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:36px}.puzzle-feedback-text{font-size:15px;font-weight:700;padding:6px 14px;border-radius:6px;text-align:center}.puzzle-feedback-text.good{background:#52915a2e;color:#79b87f}.puzzle-feedback-text.bad{background:#e85c5c2e;color:#e57a7a}.puzzle-feedback-text.reveal{background:#d4a23c2e;color:var(--accent)}.puzzle-stats{font-size:12px;color:var(--fg-dim)}.puzzle-hint-box{padding:10px 14px;background:#d4a23c1f;border-left:3px solid var(--accent);border-radius:4px;font-size:13px;line-height:1.5}.puzzle-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.puzzle-controls button{padding:8px 18px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.puzzle-controls button.secondary{background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.1)}.puzzle-controls button:hover{filter:brightness(1.1)}.lesson-square.clickable{cursor:pointer}.lesson-square.tint-green{background-color:#52915a59}.lesson-square.tint-red{background-color:#e85c5c59}.lesson-square.tint-yellow{background-color:#d4a23c59}.lesson-readonly-note{margin:6px 0;padding:10px 14px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:4px;text-align:center}.lesson-quiz-prompt{font-size:14px;font-weight:600;text-align:center;padding:8px;margin:0;color:var(--accent)}.lesson-feedback{text-align:center;font-size:13px;font-weight:600;padding:6px 14px;border-radius:6px}.lesson-feedback.good{background:#52915a2e;color:#79b87f}.lesson-feedback.bad{background:#e85c5c2e;color:#e57a7a}.lesson-step-indicator{display:flex;flex-direction:column;gap:6px;margin-top:8px}.lesson-step-bar{display:flex;gap:3px}.lesson-step-bar-cell{flex:1;height:4px;background:#ffffff14;border-radius:2px;transition:background .2s}.lesson-step-bar-cell.on{background:var(--accent)}.lesson-step-heading{margin:0 0 8px;font-size:16px;color:var(--accent)}.lesson-caption{font-size:13px;text-align:center;color:var(--fg-dim);font-style:italic;margin:0 0 8px}.lesson-nav{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;width:100%}.lesson-nav-prev{padding:10px 18px;background:#ffffff0d;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:6px;font:inherit;font-size:14px;cursor:pointer}.lesson-nav-prev:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent)}.lesson-nav-prev:disabled{opacity:.3;cursor:not-allowed}.learn-resume-button{display:block;width:100%;margin:8px 0;padding:10px 14px;background:#d4a23c26;color:var(--accent);border:1px solid var(--accent);border-radius:6px;font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s}.learn-resume-button:hover{background:#d4a23c40}.replay-commentary{padding:12px 14px;background:#d4a23c14;border-left:3px solid var(--accent);border-radius:4px;font-size:13px;line-height:1.6}.replay-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.replay-controls button{padding:8px 18px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.replay-controls button.secondary{background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.1)}.replay-controls button:disabled{opacity:.3;cursor:not-allowed}.counting-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px}.counting-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.counting-stat-label{font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.counting-stat-value{font-size:22px;font-weight:800;font-family:JetBrains Mono,monospace;color:var(--accent)}.counting-stat-value.low{color:#e87a3c}.counting-status{text-align:center;font-size:13px;padding:8px;border-radius:4px;background:#0003}.lesson-quiz-stats{text-align:center;font-size:11px}@media (max-width: 720px){.tabs{max-width:100vw;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;box-sizing:border-box}.tab{flex-shrink:0;font-size:13px;padding:8px 12px}.app{max-width:100vw;overflow-x:hidden}}@media (max-width: 880px){main{flex-direction:column!important}.board-container{width:100%!important;max-width:100%!important}.cg-wrap{max-width:100vmin}.side-panel,.right-panel,aside{width:100%!important;max-width:100%!important}.analyze-row{grid-template-columns:28px 1fr}}@media (max-width: 880px){.board-container{position:sticky;top:0;z-index:5;background:var(--bg);padding-bottom:8px}}@media (max-width: 480px){.learn-page,.puzzles-page,.profile-page,.custom-page,.about-page,.lesson-view,.puzzle-view,.settings-page{padding:10px}.learn-cards{grid-template-columns:1fr!important}.puzzles-categories{grid-template-columns:1fr 1fr!important}.puzzles-stats-bar{grid-template-columns:1fr 1fr!important;gap:6px}.lesson-board{width:min(96vmin,420px)!important}.profile-history-row{flex-wrap:wrap;font-size:12px}.clock-row-time{font-size:16px}.eval-bar{min-height:160px}}.move-log{padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.move-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.move-log-header .label{font-size:12px;font-weight:600;color:var(--fg);letter-spacing:.3px}.move-log-live{padding:2px 10px;background:#e85c5c2e;color:#e87a7a;border:1px solid #e87a7a;border-radius:4px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.move-log-live:hover{background:#e85c5c4d}.move-log-list{display:flex;flex-wrap:wrap;gap:5px;max-height:260px;overflow-y:auto;padding:2px}.move-log-row{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--fg);cursor:pointer;transition:background .12s,border-color .12s}.move-log-row:hover{background:#d4a23c26;border-color:var(--accent)}.move-log-row.is-current{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.move-log-row.start{font-weight:600;color:var(--fg-dim)}.move-log-num{font-weight:700;opacity:.7}.move-log-side{opacity:.7}.review-card{background:linear-gradient(135deg,#52915a2e,#52915a0d);border:1px solid #79b87f;border-radius:8px;padding:16px;margin-bottom:18px}.review-card-tag{font-size:11px;font-weight:700;color:#79b87f;text-transform:uppercase;letter-spacing:.5px}.review-card-title{margin:6px 0;font-size:18px}.review-card-meta{font-size:12px;color:var(--fg-dim);margin:4px 0 12px}.review-card-button{padding:8px 20px;background:#79b87f;color:#1a1816;border:none;border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.custom-hub-actions{display:flex;flex-direction:column;gap:6px;margin-top:8px}.custom-hub-button{padding:8px 14px;background:#ffffff0d;color:var(--fg);border:1px solid rgba(255,255,255,.1);border-radius:6px;font:inherit;font-size:13px;cursor:pointer;text-align:left}.custom-hub-button:hover:not(:disabled){background:#d4a23c1f;border-color:var(--accent)}.custom-hub-button:disabled{opacity:.4;cursor:not-allowed}.library-page{max-width:1000px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box}.library-header h2{margin:0 0 6px;font-size:22px}.library-header p{color:var(--fg-dim);font-size:13px;margin:0 0 10px}.library-search{width:100%;padding:8px 12px;background:#0000004d;color:var(--fg);border:1px solid rgba(255,255,255,.1);border-radius:6px;font:inherit;font-size:13px;margin-top:8px;box-sizing:border-box}.library-empty{text-align:center;padding:60px 20px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:var(--fg-dim)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}.library-card{display:flex;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;gap:10px;padding:8px}.library-card:hover{border-color:var(--accent)}.library-mini-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:96px;height:96px;flex-shrink:0;border:1px solid rgba(0,0,0,.4);background:repeating-conic-gradient(#e3c187,#e3c187 25%,#885e35 0%,#885e35 50%);background-size:25% 25%}.library-mini-square{position:relative}.library-mini-piece{position:absolute;top:0;right:0;bottom:0;left:0;background-size:contain;background-repeat:no-repeat;background-position:center}.library-card-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.library-card-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-card-meta{display:flex;gap:8px;align-items:center;font-size:11px;flex-wrap:wrap}.library-source-tag{padding:1px 6px;background:#d4a23c26;color:var(--accent);border-radius:3px;font-size:10px;font-weight:600}.library-card-note{font-size:12px;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.library-card-tags{display:flex;flex-wrap:wrap;gap:3px}.library-tag{font-size:10px;padding:1px 6px;background:#ffffff0f;color:var(--fg-dim);border-radius:3px}.library-card-actions{display:flex;gap:6px;margin-top:auto}.library-open-button{flex:1;padding:5px 10px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:4px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.library-delete-button{padding:5px 10px;background:#e85c5c1a;color:#e87a7a;border:1px solid rgba(232,92,92,.3);border-radius:4px;font:inherit;font-size:12px;cursor:pointer}.library-delete-button:hover{background:#e85c5c4d}.app-header{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.app-header-brand{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.app-header-brand h1{margin:0;font-size:18px;line-height:1}.app-header-version{font-size:11px;color:var(--fg-dim);font-family:JetBrains Mono,monospace}.app-header .tabs{flex:1 1 auto;margin:0;display:flex;flex-wrap:wrap;gap:4px}.app-profile-widget{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#d4a23c1a;color:var(--fg);border:1px solid var(--accent);border-radius:18px;font:inherit;font-size:13px;cursor:pointer;flex-shrink:0;transition:background .12s}.app-profile-widget:hover{background:#d4a23c33}.app-profile-name{font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-profile-rating{padding:1px 8px;background:var(--accent);color:var(--accent-fg);border-radius:10px;font-family:JetBrains Mono,monospace;font-weight:700;font-size:12px}@media (max-width: 720px){.app-header{gap:8px;padding:6px 8px}.app-header-brand h1{font-size:16px}.app-profile-widget{font-size:12px;padding:4px 10px}main{max-height:none;min-height:0}.cg-wrap{max-height:100%!important;max-width:100%!important}}.review-tabbed{display:flex;flex-direction:column;gap:6px}.review-tabbed-header{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 0}.review-subtabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.review-subtab{padding:6px 8px;background:#0003;color:var(--fg-dim);border:1px solid rgba(255,255,255,.06);border-radius:4px;font:inherit;font-size:12px;cursor:pointer}.review-subtab:hover{background:#ffffff0d;color:var(--fg)}.review-subtab.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:700}.game-report{margin-bottom:8px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;flex-direction:column;gap:8px}.report-header{display:flex;justify-content:space-between;align-items:center}.report-title{font-weight:700;font-size:14px}.report-result{font-size:13px;font-weight:700;padding:3px 10px;border-radius:12px}.report-result.win{background:#52915a2e;color:#79b87f}.report-result.draw{background:#d4a23c2e;color:var(--accent)}.report-result.loss{background:#e85c5c2e;color:#e87a7a}.report-accuracy-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.accuracy-card{background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 8px;text-align:center}.accuracy-card.highlight{border-color:var(--accent)}.accuracy-card-label{font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.accuracy-card-value{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:800;line-height:1.1}.accuracy-card-sub{font-size:11px;color:var(--fg-dim);font-family:JetBrains Mono,monospace}.accuracy-card.tier-gold .accuracy-card-value{color:#f5d76e}.accuracy-card.tier-green .accuracy-card-value{color:#79b87f}.accuracy-card.tier-amber .accuracy-card-value{color:#e8c45a}.accuracy-card.tier-red .accuracy-card-value{color:#e87a7a}.report-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.report-count{display:flex;flex-direction:column;align-items:center;padding:4px 2px;background:#00000026;border-left:3px solid;border-radius:3px}.report-count-num{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:800;line-height:1}.report-count-label{font-size:9px;color:var(--fg-dim);text-align:center;margin-top:2px;line-height:1.1}.report-section-title{font-size:13px;margin:4px 0 0;color:var(--fg)}.report-key-moments{display:flex;flex-direction:column;gap:6px}.report-clean{padding:14px;background:#52915a1a;border:1px solid #79b87f;border-radius:6px;text-align:center;font-size:13px;color:#79b87f}.report-verdict{padding:8px 12px;background:#d4a23c1a;border-left:3px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.5}.report-verdict code{font-family:JetBrains Mono,monospace;background:#0000004d;padding:1px 5px;border-radius:3px}.key-moment{display:flex;gap:10px;padding:8px;background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:6px;font:inherit;font-size:12px;color:var(--fg);cursor:pointer;text-align:left;width:100%}.key-moment:hover{background:#d4a23c14;border-color:var(--accent)}.key-moment-board{position:relative;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:96px;height:96px;flex-shrink:0;border:1px solid rgba(0,0,0,.4);background:repeating-conic-gradient(#e3c187,#e3c187 25%,#885e35 0%,#885e35 50%);background-size:25% 25%}.key-moment-arrows{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.key-moment-arrow-key{display:inline-block;width:14px;font-weight:700;text-align:center;border-radius:2px;font-size:11px}.key-moment-arrow-key.bad{color:#e87a7a;background:#e85c5c26}.key-moment-arrow-key.good{color:#79b87f;background:#52915a26}.key-moment-square{position:relative}.key-moment-piece{position:absolute;top:0;right:0;bottom:0;left:0;background-size:contain;background-repeat:no-repeat;background-position:center}.key-moment-body{flex:1;display:flex;flex-direction:column;gap:4px}.key-moment-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.key-moment-ply{font-weight:700;font-family:JetBrains Mono,monospace}.key-moment-side{opacity:.7}.key-moment-class{font-size:11px;font-weight:700;padding:1px 6px;border:1px solid;border-radius:3px}.key-moment-line code{font-family:JetBrains Mono,monospace;padding:1px 5px;border-radius:3px;font-size:11px}.key-moment-line code.bad{background:#e85c5c26;color:#e87a7a}.key-moment-line code.good{background:#52915a26;color:#79b87f}.advanced-controls{margin:8px 0;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:6px}.advanced-controls>summary{padding:6px 10px;cursor:pointer;font-size:12px;color:var(--fg-dim);list-style:none;-webkit-user-select:none;user-select:none}.advanced-controls>summary::-webkit-details-marker{display:none}.advanced-controls>summary:before{content:"▸ ";display:inline-block;margin-right:4px;transition:transform .15s}.advanced-controls[open]>summary:before{transform:rotate(90deg)}.advanced-controls>*:not(summary){padding:0 10px 8px}.hint-info{margin-top:10px;padding:12px 14px;background:#52915a14;border-left:3px solid #79b87f;border-radius:4px;font-size:13px;line-height:1.55}.hint-info.coach-great{background:#d4a23c1f;border-left-color:var(--accent)}.hint-info.coach-neutral{background:#ffffff0a;border-left-color:#fff3}.hint-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px}.hint-info-eval{font-family:JetBrains Mono,monospace;font-size:12px;padding:2px 8px;background:#0000004d;border-radius:3px;color:var(--accent)}.hint-info-headline{font-size:14px;font-weight:600;margin:4px 0}.hint-info-details{margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--fg-dim)}.hint-info-details li{margin:2px 0}.analyze-panel{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.analyze-button{width:100%;padding:8px 14px;background:#52915a26;color:#79b87f;border:1px solid #79b87f;border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.analyze-button:disabled{opacity:.5;cursor:not-allowed}.analyze-row{display:grid;grid-template-columns:32px 1fr;gap:10px;margin-top:10px;align-items:stretch;min-height:140px;max-height:320px;overflow-y:auto}.analyze-close{margin-top:8px;width:100%;padding:5px 10px;background:#ffffff0a;color:var(--fg-dim);border:1px solid rgba(255,255,255,.08);border-radius:4px;font:inherit;font-size:11px;cursor:pointer}.analyze-close:hover{background:#e85c5c1a;color:#e87a7a;border-color:#e85c5c4d}.resume-banner{position:absolute;top:0;left:0;right:0;z-index:5;padding:12px 16px;background:#140e0ad9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--accent);border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.resume-banner-text{font-size:14px;color:var(--accent);font-weight:600}.resume-banner-actions{display:flex;gap:8px}.resume-button-primary{padding:8px 18px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.resume-button-secondary{padding:8px 14px;background:#ffffff0d;color:var(--fg);border:1px solid rgba(255,255,255,.1);border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.settings-page{max-width:720px;margin:0 auto;padding:16px;width:100%;box-sizing:border-box;line-height:1.6}.settings-header{text-align:center;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.settings-header h2{margin:0 0 6px;font-size:24px}.settings-header p{color:var(--fg-dim);font-size:13px;margin:0}.settings-section{margin-bottom:24px}.settings-section h3{font-size:16px;margin:0 0 12px;color:var(--accent);padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:14px}.setting-row+.setting-row{border-top:1px solid rgba(255,255,255,.04)}.setting-row-label{flex:1;font-size:13px}.setting-row-hint{font-size:11px;color:var(--fg-dim);font-style:italic;margin-top:2px}.setting-row-control select,.setting-row-control input[type=range]{font:inherit;padding:4px 8px;background:#0000004d;color:var(--fg);border:1px solid rgba(255,255,255,.1);border-radius:4px}.setting-row-control select{min-width:180px}.settings-toggle{width:44px;height:24px;border-radius:12px;border:none;padding:2px;cursor:pointer;transition:background .18s;position:relative}.settings-toggle.on{background:var(--accent)}.settings-toggle.off{background:#ffffff1a}.settings-toggle-thumb{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s;transform:translate(0)}.settings-toggle.on .settings-toggle-thumb{transform:translate(20px)}.settings-test-button{padding:6px 14px;background:#d4a23c26;border:1px solid var(--accent);color:var(--accent);border-radius:4px;font:inherit;font-size:12px;cursor:pointer}.settings-test-button:disabled{opacity:.4;cursor:not-allowed}.settings-reset-button{padding:10px 20px;background:#e85c5c26;border:1px solid #e87a7a;color:#e87a7a;border-radius:6px;font:inherit;font-size:14px;cursor:pointer}.eval-bar-live-wrap{width:24px;align-self:stretch;flex:0 0 24px;display:flex}.eval-bar-live-wrap .eval-bar{min-height:0;height:auto;width:100%}.eval-bar{width:24px;height:100%;min-height:200px;position:relative;background:#2c241c;border:1px solid rgba(255,255,255,.1);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.eval-bar-black{background:#1a1816;transition:height .25s}.eval-bar-white{background:#f0e4c8;transition:height .25s}.eval-bar-label{position:absolute;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;padding:2px 4px}.eval-bar-label.top{top:2px}.eval-bar-label.bottom{bottom:2px}.eval-bar-label.for-white{color:#1a1816;background:#f0e4c8}.eval-bar-label.for-black{color:#f0e4c8;background:#1a1816}.eval-bar-depth{font-size:8px;opacity:.7;text-align:center;margin-top:1px}.clock-display{display:flex;flex-direction:column;gap:4px;font-family:JetBrains Mono,monospace}.clock-row{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:4px;transition:all .15s}.clock-row.active{background:#d4a23c26;border-color:var(--accent);box-shadow:0 0 8px #d4a23c4d}.clock-row.low.active{background:#e85c5c2e;border-color:#e87a7a}.clock-row.flagged{opacity:.5}.clock-row-label{font-size:11px;color:var(--fg-dim)}.clock-row-side{font-size:10px;opacity:.6}.clock-row-time{font-size:18px;font-weight:700}.clock-row.active .clock-row-time{color:var(--accent)}.clock-row.low.active .clock-row-time{color:#e87a7a}.multipv-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:4px}.multipv-empty{padding:14px;text-align:center}.multipv-header{padding:4px 8px}.multipv-row{display:grid;grid-template-columns:36px 60px 1fr;gap:8px;align-items:center;padding:6px 10px;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--fg);cursor:pointer;text-align:left}.multipv-row:hover{background:#d4a23c1a;border-color:var(--accent)}.multipv-rank{color:var(--fg-dim);font-weight:700}.multipv-score{font-weight:700}.multipv-score.positive{color:#79b87f}.multipv-score.negative{color:#e57a7a}.multipv-pv{color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis}.daily-card{background:linear-gradient(135deg,#d4a23c26,#d4a23c0d);border:1px solid var(--accent);border-radius:8px;padding:16px;margin-bottom:18px}.daily-card.solved{background:#52915a1f;border-color:#52915a99}.daily-card-tag{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.daily-card.solved .daily-card-tag{color:#79b87f}.daily-card-title{margin:6px 0;font-size:18px}.daily-card-meta{font-size:12px;color:var(--fg-dim);margin:4px 0}.daily-card-meta strong{color:var(--accent)}.daily-card-prompt{margin:8px 0 12px;font-size:13px}.daily-card-button{padding:8px 20px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.daily-card-button:disabled{opacity:.5;cursor:not-allowed}.puzzles-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;margin:10px 0}.puzzles-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.puzzles-stat-label{font-size:10px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.puzzles-stat-value{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;color:var(--accent)}.profile-history-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.profile-history-actions button{padding:6px 14px;background:#d4a23c26;border:1px solid var(--accent);color:var(--accent);border-radius:4px;font:inherit;font-size:12px;cursor:pointer}.history-pgn-button{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--fg);border-radius:3px;padding:2px 8px;font:inherit;font-size:10px;cursor:pointer}.history-pgn-button:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.error-boundary{max-width:640px;margin:2rem auto;padding:2rem;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-radius:12px;color:var(--fg, #e5e7eb);text-align:center}.error-boundary-emoji{font-size:3rem;line-height:1}.error-boundary-title{margin:.75rem 0 .5rem;font-size:1.25rem;font-weight:600}.error-boundary-message{margin:.5rem 0 1rem;color:var(--fg-muted, #9ca3af);line-height:1.5}.error-boundary-scope{margin:.25rem 0 .75rem;opacity:.6}.error-boundary-details{margin:.75rem 0 1.5rem;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:#00000040;padding:.75rem;border-radius:6px;max-height:200px;overflow:auto}.error-boundary-details summary{cursor:pointer;outline:none}.error-boundary-details pre{margin:.5rem 0 0;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:.5rem;justify-content:center}.error-boundary-button{padding:.55rem 1.1rem;border-radius:6px;border:1px solid var(--accent, #d4a23c);background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);font-weight:600;cursor:pointer}.error-boundary-button-secondary{background:transparent;color:var(--fg, #e5e7eb);border-color:var(--border, #2a2e36)}.toast-stack{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000;max-width:min(420px,92vw)}.toast{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-left-width:3px;border-radius:6px;color:var(--fg, #e5e7eb);font-size:.9rem;line-height:1.4;box-shadow:0 8px 24px #00000059;cursor:pointer;animation:toast-slide-in .18s ease-out}@keyframes toast-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{font-size:1rem;font-weight:700}.toast-message{flex:1}.toast-success{border-left-color:#4ade80}.toast-success .toast-icon{color:#4ade80}.toast-info{border-left-color:#60a5fa}.toast-info .toast-icon{color:#60a5fa}.toast-error{border-left-color:#f87171}.toast-error .toast-icon{color:#f87171}.toast-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:1100;padding:1rem}.toast-confirm{width:min(420px,92vw);padding:1.25rem 1.25rem 1rem;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-radius:10px;color:var(--fg, #e5e7eb);box-shadow:0 12px 40px #0000008c}.toast-confirm-message{font-size:.95rem;line-height:1.5;margin-bottom:1rem}.toast-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}.toast-confirm-cancel,.toast-confirm-ok{padding:.5rem 1.1rem;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem}.toast-confirm-cancel{background:transparent;color:var(--fg-muted, #9ca3af);border:1px solid var(--border, #2a2e36)}.toast-confirm-ok{background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:1px solid var(--accent, #d4a23c)}.toast-confirm-destructive{background:#dc2626;color:#fff;border-color:#dc2626}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{display:inline-block;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:4px}.skeleton-line{display:block;margin:.4rem 0}.skeleton-block{display:block;border-radius:8px}.skeleton-card{background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.skeleton-card-thumb{margin-bottom:.4rem}.skeleton-card-body{display:flex;flex-direction:column;gap:.3rem}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:1rem 0}.skeleton-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--fg-muted, #9ca3af)}.skeleton-screen-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border, #2a2e36);border-top-color:var(--accent, #d4a23c);animation:skeleton-spin .9s linear infinite}.skeleton-screen-message{font-size:.9rem}@keyframes skeleton-spin{to{transform:rotate(360deg)}}.key-moment-mine{margin-top:.45rem;padding:.3rem .65rem;background:transparent;color:var(--accent, #d4a23c);border:1px solid var(--accent, #d4a23c);border-radius:4px;font-size:.78rem;cursor:pointer;align-self:flex-start}.key-moment-mine:hover{background:#d4a23c1f}.key-moment-mine:disabled{opacity:.55;cursor:not-allowed;background:#4ade8014;color:#4ade80;border-color:#4ade80}.custom-puzzle-author{margin-top:.75rem;padding:.85rem 1rem;background:#d4a23c0f;border:1px solid rgba(212,162,60,.32);border-radius:6px}.custom-puzzle-author h4{margin:0 0 .35rem}.custom-puzzle-field{display:flex;flex-direction:column;gap:.25rem;margin:.55rem 0;font-size:.88rem}.custom-puzzle-field>span{color:var(--fg-muted, #9ca3af)}.custom-puzzle-field select,.custom-puzzle-field input{padding:.4rem .55rem;background:var(--surface, #1c1f24);color:var(--fg, #e5e7eb);border:1px solid var(--border, #2a2e36);border-radius:4px;font-size:.9rem}.custom-puzzle-solution input{font-family:ui-monospace,SFMono-Regular,monospace}.custom-puzzle-feedback{margin-top:.5rem;padding:.45rem .65rem;border-radius:4px;font-size:.85rem}.custom-puzzle-feedback.good{background:#4ade8026;color:#4ade80}.custom-puzzle-feedback.bad{background:#f8717126;color:#f87171}.custom-puzzle-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.65rem}.custom-puzzle-actions button{padding:.45rem .9rem;background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:0;border-radius:4px;font-weight:600;cursor:pointer}.custom-puzzle-actions button.secondary{background:transparent;color:var(--fg-muted, #9ca3af);border:1px solid var(--border, #2a2e36)}.custom-puzzle-actions button:disabled{opacity:.5;cursor:not-allowed}.profile-mine-button{padding:.55rem 1rem;background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:0;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem}.profile-mine-button:disabled{opacity:.7;cursor:not-allowed;background:#d4a23c66}.profile-event{margin:.5rem 0;padding:.7rem .9rem;border:1px solid var(--border, #2a2e36);border-radius:6px;background:var(--surface, #1c1f24)}.profile-event.active{border-color:var(--accent, #d4a23c);background:#d4a23c0f}.profile-event.upcoming{opacity:.7}.profile-event-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem}.profile-event-status{font-size:.78rem;color:var(--fg-muted, #9ca3af);white-space:nowrap}.profile-event-desc{margin:.3rem 0;font-size:.88rem;line-height:1.45}.profile-event-meta{font-size:.78rem;margin-bottom:.3rem}.profile-event-meta code{font-family:ui-monospace,SFMono-Regular,monospace;background:#ffffff0d;padding:.05rem .3rem;border-radius:3px}.profile-event-score{margin-top:.4rem;padding:.35rem .6rem;background:#4ade8014;border-left:3px solid #4ade80;font-size:.85rem}.profile-gauntlet-active{margin:.5rem 0}.profile-gauntlet-progress{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}.profile-gauntlet-rung{display:flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:4px;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);font-size:.85rem}.profile-gauntlet-rung.won{background:#4ade801f;border-color:#4ade80;color:#4ade80}.profile-gauntlet-rung.current{background:#d4a23c26;border-color:var(--accent, #d4a23c);color:var(--accent, #d4a23c);font-weight:600}.profile-gauntlet-rung.pending{opacity:.45}.profile-gauntlet-icon{font-weight:700}.profile-gauntlet-hint{padding:.45rem .7rem;background:#d4a23c14;border-left:3px solid var(--accent, #d4a23c);border-radius:0 4px 4px 0;font-size:.88rem}.profile-gauntlet-start{padding:.55rem 1.1rem;background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:0;border-radius:6px;font-weight:600;cursor:pointer}.profile-gauntlet-last{margin-top:.5rem;font-size:.88rem}.puzzle-best-optimal{margin-top:.4rem}.puzzle-optimal-badge{display:inline-block;padding:.3rem .65rem;background:linear-gradient(135deg,#d4a23c,#ffd166);color:#1c1f24;border-radius:4px;font-weight:600;font-size:.85rem}.puzzle-golf-toggle{margin-top:.6rem;padding:.5rem .7rem;background:#d4a23c14;border:1px solid rgba(212,162,60,.3);border-radius:6px;font-size:.85rem;line-height:1.5}.puzzle-golf-toggle label{cursor:pointer;display:block}.puzzle-golf-toggle input[type=checkbox]{margin-right:.4rem;vertical-align:middle}.profile-global-lb{display:flex;flex-direction:column;gap:.25rem;margin-top:.6rem;max-height:360px;overflow-y:auto}.profile-global-lb-row{display:grid;grid-template-columns:2.5rem 1fr auto auto;align-items:center;gap:.6rem;padding:.4rem .6rem;background:#ffffff08;border-radius:6px;font-size:.88rem}.profile-global-lb-row.is-me{background:#d4a23c2e;border:1px solid rgba(212,162,60,.5);font-weight:600}.profile-global-lb-rank{color:#ffffff8c;font-weight:600}.profile-global-lb-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-global-lb-meta{font-size:.78rem;color:#fff9}.profile-global-lb-score{font-weight:600;color:var(--accent, #d4a23c)}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:4rem 1rem;color:#ffffffb3}.settings-cloud-status{background:#ffffff0a;border-radius:6px;padding:.7rem .9rem;margin:.6rem 0;line-height:1.5}.settings-cloud-status code{background:#0000004d;padding:.1rem .35rem;border-radius:3px;font-size:.85em}.settings-cloud-enable{padding:.55rem 1.1rem;background:var(--accent, #d4a23c);color:#1c1f24;border:0;border-radius:6px;font-weight:600;cursor:pointer}.settings-cloud-enable:disabled{opacity:.65;cursor:not-allowed}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.onboarding-modal{position:relative;background:#1c1f24;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.6rem 1.4rem;max-width:480px;width:100%;color:#ffffffeb;box-shadow:0 20px 60px #00000080}.onboarding-modal h2{margin:0 0 .6rem;font-size:1.3rem}.onboarding-modal p{margin:.4rem 0;line-height:1.5;font-size:.95rem}.onboarding-meta{color:#fff9;font-size:.8rem!important;margin-top:1rem!important}.onboarding-bullets{margin:.7rem 0;padding-left:1.2rem;line-height:1.7}.onboarding-skip{position:absolute;top:.6rem;right:.8rem;background:transparent;border:0;color:#ffffff8c;cursor:pointer;font-size:.8rem;padding:.25rem .5rem}.onboarding-skip:hover{color:#ffffffe6}.onboarding-buttons{display:flex;justify-content:space-between;margin-top:1.2rem;gap:.6rem}.onboarding-buttons button{padding:.55rem 1.2rem;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffffd9;cursor:pointer;font-size:.92rem}.onboarding-buttons button.primary{background:var(--accent, #d4a23c);color:#1c1f24;border-color:var(--accent, #d4a23c);font-weight:600;margin-left:auto}.onboarding-name-input{width:100%;padding:.6rem .7rem;font-size:1.05rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fffffff2;margin:.5rem 0}.onboarding-opponents{display:flex;flex-direction:column;gap:.5rem;margin:.7rem 0}.onboarding-opponent{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.onboarding-opponent:hover{background:#ffffff0f}.onboarding-opponent.selected{border-color:var(--accent, #d4a23c);background:#d4a23c1f}.onboarding-opponent-emoji{font-size:1.6rem}.onboarding-opponent-body{flex:1}.onboarding-opponent-desc{font-size:.8rem;color:#fff9;margin-top:.15rem}.insights-row{display:flex;gap:1rem;flex-wrap:wrap;margin:.75rem 0}.insights-block{flex:1 1 220px;min-width:0}.insights-label{font-size:.8rem;color:#ffffffa6;margin-bottom:.3rem}.insights-bylevel{display:flex;flex-direction:column;gap:.35rem}.insights-bylevel-row{display:grid;grid-template-columns:5.5rem 1fr;align-items:center;gap:.6rem}.insights-bylevel-name{font-size:.85rem;font-weight:600}.insights-stat{flex:1 1 110px;padding:.5rem .7rem;background:#ffffff0a;border-radius:6px}.insights-stat-value{font-size:1.1rem;font-weight:600;color:var(--accent, #d4a23c)}.insights-stat-label{font-size:.75rem;color:#fff9;margin-top:.15rem}.insights-sidebar{display:flex;flex-direction:column;gap:.25rem}.insights-sidebar-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#ffffff14}.insights-sidebar.compact .insights-sidebar-bar{height:10px}.insights-sidebar-win{background:#4ea36c}.insights-sidebar-draw{background:#7d7d7d}.insights-sidebar-loss{background:#c75555}.insights-sidebar-counts{display:flex;gap:.5rem;font-size:.78rem;color:#ffffffbf}.insights-sidebar-rate{margin-left:auto;font-weight:600;color:#ffffffe6}.insights-sidebar-empty{font-size:.78rem;color:#ffffff80;padding:.3rem 0}.insights-dow{display:flex;gap:.4rem;align-items:flex-end;height:80px;padding:.2rem 0}.insights-dow-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.insights-dow-bar{width:100%;background:var(--accent, #d4a23c);border-radius:3px 3px 0 0;min-height:2px;opacity:.7}.insights-dow-label{font-size:.7rem;color:#fff9}.profile-leaderboard-total{display:flex;align-items:baseline;gap:.75rem;margin:.5rem 0 1rem;padding:.6rem .85rem;background:#d4a23c14;border:1px solid rgba(212,162,60,.32);border-radius:6px}.profile-lb-total-label{color:var(--fg-muted, #9ca3af);font-size:.88rem}.profile-lb-total-value{font-size:1.5rem;font-weight:700;color:var(--accent, #d4a23c)}.profile-lb-total-aside{color:var(--fg-muted, #9ca3af);font-size:.85rem}.profile-leaderboard-rows{display:flex;flex-direction:column;gap:.35rem}.profile-lb-row{display:flex;justify-content:space-between;padding:.4rem .65rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem}.profile-lb-level strong{font-weight:600}.profile-lb-points{color:var(--fg, #e5e7eb)}.profile-lb-note{margin-top:.5rem;font-size:.78rem;color:var(--fg-muted, #9ca3af)}.app-profile-streak{margin-right:.5rem;font-weight:600;color:#ff7a39}.profile-streak-row{display:flex;gap:1.25rem;align-items:baseline;margin:.5rem 0 1rem;font-size:.95rem}.profile-streak-current{font-size:1.1rem}.profile-streak-emoji{font-size:1.4rem;margin-right:.35rem}.profile-streak-longest{color:var(--fg-muted, #9ca3af)}.profile-achievements{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.profile-achievement{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-radius:6px;font-size:.85rem}.profile-achievement.unlocked{border-color:var(--accent, #d4a23c);background:#d4a23c14}.profile-achievement.locked{opacity:.45}.profile-achievement-icon{font-size:1.45rem}.profile-achievement-name{font-weight:600}.profile-achievement-desc{font-size:.78rem;color:var(--fg-muted, #9ca3af);line-height:1.3}.study-page{padding:1rem 1.25rem;max-width:960px;margin:0 auto;height:100%;overflow-y:auto}.study-header{margin-bottom:1rem}.study-header h2{margin:0}.study-subtabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border, #2a2e36);padding-bottom:.5rem;overflow-x:auto}.study-subtab{padding:.5rem .95rem;background:transparent;color:var(--fg-muted, #9ca3af);border:1px solid var(--border, #2a2e36);border-radius:6px;cursor:pointer;white-space:nowrap;font-size:.92rem}.study-subtab.is-active{background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border-color:var(--accent, #d4a23c);font-weight:600}.study-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}.study-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.85rem 1rem;background:var(--surface, #1c1f24);border:1px solid var(--border, #2a2e36);border-radius:8px;text-align:left;cursor:pointer;color:var(--fg, #e5e7eb)}.study-card:hover{border-color:var(--accent, #d4a23c);background:#d4a23c0f}.study-card-title{font-weight:600;font-size:1rem}.study-card-meta{font-size:.78rem;color:var(--fg-muted, #9ca3af)}.study-card-desc{font-size:.85rem;line-height:1.5}.study-view{display:flex;flex-direction:column;gap:.85rem}.study-back{align-self:flex-start;padding:.4rem .8rem;background:transparent;color:var(--accent, #d4a23c);border:1px solid var(--accent, #d4a23c);border-radius:4px;cursor:pointer}.study-view h3{margin:0}.study-view-desc{color:var(--fg-muted, #9ca3af);line-height:1.55}.study-view-board{max-width:480px;margin:.5rem 0}.study-view-stepper{display:flex;gap:.5rem;align-items:center}.study-view-stepper button{padding:.35rem .85rem;background:var(--surface, #1c1f24);color:var(--fg, #e5e7eb);border:1px solid var(--border, #2a2e36);border-radius:4px;cursor:pointer}.study-view-stepper button:disabled{opacity:.4;cursor:not-allowed}.study-view-note{padding:.7rem .9rem;background:#d4a23c14;border-left:3px solid var(--accent, #d4a23c);border-radius:0 4px 4px 0;font-size:.92rem;line-height:1.55}.study-view-line{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.study-move{padding:.18rem .5rem;background:#d4a23c1f;border:0;border-radius:3px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.82rem;cursor:pointer;color:var(--fg, #e5e7eb)}.study-move.is-current{background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);font-weight:600}.study-empty,.study-error{padding:1.5rem;text-align:center;color:var(--fg-muted, #9ca3af)}.review-explore-button{margin-left:.5rem;padding:.25rem .6rem;font-size:.78rem;background:transparent;color:var(--accent, #d4a23c);border:1px solid var(--accent, #d4a23c);border-radius:4px;cursor:pointer}.review-explore-button:hover{background:#d4a23c1f}.review-explore-stepper{margin-top:.6rem;padding:.6rem .75rem;background:#d4a23c14;border:1px solid rgba(212,162,60,.32);border-radius:6px;font-size:.85rem}.review-explore-stepper-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;font-weight:500}.review-explore-exit{padding:.25rem .65rem;background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:0;border-radius:4px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.review-explore-line{margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline}.review-explore-move{padding:.1rem .4rem;border-radius:3px;background:#d4a23c24;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.82rem}.review-explore-move.is-current{background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);font-weight:600}.review-explore-controls{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}.review-explore-controls button{padding:.25rem .7rem;font-size:.82rem;border:1px solid var(--border, #2a2e36);background:var(--surface, #1c1f24);color:var(--fg, #e5e7eb);border-radius:4px;cursor:pointer}.review-explore-controls button:disabled{opacity:.4;cursor:not-allowed}.inspect-banner{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:#140e0ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(212,162,60,.5);border-radius:6px;font-size:.85rem;color:var(--fg, #e5e7eb)}.inspect-banner-live{padding:.35rem .8rem;background:var(--accent, #d4a23c);color:var(--accent-fg, #1c1f24);border:0;border-radius:4px;font-weight:600;cursor:pointer;font-size:.85rem;white-space:nowrap}
