.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;font-size:7px;cursor:default}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;font-size:7px;cursor:default}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;font-size:7px;cursor:default}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;font-size:7px;cursor:default}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;font-size:7px;cursor:default}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline:2px solid #0066cc;outline-offset:2px}.analysis-line-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:stretch}.tutor-why-button,.tutor-retry-button,.tutor-followup button{border:1px solid #b9b1a4;border-radius:.35rem;background:#fffdf8;color:#25231f;font:inherit;font-weight:750;cursor:pointer}.tutor-why-button{min-width:3.25rem;padding:.3rem .45rem;color:#7552a3;border-color:#7552a373}.tutor-why-button:disabled{cursor:default;opacity:.35}.tutor-panel{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #e4ded3}.tutor-panel[hidden]{display:none}.tutor-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.tutor-heading h3{margin:0;color:#7552a3;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.tutor-heading strong{font-size:.86rem;text-align:right}.tutor-summary,.tutor-comparison,.tutor-takeaway,.tutor-status,.tutor-error,.tutor-question{margin:.55rem 0 0;font-size:.84rem;line-height:1.48}.tutor-question{padding:.5rem .6rem;border-radius:.35rem;background:#7552a314;font-style:italic}.tutor-ideas{display:grid;gap:.5rem;margin-top:.65rem}.tutor-idea{padding-left:.65rem;border-left:2px solid rgb(117 82 163 / 45%)}.tutor-idea strong{font-size:.8rem}.tutor-idea p{margin:.16rem 0 0;color:#5b574f;font-size:.8rem;line-height:1.45}.tutor-takeaway{font-weight:500}.tutor-inline-reference{display:inline;margin:0;padding:0 .08em;border:0;border-radius:.18rem;background:#7552a317;color:#6d469f;font:inherit;font-weight:700;line-height:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em;cursor:pointer}.tutor-inline-reference:focus-visible{outline:2px solid #7552a3;outline-offset:2px}.tutor-followup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.75rem}.tutor-followup input{min-width:0;padding:.58rem .65rem;border:1px solid #c9c1b4;border-radius:.35rem;background:#fffdf8;color:#25231f;font:inherit;font-size:.82rem}.tutor-followup button{padding:.5rem .75rem;background:#7552a3;border-color:#7552a3;color:#fff}.tutor-retry-button{padding:.42rem .58rem;color:#7552a3;border-color:#7552a359}.tutor-usage{display:block;margin-top:.45rem;color:#888174;font-size:.62rem}.tutor-error{color:#8b352f}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25231f;background:#f4f1ea;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-height:100%;background:#f4f1ea}body{margin:0;min-width:320px;min-height:100vh;min-height:100svh}.chessboard-host{touch-action:manipulation}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .marker.marker-last-move{fill:#f2c94c;opacity:.42}.cm-chessboard .marker.marker-square{fill:#25231f;opacity:.08}.cm-chessboard .marker.marker-dot{fill:#25231f;opacity:.26}.visual-overlay-host{position:relative}.visual-line-overlay{position:absolute;inset:0;z-index:20;width:100%;height:100%;pointer-events:none}.visual-line-overlay.black-orientation{transform:rotate(180deg)}.visual-arrow{stroke-linecap:round;stroke-linejoin:round}.visual-arrow-engine{stroke:#226e95}.visual-arrow-explorer{fill:none;stroke:#3f9e46;stroke-width:.13;stroke-linejoin:miter}.visual-arrow-tutor{stroke:#7552a3}.visual-arrowhead-engine{fill:#226e95}.visual-arrowhead-tutor{fill:#7552a3}.app-shell{width:min(100%,52rem);margin:0 auto;padding:max(1.1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}header{margin-bottom:1rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-actions{display:flex;align-items:center;gap:.55rem}.analysis-toggle{min-height:2.65rem;padding:.55rem .75rem;border:1px solid #397249;border-radius:.45rem;background:#e8f2e9;color:#245c34;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer;white-space:nowrap}.analysis-toggle.is-off{border-color:#aaa296;background:#ece8e0;color:#625d54}.new-analysis{min-height:2.65rem;padding:.55rem .8rem;border:1px solid #25231f;border-radius:.45rem;background:#25231f;color:#fffdf8;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer;white-space:nowrap}.eyebrow{margin:0 0 .2rem;color:#756f64;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.05}@media(max-width:430px){.app-header{align-items:flex-end}.header-actions{flex-direction:column-reverse;align-items:stretch}.analysis-toggle,.new-analysis{min-height:2.35rem;padding-block:.4rem}}.board-wrap{width:100%;overflow:hidden;border-radius:.45rem;box-shadow:0 .5rem 1.5rem #29251f29}.chessboard-host{width:100%;aspect-ratio:1}.history-controls{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem minmax(0,1fr);gap:.65rem;margin-top:.75rem}.history-controls .flip-board{padding:.65rem}.flip-board svg{display:block;width:1.2rem;height:1.2rem;margin:auto;fill:currentColor}.history-controls button{min-height:2.75rem;border:1px solid #c9c1b4;border-radius:.45rem;background:#fffdf8;color:#25231f;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer}.history-controls button:disabled{cursor:default;opacity:.38}.game-info{display:grid;gap:.75rem;margin-top:1rem}.evaluation-bar{position:relative;width:100%;height:1.35rem;overflow:hidden;border:1px solid #25231f;border-radius:.35rem;background:#25231f}.evaluation-white{position:absolute;inset:0 auto 0 0;width:50%;background:#fffdf8;transition:width .18s ease-out}.evaluation-score{position:absolute;top:50%;left:50%;z-index:1;padding:.08rem .28rem;border-radius:.2rem;background:#f4f1ead1;color:#25231f;font-size:.65rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;transform:translate(-50%,-50%);white-space:nowrap}.panel{border:1px solid #d9d3c7;border-radius:.45rem;background:#fffdf8}.history-panel,.analysis-panel,.explorer-panel,.recent-panel{padding:.85rem 1rem}.recent-panel{margin-top:.75rem}.recent-analyses{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.recent-analyses button{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:1rem;min-width:0;padding:.55rem .6rem;border:0;border-radius:.35rem;background:#f4f1ea;color:inherit;font:inherit;text-align:left;cursor:pointer}.recent-label{min-width:0;font-weight:700;line-height:1.3;overflow-wrap:anywhere;white-space:normal}.recent-analyses time{flex:none;color:#756f64;font-size:.75rem;font-variant-numeric:tabular-nums}.recent-analyses .empty{color:#888174;font-size:.9rem}h2{margin:0 0 .6rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.move-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem 1.25rem;margin:0;padding-left:1.8rem;font-variant-numeric:tabular-nums}.move-list li{padding-left:.15rem}.move-list li::marker{color:#888174;font-size:.78rem}.move-list li span{display:inline-block;width:50%}.move-list .empty{grid-column:1 / -1;color:#888174;list-style:none;padding:0;font-size:.9rem}.analysis-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.analysis-heading h2{margin-bottom:.55rem}#analysis-status,#explorer-status{color:#888174;font-size:.7rem;font-variant-numeric:tabular-nums}.analysis-lines{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.analysis-line-button,.explorer-move-button{width:100%;border:0;border-radius:.35rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.analysis-line-button{display:grid;grid-template-columns:3.8rem minmax(0,1fr);gap:.7rem;align-items:baseline;min-width:0;padding:.32rem .4rem}.analysis-line-button.selected{background:#226e951a;box-shadow:inset 0 0 0 1px #226e9547}.analysis-lines .empty,.explorer-moves .empty{display:block;color:#888174;font-size:.9rem}.analysis-eval{font-weight:750;font-variant-numeric:tabular-nums}.analysis-pv{overflow:hidden;color:#5b574f;font-size:.86rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.opening-name{font-size:1rem;font-weight:750;line-height:1.3}.opening-summary{margin-top:.3rem;color:#756f64;font-size:.76rem;line-height:1.4}.lichess-actions{margin-top:.7rem}.lichess-connect,.lichess-disconnect{min-height:2.5rem;padding:.55rem .85rem;border-radius:.4rem;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.lichess-connect{border:1px solid #25231f;background:#25231f;color:#fffdf8}.lichess-disconnect{border:1px solid #b9b1a4;background:transparent;color:#5b574f}.lichess-connect:disabled,.lichess-disconnect:disabled{cursor:default;opacity:.55}.lichess-connect[hidden],.lichess-disconnect[hidden]{display:none}.explorer-moves{display:grid;gap:.15rem;margin:.7rem 0 0;padding:0;list-style:none}.explorer-moves li{min-width:0;padding-top:.2rem;border-top:1px solid #eee9df}.explorer-move-button{display:grid;grid-template-columns:3.5rem auto minmax(0,1fr);gap:.55rem;align-items:baseline;min-width:0;padding:.32rem .4rem}.explorer-move-button.selected{background:#3f9e461a;box-shadow:inset 0 0 0 1px #3f9e464d}.analysis-line-button:focus-visible,.explorer-move-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.explorer-san{font-weight:750}.explorer-count{color:#5b574f;font-size:.78rem;font-variant-numeric:tabular-nums}.explorer-opening{overflow:hidden;color:#888174;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.debug-panel{padding:.75rem 1rem;color:#5b574f}.debug-panel summary{cursor:pointer;font-size:.78rem;font-weight:700}.debug-panel code{display:block;margin-top:.6rem;overflow-wrap:anywhere;font-size:.68rem;line-height:1.5}@media(min-width:900px){.app-shell{width:min(100%,76rem);display:grid;grid-template-columns:minmax(0,34rem) minmax(0,1fr);gap:1rem 1.5rem;align-items:start;padding-top:2rem}header{grid-column:1 / -1;margin-bottom:-.25rem}.history-controls{grid-column:1;margin-top:-.25rem}.game-info{grid-column:2;grid-row:2 / span 2;margin-top:0}.recent-panel{grid-column:1 / -1;margin-top:0}.move-list{grid-template-columns:1fr}}
