.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: #a8a39a;--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,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;color-scheme:dark;--container-narrow: 720px;--container-medium: 960px;--container-wide: 1280px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--page-padding-x: clamp(16px, 4vw, 32px);--page-padding-y: 24px}*{box-sizing:border-box}html{scrollbar-gutter:stable}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}.skip-link{position:absolute;top:8px;left:8px;z-index:1000;padding:10px 16px;border-radius:8px;background:var(--accent, #2b6cb0);color:#fff;font-weight:600;text-decoration:none;transform:translateY(-150%);opacity:0;transition:transform .15s ease,opacity .15s ease}.skip-link:focus{transform:translateY(0);opacity:1;outline:2px solid #fff;outline-offset:2px}.app-main:focus{outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}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%}main:has(.board-layout){display:block}.play-stack{display:flex;flex-direction:column;min-height:0}@media (min-width: 881px){.play-stack{height:calc(100vh - 160px);max-height:calc(100vh - 160px);overflow:hidden}.app:has(.play-stack)>.activity-ticker{display:none}.app:has(.play-stack)>footer{display:none}main{flex:1 1 auto;min-height:0;flex-wrap:nowrap;overflow:hidden}.board-container{display:flex;align-items:center;justify-content:flex-end;height:100%;flex:0 0 auto}.cg-wrap{--cg-edge: min( calc(100vh - 180px) , 640px);width:var(--cg-edge)!important;height:var(--cg-edge)!important;aspect-ratio:1 / 1}}@media (max-width: 880px){.play-stack{height:auto;max-height:none;overflow:visible}main{flex-wrap:wrap}}.page{width:100%;margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x);box-sizing:border-box}.page--narrow{max-width:var(--container-narrow)}.page--medium{max-width:var(--container-medium)}.page--wide{max-width:var(--container-wide)}.board-layout{display:grid;gap:16px;align-items:start;width:100%;max-width:1280px;margin:0 auto}@media (min-width: 1024px){.board-layout[data-has-left=true][data-has-right=true]{grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(200px,240px)}.board-layout[data-has-left=true][data-has-right=false]{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.board-layout[data-has-left=false][data-has-right=true]{grid-template-columns:minmax(0,1fr) minmax(200px,240px)}.board-layout[data-has-left=false][data-has-right=false]{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1023px){.board-layout{grid-template-columns:1fr}.board-layout-left{order:3}.board-layout-center{order:1}.board-layout-right{order:2}}.board-layout-left,.board-layout-right{overflow-wrap:anywhere;word-break:break-word}.board-layout-left,.board-layout-right{min-width:0;display:flex;flex-direction:column;gap:12px}.board-layout-center{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.board-layout-board{display:flex;justify-content:center;align-items:center;width:100%}.board-layout-board .cg-wrap{width:min(calc(100vh - 180px),calc(100vw - 540px),640px)!important;height:min(calc(100vh - 180px),calc(100vw - 540px),640px)!important}@media (max-width: 1023px){.board-layout-board .cg-wrap{width:min(calc(100vh - 180px),calc(100vw - 32px))!important;height:min(calc(100vh - 180px),calc(100vw - 32px))!important}}.board-layout-below{width:100%;display:flex;justify-content:center}.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:flex-start;justify-content:center;background:linear-gradient(180deg,#140e0a73,#140e0a2e 35%,#140e0a14);border-radius:4px;z-index:20;animation:fade-in .25s ease-out;padding:12px;pointer-events:none}.game-over-overlay>*{pointer-events:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-card{background:linear-gradient(180deg,#3a2618f5,#241810f5);padding:14px 20px;border-radius:10px;text-align:center;border:2px solid var(--accent);box-shadow:0 12px 36px #0009;max-width:88%;animation:card-pop .32s cubic-bezier(.18,.89,.32,1.28);position:relative}.game-over-close{position:absolute;top:6px;right:8px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:0}.game-over-close:hover,.game-over-close:focus-visible{background:#ffffff14;border-color:#ffffff2e;color:var(--fg)}.game-over-reopen{display:block;width:100%;margin:8px 0;padding:8px 12px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.14);border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.game-over-reopen:hover,.game-over-reopen:focus-visible{background:#d4a23c1a;border-color:#d4a23c66}.game-over-card.is-win{box-shadow:0 18px 60px #000000b3,0 0 #d4a23c00;animation:card-pop .32s cubic-bezier(.18,.89,.32,1.28),win-glow 2.4s ease-in-out .32s infinite}@keyframes win-glow{0%,to{box-shadow:0 18px 60px #000000b3,0 0 #d4a23c00}50%{box-shadow:0 18px 60px #000000b3,0 0 0 8px #d4a23c59}}.game-over-card.is-loss{border-color:#e85a4a99}.game-over-card.is-draw{border-color:#a0a0a080}@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;animation:icon-bounce .6s cubic-bezier(.18,.89,.32,1.28)}@keyframes icon-bounce{0%{transform:scale(.4) rotate(-12deg);opacity:0}50%{transform:scale(1.15) rotate(4deg)}to{transform:scale(1) rotate(0);opacity:1}}.game-over-result{font-size:24px;font-weight:700;color:var(--accent);margin-bottom:6px;letter-spacing:.3px}.game-over-quote{margin:8px auto 12px;padding:8px 12px;background:#ffffff0d;border-radius:8px;font-style:italic;font-size:13px;color:#ffffffd9;max-width:280px;line-height:1.45}.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}.next-cta-row{flex-direction:row!important;flex-wrap:wrap;justify-content:center}.next-cta-row .game-over-button.primary{flex:1 1 140px;min-width:140px;padding:12px 16px;display:inline-flex;flex-direction:column;align-items:center;gap:2px}.game-over-button-sub{font-size:11px;font-weight:500;opacity:.75;letter-spacing:.02em}.next-cta-secondary{flex-direction:row!important;gap:8px;margin-top:4px}.next-cta-secondary .game-over-button.secondary{flex:1 1 auto;padding:8px 14px;font-size:13px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.12)}.next-cta-secondary .game-over-button.secondary:hover{background:#ffffff1a;transform:none}.next-cta-secondary .game-over-review.secondary{background:linear-gradient(135deg,#a37bf5,#d4a23c);color:#1a1816;border:0}@media (max-width: 540px){.next-cta-row{flex-direction:column!important}.next-cta-row .game-over-button.primary{flex:1 1 auto}}.lesson-finale-cta{margin:16px 0 12px;padding:14px 16px;background:#d4a23c14;border:1px solid rgba(212,162,60,.25);border-radius:8px}.lesson-finale-title{font-weight:600;margin-bottom:10px;color:var(--fg)}.lesson-finale-actions{display:flex;gap:8px;flex-wrap:wrap}.lesson-finale-button{flex:1 1 140px;padding:8px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--fg);cursor:pointer;font-weight:500;transition:background .1s ease}.lesson-finale-button:hover{background:#d4a23c2e}.key-moment-commentary{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed rgba(255,255,255,.08);font-size:.85rem;color:#ffffffc7;line-height:1.4}.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:12px 14px;min-height:44px;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{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-card.is-locked{opacity:.85;border-style:dashed;background:#ffffff05}.puzzle-category-card.is-locked:hover{background:#ffffff0d;transform:none}.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;min-width:44px;min-height:44px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.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:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x);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-board-wrap{flex:0 0 auto}.custom-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);box-sizing:content-box;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}.custom-square{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:none;cursor:pointer;transition:background-color .12s ease}.custom-square.light{background:var(--sq-light)}.custom-square.dark{background:var(--sq-dark)}.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{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:underline;text-decoration-thickness:1px;text-underline-offset:2px}.about-section a:hover{text-decoration-thickness:2px}.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:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x);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)}.back-button{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;align-self:flex-start}.back-button: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:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x);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{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-empty-icon{font-size:3rem;margin-bottom:.5rem;opacity:.85}.library-empty h3{margin:0 0 .4rem;color:var(--fg);font-size:1.1rem}.library-empty-cta{margin-top:1rem;padding:.6rem 1.4rem;background:var(--accent, #d4a23c);color:#1a1a1a;border:0;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.library-empty-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d4a23c40}.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;cursor:help}.app-header-beta{display:inline-block;margin-left:4px;padding:1px 6px;background:#d4a23c2e;border:1px solid rgba(212,162,60,.55);border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.08em;color:#f0d488;cursor:help;text-transform:uppercase}.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-sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.35;flex-shrink:0}.app-profile-title{padding:1px 8px;border:1px solid currentColor;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.profile-rating-title{font-size:13px;font-weight:600;margin-top:2px;letter-spacing:.02em}.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;display:inline-flex;align-items:center;gap:3px}.app-profile-rating-label{font-size:9px;font-weight:600;opacity:.7;letter-spacing:.05em}.app-profile-unit{font-size:9px;font-weight:500;opacity:.7;margin-left:1px}@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{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:min(180px,100%);max-width:100%}.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)}.history-row-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-row-button:hover:not(:disabled){background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.history-row-button:disabled{opacity:.4;cursor:not-allowed}.history-delete-button:hover:not(:disabled){background:#b94a4a;border-color:#b94a4a;color:#fff}.history-replay{display:flex;flex-direction:column;gap:1rem}.history-replay-back{align-self:flex-start;background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--fg);border-radius:4px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.history-replay-back:hover{background:#ffffff0f}.history-replay-header{display:flex;flex-direction:column;gap:.4rem}.history-replay-vs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.history-replay-outcome.is-win{color:#6abf69;font-weight:600}.history-replay-outcome.is-loss{color:#d57272;font-weight:600}.history-replay-outcome.is-draw{color:#c8b06b;font-weight:600}.history-replay-warning{background:#cc741a1f;border:1px solid rgba(204,116,26,.35);border-radius:4px;padding:6px 10px;font-size:12px;color:#d49a55}.history-replay-stepper{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.history-replay-stepper button{min-width:2.4rem;padding:6px 10px;font-size:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--fg);border-radius:4px;cursor:pointer}.history-replay-stepper button:hover:not(:disabled){background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.history-replay-stepper button:disabled{opacity:.35;cursor:not-allowed}.history-replay-ply{min-width:6rem;text-align:center}.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-themes,.puzzle-attempts{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08)}.puzzle-themes-row,.puzzle-attempts-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.puzzle-theme-tag{font-size:.75rem;padding:.15rem .55rem;background:#d4a23c1f;border:1px solid rgba(212,162,60,.3);border-radius:12px;color:#ffffffd9}.puzzle-attempt{font-size:.78rem;padding:.1rem .4rem;background:#c7555526;border:1px solid rgba(199,85,85,.35);border-radius:4px;color:#ffc8c8d9}.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}.bottom-nav{display:none}@media (max-width: 720px){.app-header nav.tabs{display:none}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#131517;border-top:1px solid rgba(255,255,255,.08);padding:.2rem .1rem calc(.2rem + env(safe-area-inset-bottom,0px));gap:2px}.bottom-nav-tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.4rem .1rem;min-width:0;background:transparent;border:0;color:#fff9;font:inherit;font-size:.68rem;cursor:pointer}.bottom-nav-tab.is-active{color:var(--accent, #d4a23c)}.bottom-nav-icon{font-size:1.2rem;line-height:1}.bottom-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-nav-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#00000080}.bottom-nav-sheet{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:51;background:#1a1816;border-top:1px solid rgba(212,162,60,.4);border-radius:12px 12px 0 0;padding:.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.bottom-nav-sheet-item{display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem;background:#ffffff0a;border:0;border-radius:8px;color:#ffffffd9;font:inherit;font-size:.88rem;cursor:pointer;text-align:left}.bottom-nav-sheet-item.is-active{background:#d4a23c2e;color:var(--accent, #d4a23c)}.bottom-nav-sheet-icon{font-size:1.3rem}body{padding-bottom:60px}.app footer{margin-bottom:60px}}.footer-about-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.activity-ticker{display:flex;align-items:center;gap:1.5rem;padding:.35rem 1rem;background:#d4a23c0f;border-bottom:1px solid rgba(212,162,60,.15);font-size:.82rem;color:#ffffffbf;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.activity-ticker::-webkit-scrollbar{display:none}.activity-ticker-item{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem}.profile-signals{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.5rem}.profile-signal{display:flex;flex-direction:column;padding:.6rem 1rem;background:#ffffff0a;border-radius:8px;min-width:120px}.profile-signal-value{font-size:1.5rem;font-weight:700;color:var(--accent, #d4a23c)}.profile-signal-label{font-size:.75rem;color:#ffffffa6}.profile-signal-row{width:100%;font-size:.85rem;color:#fffc;padding-top:.3rem}.profile-tournaments{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.profile-tournament{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px}.profile-tournament.is-active{background:#d4a23c1f;border-color:#d4a23c8c}.profile-tournament-icon{font-size:1.8rem}.profile-tournament-body{flex:1}.profile-tournament-name{font-weight:600}.profile-tournament-live{color:#4ea36c;font-size:.78rem;letter-spacing:.05em;margin-left:.2rem}.puzzles-counting-banner{display:flex;align-items:center;gap:.8rem;width:100%;margin-top:.8rem;padding:.9rem 1.1rem;background:linear-gradient(135deg,#d4a23c40,#d4a23c14);border:1px solid rgba(212,162,60,.5);border-radius:10px;color:inherit;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s}.puzzles-counting-banner:hover{transform:translateY(-1px);border-color:#d4a23ccc}.puzzles-counting-icon{font-size:2.2rem;line-height:1}.puzzles-counting-text{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.puzzles-counting-text strong{font-size:1.05rem}.puzzles-counting-cta{font-weight:600;color:var(--accent, #d4a23c);white-space:nowrap}.profile-journey{display:flex;flex-direction:column;gap:.8rem}.profile-journey-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.7rem .9rem;background:#d4a23c14;border-radius:8px}.profile-journey-current-icon,.profile-journey-next-icon{font-size:2rem;line-height:1}.profile-journey-arrow{font-size:1.3rem;opacity:.5}.profile-journey-current-name,.profile-journey-next-name{font-weight:600;font-size:1rem}.profile-journey-checks{display:flex;flex-direction:column;gap:.4rem}.profile-journey-check{padding:.5rem .7rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px}.profile-journey-check.done{background:#4ea36c1f;border-color:#4ea36c66}.profile-journey-check-head{display:flex;align-items:center;gap:.5rem;font-size:.88rem}.profile-journey-check-icon{font-size:1rem}.profile-journey-check-label{flex:1}.profile-journey-check-count{font-size:.78rem;color:#fff9}.profile-journey-check-bar{margin-top:.4rem;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.profile-journey-check-fill{height:100%;background:var(--accent, #d4a23c);transition:width .4s ease}.profile-journey-ladder{display:flex;justify-content:space-between;align-items:center;padding:.6rem .4rem;margin-top:.5rem;background:#ffffff05;border-radius:6px}.profile-journey-step{display:flex;flex-direction:column;align-items:center;gap:.15rem;opacity:.4;font-size:1.2rem}.profile-journey-step.is-here{opacity:1;transform:scale(1.2)}.profile-badges{display:flex;flex-direction:column;gap:1rem;margin-top:.6rem}.profile-badges-cat h4{font-size:.85rem;font-weight:600;margin:0 0 .35rem;color:#ffffffd9}.profile-badges-row{display:flex;gap:.5rem;flex-wrap:wrap}.profile-badge{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .7rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;flex:1 1 200px;min-width:0}.profile-badge.unlocked.tier-bronze{border-color:#cd7f328c;background:#cd7f321a}.profile-badge.unlocked.tier-silver{border-color:#c0c0c08c;background:#c0c0c01a}.profile-badge.unlocked.tier-gold{border-color:#ffd7008c;background:#ffd7001a}.profile-badge.unlocked.tier-diamond{border-color:#50c8ff8c;background:#50c8ff1a}.profile-badge.locked{opacity:.55}.profile-badge-icon{font-size:1.6rem;width:32px;text-align:center}.profile-badge-name{font-weight:600;font-size:.88rem}.profile-badge-desc{font-size:.78rem;color:#ffffffa6;margin-top:.15rem}.profile-badge-cert-link{display:inline-block;margin-top:.3rem;font-size:.75rem;color:var(--accent, #d4a23c);text-decoration:none}.profile-badge-cert-link:hover{text-decoration:underline}.cert-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px)}.cert-card{max-width:520px;width:100%;padding:2.5rem 2rem;background:linear-gradient(135deg,#d4a23c1f,#ffffff05);border:2px solid rgba(212,162,60,.4);border-radius:12px;text-align:center}.cert-icon-big{font-size:5rem;line-height:1}.cert-badge-name{font-size:1.5rem;margin:.6rem 0 .2rem}.cert-tier-tag{display:inline-block;padding:.2rem .8rem;border-radius:999px;font-size:.78rem;font-weight:600;margin:.3rem 0}.cert-tier-tag.tier-bronze{background:#cd7f3240;color:#ffc794}.cert-tier-tag.tier-silver{background:#c0c0c040;color:#e0e0e0}.cert-tier-tag.tier-gold{background:#ffd70038;color:#ffe770}.cert-tier-tag.tier-diamond{background:#50c8ff40;color:#b8e6ff}.cert-desc{color:#ffffffbf;margin:.4rem 0}.cert-meta{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.cert-name{font-size:1.1rem;font-weight:600;color:#fffffff2}.cert-province{color:#fff9;margin-top:.2rem}.cert-date{color:#ffffff80;margin-top:.4rem;font-size:.78rem}.cert-cta{margin-top:1.5rem;padding:.6rem 1.3rem;background:var(--accent, #d4a23c);color:#1c1f24;border:0;border-radius:6px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.profile-bots-tabs{display:flex;gap:.4rem;margin:.5rem 0 .8rem;flex-wrap:wrap}.profile-bots-tabs button{padding:.7rem 1rem;min-height:44px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#ffffffbf;font-size:.82rem;cursor:pointer}.profile-bots-tabs button.is-active{background:#d4a23c33;border-color:#d4a23c99;color:#fffffff2}.profile-bots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-top:.5rem}.profile-bot-card{display:flex;flex-direction:column;padding:.6rem .8rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:inherit;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.profile-bot-card:hover{background:#ffffff0f}.profile-bot-card.is-expanded{background:#d4a23c14;border-color:#d4a23c66}.profile-bot-card-head{display:flex;align-items:center;gap:.5rem}.profile-bot-avatar{font-size:1.5rem;width:36px;text-align:center}.profile-bot-id{flex:1;display:flex;flex-direction:column;min-width:0}.profile-bot-id strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-bot-tier{font-size:1rem}.profile-bot-detail{margin-top:.6rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.profile-bot-detail p{margin:.3rem 0;font-size:.85rem;line-height:1.5}.profile-global-lb-bot-tag{margin-left:.2rem}.profile-lb-scope-tabs{display:flex;gap:.4rem;margin:.5rem 0 .8rem;flex-wrap:wrap}.profile-lb-scope-tabs button{padding:.35rem .8rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#ffffffbf;font-size:.82rem;cursor:pointer}.profile-lb-scope-tabs button.is-active{background:#d4a23c33;border-color:#d4a23c99;color:#fffffff2}.profile-lb-scope-tabs button:disabled{opacity:.4;cursor:not-allowed}.profile-global-lb-province{font-size:.78rem;color:#ffffff8c;margin-left:.3rem}.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}.settings-province-picker{display:flex;align-items:center;gap:.5rem;margin:.6rem 0;flex-wrap:wrap}.settings-province-picker select{flex:1 1 200px;padding:.4rem;min-width:0}.settings-province-save{padding:.4rem .8rem;background:var(--accent, #d4a23c);color:#1c1f24;border:0;border-radius:4px;font-weight:600;cursor:pointer}.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}@media (max-width: 720px){.onboarding-backdrop{align-items:flex-end;padding:0}.onboarding-modal{border-radius:16px 16px 0 0;max-width:none;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 -20px 60px #0000008c;animation:onboarding-sheet-up .25s ease-out}@keyframes onboarding-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.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:.4rem;right:.4rem;background:transparent;border:0;color:#ffffff8c;cursor:pointer;font-size:.8rem;min-width:44px;min-height:44px;padding:.5rem .7rem;display:inline-flex;align-items:center;justify-content:center}.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{filter:grayscale(60%);background:#ffffff05}.profile-achievement-icon{font-size:1.45rem}.profile-achievement-name{font-weight:600}.profile-achievement-desc{font-size:.78rem;color:var(--fg-dim);line-height:1.3}.study-page{padding:var(--page-padding-y) var(--page-padding-x);max-width:var(--container-wide);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 .board-layout-right .study-view-stepper{width:100%;flex-wrap:wrap;justify-content:center}.study-view .board-layout-right .study-view-stepper .label-aside{flex:0 0 100%;text-align: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;min-height:3.3em;display:flex;align-items:center}.study-view-note.is-empty{background:#ffffff05;border-left-color:#ffffff1f;font-style:italic}.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}.bot-detail-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:20px}.bot-detail-back:hover{background:#ffffff0f}.bot-detail-hero{display:flex;gap:20px;align-items:center;padding:20px;background:linear-gradient(135deg,#d4a23c1f,#a37bf514);border:1px solid rgba(212,162,60,.25);border-radius:12px}.bot-detail-avatar{font-size:4.5rem;line-height:1;flex-shrink:0}.bot-detail-headline{flex:1;min-width:0}.bot-detail-name{margin:0 0 6px;font-size:1.5rem;color:var(--fg)}.bot-detail-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bot-detail-tier,.bot-detail-personality,.bot-detail-rating{padding:3px 10px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);font-size:13px;color:var(--fg)}.bot-detail-tier[data-tier=rookie]{border-color:#cd7f32}.bot-detail-tier[data-tier=veteran]{border-color:silver}.bot-detail-tier[data-tier=master]{border-color:#d4a23c}.bot-detail-rating{font-family:JetBrains Mono,monospace;font-weight:700}.bot-detail-motto{text-align:center;font-size:1.15rem;font-style:italic;color:#ffffffd9;padding:16px 20px;margin:16px 0;border-top:1px dashed rgba(255,255,255,.1);border-bottom:1px dashed rgba(255,255,255,.1)}.bot-detail-section{margin-top:18px}.bot-detail-section h3{margin:0 0 8px;font-size:1rem;color:var(--fg)}.bot-detail-section p{margin:0;line-height:1.55;color:#ffffffd9}.bot-detail-lore{font-style:italic}.bot-detail-list{margin:4px 0 0;padding-left:20px}.bot-detail-list li{margin:4px 0;line-height:1.5;color:#ffffffd9}.bot-detail-howtobeat{padding:12px 14px;background:#7aba7f14;border:1px solid rgba(122,186,127,.25);border-radius:8px}.bot-detail-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:8px}.bot-detail-stat{padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;text-align:center}.bot-detail-stat.highlight{background:#d4a23c1a;border-color:#d4a23c59}.bot-detail-stat-num{font-size:1.5rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--fg)}.bot-detail-stat-label{font-size:12px;color:var(--fg-dim);margin-top:2px}.bot-detail-cta{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.bot-detail-challenge{flex:1 1 200px;padding:12px 18px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .1s ease}.bot-detail-challenge:hover{transform:translateY(-1px)}.bot-detail-share{flex:0 0 auto;padding:12px 18px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:14px;cursor:pointer}.bot-detail-share:hover{background:#ffffff1a}.bot-detail-error,.stats-error,.challenge-error{color:#c75555;margin-bottom:12px}.challenge-bots-error{color:#c75555;font-size:13px}@media (max-width: 540px){.bot-detail-hero{flex-direction:column;text-align:center}.bot-detail-avatar{font-size:3.5rem}.bot-detail-tags{justify-content:center}}.profile-bot-card-meta{margin-top:6px;font-size:12px}.today-strip{display:flex;gap:12px;align-items:center;padding:10px 14px;margin:12px auto;max-width:920px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow-x:auto}.today-strip-label{font-size:12px;font-weight:600;color:#ffffffd1;white-space:nowrap;flex-shrink:0;letter-spacing:.04em}.today-strip-items{display:flex;gap:10px;flex:1;min-width:0}.today-chip{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;text-align:left;color:var(--fg);font-size:13px;transition:background .1s ease,border-color .1s ease,transform .1s ease}.today-chip:hover{background:#d4a23c1a;border-color:#d4a23c4d;transform:translateY(-1px)}.today-chip.is-done{opacity:.65}.today-chip.is-active{background:#7aba7f1a;border-color:#7aba7f59}.today-chip-rivalry{background:#e85a4a14;border-color:#e85a4a4d}.today-chip-rivalry:hover{background:#e85a4a26;border-color:#e85a4a80}.today-chip-suggestion{background:#7aba7f14;border-color:#7aba7f52}.today-chip-suggestion:hover{background:#7aba7f29;border-color:#7aba7f80}.today-chip-exhibition{background:#6096dc14;border-color:#6096dc4d}.today-chip-exhibition:hover{background:#6096dc29;border-color:#6096dc80}.today-chip-icon{font-size:1.3rem;flex-shrink:0}.today-chip-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.today-chip-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-chip-meta{font-size:11px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 540px){.today-strip{flex-direction:column;align-items:stretch;gap:8px}.today-strip-items{flex-direction:column}}.dyk-card{max-width:920px;margin:8px auto 12px;padding:10px 14px;background:linear-gradient(135deg,#d4a23c14,#d4a23c05);border:1px solid rgba(212,162,60,.28);border-radius:10px;display:flex;flex-direction:column;gap:8px}.dyk-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#d4a23cf2}.dyk-prefix{font-size:13px}.dyk-body{display:flex;align-items:flex-start;gap:12px}.dyk-icon{font-size:1.7rem;flex-shrink:0;line-height:1}.dyk-text{flex:1;min-width:0}.dyk-title{font-weight:600;font-size:14px;color:var(--fg);margin-bottom:2px}.dyk-subtitle{font-size:12.5px;color:#ffffffc7;line-height:1.45}.dyk-actions{display:flex;gap:8px;flex-wrap:wrap}.dyk-action{padding:6px 14px;border-radius:6px;border:1px solid transparent;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .1s ease,border-color .1s ease}.dyk-action-primary{background:#d4a23cd9;color:#1a1410}.dyk-action-primary:hover{background:#d4a23c}.dyk-action-secondary,.dyk-action-tertiary{background:#ffffff0a;color:#ffffffd1;border-color:#ffffff24}.dyk-action-secondary:hover,.dyk-action-tertiary:hover{background:#ffffff14;border-color:#ffffff3d}.dyk-action-tertiary{opacity:.78}@media (max-width: 540px){.dyk-actions{flex-direction:column}.dyk-action{width:100%}}.drill-page{max-width:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.drill-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:20px}.drill-back:hover{background:#ffffff0f}.drill-error{color:#c75555}.drill-index-header{margin-bottom:18px}.drill-index-header h2{margin:0 0 4px}.drill-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.drill-card{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;cursor:pointer;color:var(--fg);transition:background .1s ease,border-color .1s ease,transform .1s ease}.drill-card:hover{background:#d4a23c1a;border-color:#d4a23c4d;transform:translateY(-1px)}.drill-card.is-cleared{border-color:#7aba7f66;background:#7aba7f0f}.drill-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.drill-card-stars{font-size:14px}.drill-card-desc{margin:0 0 4px;color:#ffffffd9;font-size:13px;line-height:1.45}.drill-runner .drill-header{margin-bottom:16px}.drill-runner .drill-header h2{margin:0 0 4px}.drill-board-col{display:flex;justify-content:center}.drill-sidebar{display:flex;flex-direction:column;gap:14px}.drill-counter{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:14px 16px;text-align:center}.drill-counter-label{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em}.drill-counter-value{font-size:2.4rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--fg);line-height:1.1;margin:4px 0}.drill-counter-unit{font-size:1rem;font-weight:400;color:var(--fg-dim)}.drill-counter-bar{height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin:8px 0 4px}.drill-counter-fill{height:100%;background:#7aba7f;transition:width .3s ease,background .3s ease}.drill-counter-bar.is-warn .drill-counter-fill{background:#e8c45a}.drill-counter-bar.is-danger .drill-counter-fill{background:#e85a4a}.drill-hint{padding:10px 12px;background:#d4a23c1a;border:1px solid rgba(212,162,60,.3);border-radius:8px;font-size:13px;color:#ffffffe6;line-height:1.5}.drill-action{padding:10px 16px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}.drill-action:hover{filter:brightness(1.05)}.drill-secondary{background:#ffffff14;color:var(--fg);border:1px solid rgba(255,255,255,.15)}.drill-secondary:hover{background:#ffffff24}.drill-result{padding:16px;border-radius:10px;text-align:center}.drill-result.is-won{background:#7aba7f1f;border:1px solid rgba(122,186,127,.35)}.drill-result.is-failed{background:#e85a4a14;border:1px solid rgba(232,90,74,.3)}.drill-result-icon{font-size:2.5rem;line-height:1}.drill-result-title{font-weight:700;font-size:1.1rem;margin:6px 0 2px}.drill-result-meta{font-size:13px;color:var(--fg-dim)}.drill-result-stars{font-size:1.4rem;margin:8px 0 4px}.drill-result-actions{display:flex;gap:8px;margin-top:12px;justify-content:center;flex-wrap:wrap}@media (max-width: 720px){.drill-layout{grid-template-columns:1fr}}.puzzles-flagship-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.puzzles-rush-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#e85a4a1f,#d4a23c14);border:1px solid rgba(232,90,74,.3);border-radius:10px;cursor:pointer;text-align:left;color:var(--fg);font-size:13px;transition:transform .1s ease,background .1s ease}.puzzles-rush-banner:hover{transform:translateY(-1px);background:linear-gradient(135deg,#e85a4a2e,#d4a23c1f)}@media (max-width: 640px){.puzzles-flagship-row{grid-template-columns:1fr}}.rush-page{max-width:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.rush-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.rush-intro{text-align:center;padding:30px 20px}.rush-intro-icon{font-size:3.5rem;margin-bottom:8px}.rush-intro h2{margin:0 0 8px}.rush-intro-best{margin:18px 0;font-size:15px}.rush-start{padding:14px 32px;background:linear-gradient(135deg,#e85a4a,#d4a23c);color:#1a1a1a;border:0;border-radius:8px;font-weight:700;font-size:16px;cursor:pointer;margin-top:12px}.rush-start:hover{filter:brightness(1.1);transform:translateY(-1px)}.rush-active .rush-hud{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px}.rush-hud-stat{padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;text-align:center}.rush-hud-label{font-size:14px;margin-right:4px}.rush-hud-value{font-weight:700;font-family:JetBrains Mono,monospace;font-size:1.1rem}.rush-hud-time .rush-hud-value{color:#d4a23c}.rush-hud-score .rush-hud-value{color:#7aba7f}.rush-hud-strikes .rush-hud-value{color:#e85a4a}.rush-board{position:relative;transition:filter .15s ease}.rush-board.flash-correct{filter:brightness(1.05) drop-shadow(0 0 12px rgba(122,186,127,.5))}.rush-board.flash-wrong{filter:brightness(.92) drop-shadow(0 0 12px rgba(232,90,74,.5))}.rush-board-hint{text-align:center;margin-top:8px}.rush-result{text-align:center;padding:30px 20px}.rush-result-icon{font-size:3.5rem}.rush-result h2{margin:8px 0 16px}.rush-result-score{font-size:3rem;font-weight:700;font-family:JetBrains Mono,monospace;color:#d4a23c;margin:10px 0}.rush-result-best{margin:16px 0;font-size:15px}.rush-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.rush-secondary{padding:12px 18px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;font-size:14px}.rush-secondary:hover{background:#ffffff1f}.challenge-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0 auto 12px;max-width:920px;background:linear-gradient(135deg,#e85a4a26,#d4a23c1a);border:1px solid rgba(232,90,74,.4);border-radius:10px}.challenge-banner-icon{font-size:1.4rem;flex-shrink:0}.challenge-banner-body{display:flex;flex-direction:column;flex:1;min-width:0}.challenge-banner-body strong{font-size:14px;color:var(--fg)}.challenge-banner-quote{margin-top:6px;font-style:italic;font-size:12px;color:#ffffffb3}.challenge-banner-clear{flex-shrink:0;padding:6px 12px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--fg-dim);font-size:12px;cursor:pointer}.challenge-banner-clear:hover{background:#ffffff14;color:var(--fg)}@media (max-width: 540px){.challenge-banner{flex-wrap:wrap}.challenge-banner-clear{width:100%}}.profile-bots-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;margin-bottom:12px}.profile-bots-live-link{padding:8px 14px;background:#e85a4a14;border:1px solid rgba(232,90,74,.3);border-radius:6px;color:var(--fg);font-size:13px;cursor:pointer}.profile-bots-live-link:hover{background:#e85a4a26}.exhibition-page{max-width:880px;margin:0 auto;padding:24px 16px 60px}.exhibition-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.exhibition-header{margin-bottom:16px}.exhibition-header h2{margin:0 0 4px}.exhibition-error{color:#c75555}.exhibition-list{display:flex;flex-direction:column;gap:10px}.exhibition-card{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--fg);transition:background .1s ease,transform .1s ease}.exhibition-card:hover{background:#d4a23c1a;transform:translateY(-1px)}.exhibition-card-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.exhibition-side{display:inline-flex;align-items:center;gap:6px;font-weight:500}.exhibition-side:last-child{justify-content:flex-end}.exhibition-avatar{font-size:1.2rem}.exhibition-result{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.exhibition-result.is-white{background:#f0f0f02e;color:#f5f5f5;border:1px solid rgba(255,255,255,.3)}.exhibition-result.is-black{background:#3c3c3c66;color:#ddd;border:1px solid rgba(255,255,255,.15)}.exhibition-result.is-draw{background:#d4a23c26;color:#d4a23c;border:1px solid rgba(212,162,60,.3)}.exhibition-card-meta{margin-top:4px;font-size:12px}.exhibition-replay-header{margin-bottom:14px}.exhibition-replay-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:4px}.exhibition-replay-board{display:flex;justify-content:center;margin-bottom:12px}.exhibition-stepper{display:flex;justify-content:center;align-items:center;gap:8px;padding:10px;background:#ffffff08;border-radius:8px}.exhibition-stepper button{padding:6px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--fg);cursor:pointer;font-size:14px}.exhibition-stepper button:disabled{opacity:.4;cursor:not-allowed}.exhibition-stepper button:not(:disabled):hover{background:#ffffff1f}.study-banner-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.study-trainer-banner{padding:8px 14px;background:linear-gradient(135deg,#a37bf526,#d4a23c1a);border:1px solid rgba(163,123,245,.35);border-radius:8px;color:var(--fg);font-size:13px;cursor:pointer}.study-trainer-banner:hover{background:linear-gradient(135deg,#a37bf540,#d4a23c2e)}.my-puzzles-section{margin:10px 0 16px;padding:12px 16px;background:#d4a23c0f;border:1px solid rgba(212,162,60,.25);border-radius:10px}.my-puzzles-empty{background:#ffffff08;border-style:dashed;border-color:#ffffff1a}.my-puzzles-section h3{margin:0 0 4px;font-size:1rem}.my-puzzles-link{color:#d4a23c;text-decoration:underline}.my-puzzles-list{list-style:none;padding:0;margin:8px 0 0}.my-puzzles-row{display:flex;gap:8px;align-items:center;margin:4px 0}.my-puzzles-open{flex:1;text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:var(--fg);cursor:pointer}.my-puzzles-open:hover{background:#d4a23c1f;border-color:#d4a23c66}.my-puzzles-open strong{display:block;margin-bottom:2px}.my-puzzles-delete{flex-shrink:0;padding:8px 12px;background:transparent;border:1px solid rgba(232,90,74,.3);border-radius:6px;color:#e85a4acc;cursor:pointer;font-size:14px}.my-puzzles-delete:hover{background:#e85a4a1f}.custom-puzzle-solution-row{display:flex;gap:6px;align-items:stretch}.custom-puzzle-solution-row input{flex:1}.custom-puzzle-suggest{padding:6px 12px;background:#a37bf526;border:1px solid rgba(163,123,245,.4);border-radius:6px;color:var(--fg);font-size:12px;cursor:pointer;white-space:nowrap}.custom-puzzle-suggest:hover:not(:disabled){background:#a37bf540}.custom-puzzle-suggest:disabled{opacity:.5;cursor:not-allowed}.survive-page{max-width:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.survive-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.survive-header{margin-bottom:16px}.survive-header h2{margin:0 0 4px}.survive-runner-head{margin-bottom:12px;text-align:center}.survive-error{color:#c75555}.survive-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.survive-card{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--fg)}.survive-card:hover{background:#7aba7f1a;border-color:#7aba7f59}.survive-card.is-cleared{border-color:#7aba7f80;background:#7aba7f14}.survive-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.survive-card-best{font-size:12px;color:#d4a23c;font-weight:600}.survive-counter{text-align:center;font-size:1.15rem;font-weight:700;font-family:JetBrains Mono,monospace;color:#d4a23c;margin:0 0 10px}.survive-board{display:flex;justify-content:center}.survive-result{margin-top:14px;padding:16px;text-align:center;border-radius:10px}.survive-result.is-cleared{background:#7aba7f1f;border:1px solid rgba(122,186,127,.35)}.survive-result.is-mated{background:#e85a4a1a;border:1px solid rgba(232,90,74,.35)}.survive-result-icon{font-size:2.4rem}.survive-result-title{font-weight:700;font-size:1.1rem;margin:4px 0}.survive-restart{margin-top:10px;padding:8px 18px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;font-weight:600;cursor:pointer}.pattern-page{max-width:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.pattern-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.pattern-intro{text-align:center;padding:30px 20px}.pattern-intro-icon{font-size:3.5rem;margin-bottom:6px}.pattern-intro h2{margin:0 0 8px}.pattern-best{margin:18px 0;font-size:15px}.pattern-start{padding:12px 28px;background:linear-gradient(135deg,#a37bf5,#d4a23c);color:#1a1a1a;border:0;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer}.pattern-start:hover{filter:brightness(1.05)}.pattern-start:disabled{opacity:.5;cursor:not-allowed}.pattern-secondary{padding:10px 18px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;font-size:14px}.pattern-hud{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:14px;margin-bottom:12px;padding:10px 14px;background:#ffffff0a;border-radius:8px}.pattern-board{position:relative;margin-bottom:16px}.pattern-board-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#140e0af0;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:1.2rem;color:#ffffffb3}.pattern-board-overlay-text{padding:12px 18px;background:#ffffff0d;border-radius:8px;border:1px dashed rgba(255,255,255,.2)}.pattern-quiz{margin-top:14px}.pattern-prompt{font-size:1.1rem;font-weight:600;text-align:center;margin-bottom:12px}.pattern-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pattern-choice{padding:14px 18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--fg);font-size:1rem;font-weight:600;cursor:pointer}.pattern-choice:hover:not(:disabled){background:#d4a23c26;border-color:#d4a23c59}.pattern-choice:disabled{cursor:default}.pattern-choice.is-correct{background:#7aba7f33;border-color:#7aba7f80;color:#b6e2c4}.pattern-choice.is-wrong{background:#e85a4a2e;border-color:#e85a4a73;color:#f6b8b0}.pattern-next{margin-top:12px;text-align:center}.pattern-result{text-align:center;padding:30px 20px}.pattern-result-icon{font-size:3rem}.pattern-result h2{margin:8px 0 12px}.pattern-result-score{font-size:2.4rem;font-weight:700;color:#d4a23c;font-family:JetBrains Mono,monospace;margin:4px 0}.pattern-result-meta{font-size:15px;margin:8px 0;color:#b6e2c4}.pattern-result-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.play-quick-actions{display:flex;gap:8px;justify-content:center;margin:0 auto 10px;max-width:920px;padding:0 12px}.play-quick-button{padding:8px 18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--fg);font-size:13px;font-weight:600;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;gap:6px}.play-quick-button:hover:not(:disabled){background:#ffffff1f}.play-quick-button:disabled{opacity:.5;cursor:not-allowed}.play-quick-resign{border-color:#e85a4a66;color:#ffc8c8e6}.play-quick-resign:hover:not(:disabled){background:#e85a4a26}.mastery-motif-subtitle{margin:14px 0 6px;font-size:13px;color:var(--fg-dim);font-weight:600}.mastery-motif-grid{display:flex;flex-wrap:wrap;gap:6px}.mastery-motif-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:14px;font-size:12px}.mastery-motif-count{font-weight:700;font-family:JetBrains Mono,monospace;color:#d4a23c}.season-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:8px}.season-tile{padding:12px 14px;background:#d4a23c0f;border:1px solid rgba(212,162,60,.25);border-radius:10px;text-align:center}.season-tile-label{font-size:12px;color:var(--fg-dim);margin-bottom:4px}.season-tile-value{font-size:1.4rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--accent)}.season-tile-sub{font-size:11px;color:var(--fg-dim);margin-top:4px}.season-active-line{font-size:13px;margin:6px 0 10px}.season-hof-list{list-style:none;padding:0;margin:0}.season-hof-list li{margin:4px 0}.season-hof-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--fg);cursor:pointer}.season-hof-row:hover{background:#d4a23c1a}.season-hof-winners{margin:6px 0 10px 12px;padding:10px 14px;background:#d4a23c0f;border-left:2px solid rgba(212,162,60,.4);border-radius:4px}.season-hof-winner{display:flex;justify-content:space-between;font-size:13px;padding:2px 0}.cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px}.cosmetic-card{padding:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;text-align:center;color:var(--fg);cursor:pointer}.cosmetic-card:hover:not(:disabled){background:#d4a23c1a;border-color:#d4a23c59}.cosmetic-card.is-selected{background:#d4a23c2e;border-color:var(--accent)}.cosmetic-card.is-locked{opacity:.55;cursor:not-allowed;border-style:dashed}.cosmetic-glyph{font-size:1.6rem;line-height:1}.cosmetic-name{font-weight:600;margin:4px 0 2px;font-size:13px}.cosmetic-hint{font-size:11px;color:var(--fg-dim)}.app-profile-cosmetic{font-size:14px;padding:0 4px;display:inline-flex;align-items:center}.mastery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:8px}.mastery-tile{padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;text-align:center}.mastery-tile-label{font-size:12px;color:var(--fg-dim);margin-bottom:4px}.mastery-tile-value{font-size:1.4rem;font-weight:700;font-family:JetBrains Mono,monospace}.mastery-tile-sub{font-size:11px;color:var(--fg-dim);margin-top:2px}.rush-mode-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.rush-mode-header{margin-bottom:20px}.rush-mode-header h2{margin:0 0 4px}.rush-mode-subheader{font-size:1rem;margin:22px 0 12px;color:var(--fg-dim)}.rush-mode-tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.rush-mode-tier-card{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;color:var(--fg);cursor:pointer}.rush-mode-tier-card:hover{background:#e85a4a1a;border-color:#e85a4a59}.rush-mode-tier-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rush-mode-tier-best{font-size:12px;color:#d4a23c;font-weight:600}.rush-mode-tier-desc{margin:0 0 6px;font-size:13px;color:#ffffffd9;line-height:1.4}.rush-mode-active{padding:16px;background:linear-gradient(135deg,#e85a4a26,#d4a23c1a);border:1px solid rgba(232,90,74,.4);border-radius:10px;margin-bottom:22px}.rush-mode-active-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rush-mode-active-current{font-size:1.1rem;font-weight:600;margin:10px 0}.rush-mode-active-actions{display:flex;gap:8px}.rush-mode-resume{padding:8px 16px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;font-weight:600;cursor:pointer}.rush-mode-cancel{padding:8px 14px;background:transparent;color:var(--fg-dim);border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;font-size:13px}.trainer-page{max-width:var(--container-wide);margin:0 auto;padding:var(--page-padding-y) var(--page-padding-x)}.trainer-back{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:18px}.trainer-header{margin-bottom:18px}.trainer-header h2{margin:0 0 4px}.trainer-error{color:#c75555}.trainer-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.trainer-card{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;cursor:pointer;color:var(--fg)}.trainer-card:hover{background:#d4a23c1a;border-color:#d4a23c4d}.trainer-card.is-mastered{border-color:#7aba7f80;background:#7aba7f0f}.trainer-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.trainer-card-best{font-size:12px;font-weight:600;color:#d4a23c}.trainer-card-desc{margin:0 0 6px;font-size:13px;color:#ffffffd9;line-height:1.4}.trainer-board{display:flex;justify-content:center;transition:filter .15s ease}.trainer-board.flash-correct{filter:drop-shadow(0 0 12px rgba(122,186,127,.5))}.trainer-board.flash-wrong{filter:drop-shadow(0 0 12px rgba(232,90,74,.5))}.trainer-sidebar{display:flex;flex-direction:column;gap:12px}.trainer-counter{padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;text-align:center}.trainer-counter-label{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em}.trainer-counter-value{font-size:1.8rem;font-weight:700;font-family:JetBrains Mono,monospace}.trainer-hint{padding:8px 12px;background:#d4a23c1a;border:1px solid rgba(212,162,60,.3);border-radius:8px;font-size:13px;color:#ffffffe6}.trainer-result{padding:14px;background:#7aba7f1a;border:1px solid rgba(122,186,127,.3);border-radius:8px;text-align:center}.trainer-result-icon{font-size:2rem}.trainer-result-title{font-weight:700;margin:4px 0}.trainer-result-actions{display:flex;gap:8px;margin-top:10px;justify-content:center;flex-wrap:wrap}.trainer-result-actions button{padding:8px 14px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;font-weight:600;cursor:pointer}.trainer-result-actions button.secondary{background:#ffffff14;color:var(--fg);border:1px solid rgba(255,255,255,.15)}@media (max-width: 720px){.trainer-layout{grid-template-columns:1fr}}.stats-page{display:flex;flex-direction:column;gap:18px}.stats-hero{text-align:center;padding:8px 0 0}.stats-title{margin:0;font-size:1.45rem;color:#fffffff2}.stats-subtitle{margin:6px 0 0;color:var(--fg-dim);font-size:13px}.stats-section{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px}.stats-section h3{margin:0 0 12px;font-size:1.05rem;color:#ffffffeb}.stats-section-intro{margin:0 0 14px;color:var(--fg-dim);font-size:14px;line-height:1.55}.stats-headline-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats-card{padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;text-align:center}.stats-card-online{border-color:#7aba7f66}.stats-num{font-size:1.8rem;font-weight:700;font-family:JetBrains Mono,monospace;color:#fffffff5;display:inline-flex;align-items:center;gap:6px}.stats-online-dot{color:#7aba7f;font-size:.7em}.stats-label{margin-top:4px;font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.05em}.stats-foot{margin:12px 0 0;font-size:12px;color:var(--fg-dim)}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table th,.stats-table td{padding:8px 6px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.stats-table th{font-weight:600;color:var(--fg-dim);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.stats-rank{color:var(--fg-dim);font-family:JetBrains Mono,monospace}.stats-dim{color:var(--fg-dim)}.stats-family-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stats-family{padding:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;flex-direction:column;gap:10px}.stats-family-a{border-left:4px solid #7aba7f}.stats-family-b{border-left:4px solid #d4a23c}.stats-family-c{border-left:4px solid #6aa6ff}.stats-family header{display:flex;flex-direction:column;gap:4px}.stats-family-tag{display:inline-block;padding:2px 8px;background:#ffffff1a;border-radius:4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg);align-self:flex-start}.stats-family h4{margin:0;font-size:1rem}.stats-family-q{margin:0;font-style:italic;color:#ffffffc7;font-size:14px}.stats-family-note{margin:0;font-size:12px;color:var(--fg-dim);line-height:1.5}.stats-family-stats{margin:0;display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:13px}.stats-family-stats dt{color:var(--fg-dim)}.stats-family-stats dd{margin:0;font-family:JetBrains Mono,monospace;font-weight:600}.stats-family-link{font-size:13px;color:var(--accent)}.stats-cta{text-align:center}.stats-cta-btn{padding:10px 20px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;font-weight:600;cursor:pointer;margin-top:8px}.challenge-page{display:flex;flex-direction:column;gap:18px}.challenge-hero{text-align:center;padding:4px 0 0}.challenge-hero h2{margin:0;font-size:1.45rem}.challenge-tag{margin:8px 0 0;color:#ffffffc7;line-height:1.55;font-size:14px}.challenge-builder,.challenge-history,.challenge-accept-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px}.challenge-builder h3,.challenge-history h3{margin:0 0 12px;font-size:1.05rem}.challenge-form{display:flex;flex-direction:column;gap:14px}.challenge-field{display:flex;flex-direction:column;gap:6px;font-size:14px}.challenge-field>span,.challenge-field legend{color:var(--fg-dim);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.challenge-field select{padding:8px 10px;background:#0003;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--fg);font-size:14px}.challenge-radio{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}.challenge-create-btn{padding:12px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px}.challenge-create-btn:disabled{opacity:.5;cursor:not-allowed}.challenge-share{margin-top:16px;padding:14px;background:#d4a23c14;border:1px solid rgba(212,162,60,.3);border-radius:8px}.challenge-share-label{margin:0 0 8px;font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em}.challenge-share-url{display:block;padding:8px 10px;background:#00000040;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px;word-break:break-all;color:#ffffffe6;margin-bottom:10px}.challenge-share-actions{display:flex;gap:8px;flex-wrap:wrap}.challenge-share-actions button{padding:8px 14px;background:#ffffff14;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:13px;cursor:pointer}.challenge-share-actions button:hover{background:#ffffff24}.challenge-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.challenge-history-list li{display:flex;align-items:center;gap:10px;padding:10px;background:#0000002e;border-radius:6px;font-size:13px}.challenge-history-role{flex:0 0 auto;font-weight:600;color:var(--fg-dim)}.challenge-history-bot{flex:1}.challenge-history-result{font-family:JetBrains Mono,monospace}.challenge-history-link{color:var(--accent);font-weight:600}.challenge-accept-header{text-align:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.challenge-accept-from{display:inline-block;padding:4px 10px;background:#d4a23c26;border:1px solid rgba(212,162,60,.4);border-radius:4px;font-size:12px;color:#ffffffd9}.challenge-accept-header h2{margin:10px 0 0;font-size:1.6rem;line-height:1.3}.challenge-accept-by{color:var(--accent);font-weight:800}.challenge-accept-verb{font-weight:700}.challenge-accept-tagline{margin:10px auto 0;max-width:38em;font-size:13.5px;color:#ffffffc7;line-height:1.55}.challenge-accept-bot{display:flex;align-items:flex-start;gap:16px;padding:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-bottom:14px}.challenge-accept-avatar{font-size:2.5rem;line-height:1;flex-shrink:0}.challenge-accept-bot-info{flex:1;min-width:0}.challenge-accept-bot h3{margin:0;font-size:1.05rem}.challenge-accept-bot-meta{margin:4px 0 0;color:var(--fg-dim);font-size:13px}.challenge-accept-bot-lore{margin:8px 0 0;font-size:12.5px;color:#ffffffb3;line-height:1.5;font-style:italic}.challenge-accept-target{margin:0 0 14px;padding:12px 14px;background:#d4a23c1a;border:1px solid rgba(212,162,60,.38);border-radius:8px;text-align:center}.challenge-accept-target-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#d4a23cf2;margin-bottom:8px}.challenge-accept-target-stats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:16px;font-weight:700;color:var(--fg)}.challenge-accept-target-outcome{color:var(--accent)}.challenge-accept-target-moves,.challenge-accept-target-quality{color:#ffffffeb}.challenge-accept-target-by{margin-top:6px;font-size:12px;color:var(--fg-dim);font-style:italic}.challenge-accept-prior{margin:0 0 14px;padding:8px 12px;background:#6096dc1a;border:1px solid rgba(96,150,220,.28);border-radius:6px;font-size:13px;color:#ffffffe0}.challenge-accept-prior-cta{color:var(--fg-dim);font-size:12px}.challenge-accept-rules{margin:0 0 16px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px}.challenge-accept-rules dt{color:var(--fg-dim)}.challenge-accept-rules dd{margin:0;font-weight:600}.challenge-accept-btn{width:100%;padding:12px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px}.challenge-accept-note{margin:10px 0 0;text-align:center;font-size:12px;color:var(--fg-dim)}.exhibition-tier-chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}.exhibition-tier-chip{padding:6px 12px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.exhibition-tier-chip:hover:not(:disabled){background:#ffffff1a}.exhibition-tier-chip.is-active{background:#d4a23c26;border-color:#d4a23c80;color:#fffffff2}.exhibition-tier-chip:disabled{opacity:.35;cursor:not-allowed}.exhibition-side-name{margin-left:4px}.exhibition-tier-badge{display:inline-block;padding:1px 6px;margin-left:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;font-size:11px;letter-spacing:.02em}.exhibition-tier-badge.is-rookie{border-color:#cd7f3280}.exhibition-tier-badge.is-veteran{border-color:#c0c0c080}.exhibition-tier-badge.is-master{border-color:#d4a23c99}.exhibition-tier-badge.is-boss{border-color:#b450c899;background:#b450c81a}.score-family-tag{display:inline-block;width:1.6em;height:1.6em;line-height:1.6em;margin-right:6px;border-radius:4px;text-align:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.75em;letter-spacing:0;vertical-align:middle}.score-family-a-tag{background:#7aba7f38;border:1px solid rgba(122,186,127,.55);color:#a6d6a6}.score-family-b-tag{background:#d4a23c38;border:1px solid rgba(212,162,60,.55);color:#f0d488}.score-family-c-tag{background:#6aa6ff38;border:1px solid rgba(106,166,255,.55);color:#a6c4ff}.profile-family-label{font-size:.72em;color:var(--fg-dim);font-weight:500;letter-spacing:.03em}.about-tag-en{font-size:13px;font-style:italic;color:var(--fg-dim);max-width:640px;margin:8px auto 0;line-height:1.5}.about-scoring-table{display:flex;flex-direction:column;gap:12px;margin:12px 0}.about-scoring-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px}.about-scoring-row>span.score-family-tag{flex:0 0 auto;width:2em;height:2em;line-height:2em;font-size:.95em}.about-scoring-row strong{display:block;margin-bottom:2px;font-size:15px;color:#fffffff2}.about-scoring-row p{margin:4px 0 0;font-size:12px}.settings-account-security{margin-top:12px}.settings-account-details{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:0 12px}.settings-account-details summary{padding:12px 0;font-weight:600;cursor:pointer;list-style:none}.settings-account-details summary::-webkit-details-marker{display:none}.settings-account-details summary:before{content:"▸ ";display:inline-block;margin-right:4px;transition:transform .15s ease}.settings-account-details[open] summary:before{transform:rotate(90deg)}.settings-account-body{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.settings-account-row{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0000002e;border-radius:6px}.settings-account-row-head strong{font-size:14px;color:#fffffff2}.settings-account-row-head p{margin:4px 0 0;font-size:12px;line-height:1.5}.settings-token-display{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-token-value{flex:1 1 200px;padding:8px 10px;background:#00000059;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:11px;word-break:break-all;color:#ffffffd9;min-height:30px}.settings-account-btn{padding:7px 12px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:12px;cursor:pointer;align-self:flex-start;white-space:nowrap}.settings-account-btn:hover:not(:disabled){background:#ffffff1f}.settings-account-btn:disabled{opacity:.5;cursor:not-allowed}.settings-account-warn{background:#d4a23c1a;border-color:#d4a23c66}.settings-account-warn:hover:not(:disabled){background:#d4a23c33}.settings-account-danger{background:#e85a4a1a;border-color:#e85a4a66;color:#f5b3a8}.settings-account-danger:hover:not(:disabled){background:#e85a4a33}.settings-signin-details{margin-top:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:0 12px}.settings-signin-details summary{padding:12px 0;font-size:13px;color:var(--fg-dim);cursor:pointer;list-style:none}.settings-signin-details summary::-webkit-details-marker{display:none}.settings-signin-details summary:before{content:"▸ ";display:inline-block;margin-right:4px;transition:transform .15s ease}.settings-signin-details[open] summary:before{transform:rotate(90deg)}.settings-signin-body{display:flex;flex-direction:column;gap:10px;padding-bottom:14px}.settings-signin-input{width:100%;padding:9px 10px;background:#00000040;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:13px;box-sizing:border-box}.footer-build{margin-top:6px;font-size:11px;color:var(--fg-dim);font-family:JetBrains Mono,monospace}.footer-build-sha{background:#ffffff0a;padding:1px 5px;border-radius:3px;font-size:10px}.feedback-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.feedback-form-kind{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;background:#ffffff08}.feedback-form-kind legend{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em;padding:0 6px}.feedback-form-kind-radio{display:inline-flex;align-items:center;gap:5px;margin-right:12px;padding:4px 0;cursor:pointer;font-size:13px}.feedback-form-field{display:flex;flex-direction:column;gap:5px;font-size:13px;position:relative}.feedback-form-field>span{color:var(--fg-dim);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.feedback-form-field textarea,.feedback-form-field input{padding:9px 10px;background:#00000040;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--fg);font:inherit;font-size:14px;resize:vertical;box-sizing:border-box;width:100%}.feedback-form-counter{position:absolute;right:6px;bottom:6px;font-size:10px;color:var(--fg-dim);background:#0006;padding:1px 5px;border-radius:3px;pointer-events:none}.feedback-form-submit{padding:11px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;font-weight:700;cursor:pointer;font-size:14px}.feedback-form-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-form-foot{margin:0;font-size:11px;color:var(--fg-dim);line-height:1.6}.feedback-form-sent{padding:10px;background:#7aba7f1a;border:1px solid rgba(122,186,127,.4);border-radius:6px;font-size:13px}.feedback-form-sent button{background:transparent;border:0;color:var(--accent);cursor:pointer;text-decoration:underline;padding:0}.feedback-form.is-compact{gap:8px}.profile-back-button{margin:4px 0 12px;padding:6px 14px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:13px;cursor:pointer;transition:background .12s ease}.profile-back-button:hover{background:#ffffff1a}.profile-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px;padding:4px;background:#0000002e;border-radius:10px;position:sticky;top:64px;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-subtab{flex:1 1 auto;padding:8px 14px;background:transparent;color:var(--fg-dim);border:0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.profile-subtab:hover{color:var(--fg)}.profile-subtab.is-active{background:var(--accent);color:var(--accent-fg)}.profile-rating-title{border:1px solid;padding:2px 8px;border-radius:4px;display:inline-block;cursor:help}.profile-title-ladder{margin:8px 0 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:0 14px}.profile-title-ladder summary{padding:10px 0;cursor:pointer;font-size:13px;color:#ffffffd9;list-style:none}.profile-title-ladder summary::-webkit-details-marker{display:none}.profile-title-ladder summary:before{content:"▸ ";display:inline-block;margin-right:4px;transition:transform .15s ease}.profile-title-ladder[open] summary:before{transform:rotate(90deg)}.profile-title-ladder-body{padding-bottom:14px}.profile-title-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.profile-title-table th,.profile-title-table td{padding:6px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.profile-title-table th{font-weight:600;color:var(--fg-dim);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.profile-title-table tr.is-current{background:#d4a23c14;outline:1px solid rgba(212,162,60,.25)}.profile-title-table tr.is-current td:first-child:before{content:"★ ";color:var(--accent)}.profile-title-rating{font-family:JetBrains Mono,monospace;color:var(--fg-dim)}.play-side-info{display:flex;flex-direction:column;gap:8px;width:100%}.play-side-info:empty{display:none}.play-side-info>.today-strip{margin:0;max-width:none}.play-side-info>.dyk-card{margin:0}.play-side-info>.challenge-banner{margin:0}.play-side-info>.play-quick-actions{margin:0}.play-side-info .today-strip{flex-direction:column;align-items:stretch;gap:8px}.play-side-info .today-strip-items{flex-direction:column}.custom-square.is-picker-open{outline:2px solid var(--accent);outline-offset:-2px}.custom-board-wrap{position:relative}.custom-piece-picker{margin-top:14px;padding:14px;background:#1c1816f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(212,162,60,.4);box-shadow:0 8px 24px #00000073;border-radius:10px;display:flex;flex-direction:column;gap:12px;max-width:320px}@media (min-width: 720px){.custom-piece-picker{position:absolute;top:0;left:calc(100% + 12px);margin-top:0;z-index:20}}@media (max-width: 719px){.custom-piece-picker{position:sticky;bottom:8px;z-index:20;margin-left:auto;margin-right:auto}}.custom-piece-picker-head{display:flex;justify-content:space-between;align-items:center}.custom-piece-picker-close{width:26px;height:26px;background:transparent;color:var(--fg-dim);border:1px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;font-size:13px}.custom-piece-picker-close:hover{background:#ffffff14;color:var(--fg)}.custom-piece-picker-side{display:flex;gap:6px}.custom-piece-picker-side button{flex:1;padding:8px;background:#ffffff0a;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;font-size:13px}.custom-piece-picker-side button.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.custom-piece-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.custom-piece-picker-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer}.custom-piece-picker-btn:hover:not(:disabled){background:#d4a23c1f;border-color:#d4a23c73}.custom-piece-picker-btn:disabled{opacity:.35;cursor:not-allowed}.custom-piece-picker-btn .palette-piece{width:36px;height:36px;background-size:contain;background-repeat:no-repeat;background-position:center}.custom-piece-picker-count{font-size:10px;color:var(--fg-dim);font-family:JetBrains Mono,monospace}.custom-piece-picker-clear{padding:8px;background:#e85a4a1a;color:#f5b3a8;border:1px solid rgba(232,90,74,.4);border-radius:6px;cursor:pointer;font-size:13px}.custom-piece-picker-clear:hover{background:#e85a4a33}.custom-piece-summary{display:flex;flex-direction:column;gap:8px}.custom-piece-summary-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px;background:#0003;border-radius:6px}.custom-piece-summary-label{font-size:12px;font-weight:600;min-width:50px}.custom-piece-summary-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--fg-dim)}.custom-piece-summary-chip.is-full{border-color:#d4a23c80;background:#d4a23c1a;color:#f0d488}.custom-piece-summary-icon{font-size:12px}.learn-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0;padding:4px;background:#0000002e;border-radius:10px;position:sticky;top:64px;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.learn-subtab{flex:1 1 auto;padding:8px 12px;background:transparent;color:var(--fg-dim);border:0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.learn-subtab:hover{color:var(--fg)}.learn-subtab.is-active{background:var(--accent);color:var(--accent-fg)}.settings-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 14px;padding:4px;background:#0000002e;border-radius:10px;position:sticky;top:64px;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-subtab{flex:1 1 auto;padding:8px 14px;background:transparent;color:var(--fg-dim);border:0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.settings-subtab:hover{color:var(--fg)}.settings-subtab.is-active{background:var(--accent);color:var(--accent-fg)}.nav-bar{flex:1 1 auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}.nav-tab{padding:8px 14px;background:transparent;color:var(--fg-dim);border:0;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease;display:inline-flex;align-items:center;gap:6px}.nav-tab:hover{color:var(--fg);background:#ffffff0a}.nav-tab.is-active{background:var(--accent);color:var(--accent-fg)}.nav-tab.has-active{color:var(--fg);background:#d4a23c1a;outline:1px solid rgba(212,162,60,.3)}.nav-group{position:relative;display:inline-block}.nav-group-trigger.is-open{background:#ffffff1a}.nav-group-caret{font-size:9px;opacity:.6;margin-left:2px;transition:transform .15s ease}.nav-group-trigger.is-open .nav-group-caret{transform:rotate(180deg)}.nav-group-active-child{font-weight:500;font-size:12px;opacity:.85;margin-left:2px}.nav-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:#1c1816f7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 12px 32px #00000080;padding:4px;z-index:50;display:flex;flex-direction:column;gap:2px}.nav-dropdown-item{padding:9px 14px;background:transparent;color:var(--fg);border:0;border-radius:5px;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap;transition:background .1s ease}.nav-dropdown-item:hover{background:#ffffff14}.nav-dropdown-item.is-active{background:var(--accent);color:var(--accent-fg)}@media (max-width: 720px){.nav-group-active-child{display:none}.nav-tab{padding:7px 10px;font-size:13px}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0806c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:celebration-fade-in .2s ease-out}.celebration-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 60px;background:#1a1816f2;border:2px solid;border-radius:16px;color:inherit;font:inherit;cursor:pointer;text-align:center;animation:celebration-pop .36s cubic-bezier(.34,1.56,.64,1);max-width:90vw}.celebration-glyph{font-size:4rem;line-height:1;animation:celebration-glyph-spin 1.6s ease-in-out infinite}.celebration-title{font-size:1.6rem;font-weight:700;letter-spacing:.02em}.celebration-subtitle{font-size:.95rem;color:#ffffffc7;max-width:400px;line-height:1.5}.celebration-dismiss-hint{margin-top:6px;font-size:11px;color:var(--fg-dim);letter-spacing:.04em;text-transform:uppercase}@keyframes celebration-fade-in{0%{opacity:0}to{opacity:1}}@keyframes celebration-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes celebration-glyph-spin{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@media (max-width: 540px){.celebration-card{padding:28px 24px}.celebration-glyph{font-size:3rem}.celebration-title{font-size:1.3rem}}.ailab-header{margin-bottom:16px}.ailab-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}.ailab-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.ailab-field select{min-width:min(180px,100%);max-width:100%}.ailab-vs{align-self:center;opacity:.7}.ailab-run{padding:8px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;font:inherit}.ailab-run:disabled{opacity:.4;cursor:not-allowed}.ailab-progress{font-size:13px;opacity:.8}.ailab-result{margin-top:16px}.ailab-scorebar{position:relative;height:24px;border-radius:4px;background:#ffffff14;overflow:hidden;margin-bottom:12px}.ailab-scorebar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.55}.ailab-scorebar-label{position:relative;display:block;line-height:24px;padding:0 8px;font-size:12px}.ailab-table{width:100%;border-collapse:collapse;font-size:14px}.ailab-table th,.ailab-table td{text-align:left;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.ailab-table th:not(:first-child),.ailab-table td:not(:first-child){text-align:center}
