*,*:before,*:after{box-sizing:border-box}:root{font-family:Noto Sans,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#bababa;background-color:#161512;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--c-green: #629924;--c-green-light: #8bc34a;--c-bg-0: #161512;--c-bg-1: #1e1c1a;--c-bg-2: #262421;--c-bg-3: #2e2c2b;--c-border: #3d3d3d;--c-text-0: #ddd;--c-text-1: #bababa;--c-text-2: #888;--c-text-3: #666}body{margin:0;min-width:320px;min-height:100vh;background:var(--c-bg-0)}#root{min-height:100vh}button{border-radius:4px;border:1px solid transparent;padding:.4em .8em;font-size:.9em;font-weight:400;font-family:inherit;background-color:var(--c-bg-3);color:var(--c-text-1);cursor:pointer;transition:background .15s,border-color .15s,color .15s}button:focus-visible{outline:2px solid var(--c-green);outline-offset:2px}a{color:var(--c-green-light);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;color:var(--c-text-0)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--c-bg-1)}::-webkit-scrollbar-thumb{background:#444;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.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%)}.board-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.board-container{position:relative;width:min(calc(100vw - 316px),calc(100vh - 160px));aspect-ratio:1 / 1}@media(max-width:680px){.board-container{width:min(560px,calc(100vw - 16px))}}.cg-wrap{width:100%;height:100%}cg-board{background-image:repeating-conic-gradient(#b58863 0deg 90deg,#f0d9b5 90deg 180deg);background-size:25% 25%}cg-board square.last-move{background-color:#14551e80}cg-board square.selected{background-color:#14550080}cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#0000 0)}cg-board square.check{background:radial-gradient(ellipse at center,#ff0000e6,#e70000b3 25%,#a9000000 89%)!important}cg-board piece.king.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wK.svg)}cg-board piece.queen.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wQ.svg)}cg-board piece.rook.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wR.svg)}cg-board piece.bishop.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wB.svg)}cg-board piece.knight.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wN.svg)}cg-board piece.pawn.white{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/wP.svg)}cg-board piece.king.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bK.svg)}cg-board piece.queen.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bQ.svg)}cg-board piece.rook.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bR.svg)}cg-board piece.bishop.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bB.svg)}cg-board piece.knight.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bN.svg)}cg-board piece.pawn.black{background-image:url(https://raw.githubusercontent.com/lichess-org/lila/master/public/piece/cburnett/bP.svg)}.board-container.engine-thinking:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#64b4ffe6;animation:thinking-pulse .8s ease-in-out infinite;z-index:10;pointer-events:none}@keyframes thinking-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.coverage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);pointer-events:none;z-index:2}.coverage-cell{pointer-events:none}.material-bar{display:flex;align-items:center;height:22px;font-size:.75rem;gap:1px;padding:0 4px;background:#ffffff40;border-radius:3px;align-self:flex-end}.material-bar:empty{background:none}.material-bar img{height:18px;width:18px}.material-diff{color:#bababa;margin-left:4px;font-size:.75rem}.game-over-banner{background:#2b2b2b;color:#ababab;border:1px solid #404040;border-radius:4px;padding:6px 18px;font-size:.9rem;text-align:center;width:100%;box-sizing:border-box}.saved-paths{background:#262421;border:1px solid #3d3d3d;border-radius:4px;padding:10px;overflow-y:auto;max-height:220px}.saved-paths--empty{display:flex;align-items:center;justify-content:center;color:#666;font-size:.82rem;min-height:60px;text-align:center}.saved-paths__title{margin:0 0 8px;font-size:.82rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.saved-paths__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.saved-path-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff0a;border-radius:3px}.saved-path-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.saved-path-item__name{font-size:.88rem;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-path-item__desc{font-size:.78rem;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-path-item__date{font-size:.72rem;color:#555}.saved-path-item__actions{display:flex;gap:4px;flex-shrink:0}.sp-btn{padding:3px 10px;border-radius:3px;border:none;font-size:.8rem;cursor:pointer;transition:background .1s}.sp-btn--load{background:#3a3a3a;color:#ccc}.sp-btn--load:hover{background:#629924;color:#fff}.sp-btn--delete{background:transparent;color:#666;padding:3px 6px}.sp-btn--delete:hover{background:#b432324d;color:#e55}.modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:100;display:flex;align-items:center;justify-content:center}.modal{background:#2b2b2b;border:1px solid #444;border-radius:6px;padding:20px 24px;min-width:320px;max-width:480px;width:90vw}.modal__title{margin:0 0 16px;font-size:1rem;color:#ddd}.modal__form{display:flex;flex-direction:column;gap:12px}.modal__label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:#888}.modal__input,.modal__textarea{background:#1a1a1a;border:1px solid #444;border-radius:3px;color:#ddd;font-family:inherit;font-size:.9rem;padding:6px 10px;outline:none;transition:border-color .15s}.modal__input:focus,.modal__textarea:focus{border-color:#629924}.modal__textarea{resize:vertical}.modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal__btn{padding:7px 18px;border-radius:4px;border:none;font-size:.88rem;cursor:pointer;transition:background .1s}.modal__btn--cancel{background:#3a3a3a;color:#aaa}.modal__btn--cancel:hover{background:#454545}.modal__btn--save{background:#629924;color:#fff;font-weight:600}.modal__btn--save:hover:not(:disabled){background:#72aa2a}.modal__btn--save:disabled{opacity:.4;cursor:not-allowed}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-bubble{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;background:#1a1a1a;color:#ddd;font-size:.75rem;font-weight:400;padding:4px 8px;border-radius:4px;border:1px solid #444;pointer-events:none;z-index:20}.tooltip-bubble--above{bottom:calc(100% + 6px)}.tooltip-bubble--below{top:calc(100% + 6px)}.move-list{display:flex;flex-direction:column;background:#262421;border-radius:4px;border:1px solid #3d3d3d;max-height:280px;flex:1;min-height:0}.move-list--empty{display:flex;align-items:center;justify-content:center;color:#666;font-size:.85rem;min-height:60px}.move-list__inner{padding:6px 4px;overflow-y:auto;flex:1;min-height:0}.move-row{display:flex;align-items:center;gap:2px}.move-row:nth-child(2n){background:#ffffff08}.move-number{width:32px;text-align:right;padding-right:6px;color:#666;font-size:.82rem;flex-shrink:0}.move-token{flex:1;text-align:left;background:transparent;border:none;color:#bababa;font-family:inherit;font-size:.9rem;padding:4px 6px;border-radius:3px;cursor:pointer;transition:background .1s,color .1s}.move-token:hover{background:#ffffff14;color:#fff}.move-token--active{background:#629924;color:#fff;font-weight:600}.move-token--active:hover{background:#6ea628}.move-token--empty{flex:1;padding:4px 6px}.move-list__actions{display:flex;justify-content:flex-end;gap:4px;padding:4px 6px;border-top:1px solid #3d3d3d}.controls{display:flex;align-items:center;gap:4px;background:#262421;border:1px solid #3d3d3d;border-radius:4px;padding:6px 8px}.controls__group{display:flex;gap:2px}.ctrl-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid transparent;border-radius:4px;color:#bababa;font-size:1.1rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s;text-decoration:none;line-height:1}.ctrl-btn:hover:not(:disabled){background:#ffffff14;color:#fff;border-color:#555}.ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.ctrl-btn--engine-toggle{width:auto;padding:0 10px;font-size:.75rem;letter-spacing:.03em;color:#666;border-color:#3a3a3a}.ctrl-btn--engine-toggle:hover:not(:disabled){color:#aaa;border-color:#555;background:#ffffff0f}.ctrl-btn--engine-on{color:#629924;border-color:#629924}.ctrl-btn--engine-on:hover:not(:disabled){color:#8bc34a;border-color:#8bc34a;background:#6299241a}.ctrl-btn--continue{width:auto;padding:0 10px;font-size:.75rem;letter-spacing:.03em;color:#e0a030;border-color:#e0a030}.ctrl-btn--continue:hover:not(:disabled){color:#f0c050;border-color:#f0c050;background:#e0a0301a}.explorer-stats{background:#262421;border:1px solid #3d3d3d;border-radius:4px;overflow:hidden;font-size:.8rem}.explorer-stats--loading,.explorer-stats--empty{padding:10px 12px;color:#555;font-size:.78rem;text-align:center}.es-header{padding:7px 10px 6px;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:5px}.es-header__top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.es-total{font-weight:600;color:#ccc;white-space:nowrap;flex-shrink:0}.es-opening{color:#666;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.wdl-bar{display:flex;height:5px;border-radius:2px;overflow:hidden;background:#1a1a1a;width:100%}.wdl-bar__white{background:#d4d4d4;min-width:1px}.wdl-bar__draw{background:#888;min-width:1px}.wdl-bar__black{background:#333;min-width:1px}.es-moves{width:100%;border-collapse:collapse}.es-th{padding:4px 8px 4px 6px;text-align:left;color:#555;font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2e2e2e;background:#1e1c1a}.es-th--num{text-align:right}.es-move-row{border-bottom:1px solid #2a2a2a;transition:background .1s;cursor:pointer}.es-move-row:last-child{border-bottom:none}.es-move-row:hover{background:#ffffff0a}.es-cell{padding:5px 8px 5px 6px;vertical-align:middle}.es-cell--san{font-weight:600;color:#d0d0d0;min-width:38px}.es-cell--count{text-align:right;color:#888;font-variant-numeric:tabular-nums;white-space:nowrap}.es-cell--pct{text-align:right;color:#666;font-variant-numeric:tabular-nums;white-space:nowrap}.es-cell--wdl{width:70px;min-width:60px;padding-right:8px}.es-cell--wdl .wdl-bar{height:8px;border-radius:2px}.settings-panel{background:#1e1c1b;border:1px solid #3d3d3d;border-radius:6px;display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #3d3d3d;flex-shrink:0}.settings-title{margin:0;font-size:.95rem;color:#ddd}.settings-close{background:transparent;border:none;color:#777;font-size:1rem;cursor:pointer;padding:2px 6px;border-radius:3px;transition:color .1s}.settings-close:hover{color:#ccc}.settings-body{overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:20px}.settings-section{display:flex;flex-direction:column;gap:10px}.section-title{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#888;border-bottom:1px solid #333;padding-bottom:4px}.section-title-row{display:flex;align-items:center;justify-content:space-between}.mode-toggle{display:flex;gap:4px}.mode-btn{flex:1;padding:6px 10px;background:#2e2c2b;border:1px solid #444;border-radius:4px;color:#999;font-size:.85rem;cursor:pointer;transition:background .1s,color .1s}.mode-btn:hover{background:#383533;color:#ccc}.mode-btn--active{background:#629924;border-color:#629924;color:#fff;font-weight:600}.engine-form{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;flex-direction:column;gap:5px}.form-label{font-size:.8rem;color:#888}.form-input{background:#1a1a1a;border:1px solid #444;border-radius:3px;color:#ddd;font-family:inherit;font-size:.88rem;padding:5px 8px;outline:none;transition:border-color .15s}.form-input:focus{border-color:#629924}.form-range{accent-color:#629924;width:100%;cursor:pointer}.chip-group{display:flex;flex-wrap:wrap;gap:4px}.chip{padding:3px 10px;background:#2e2c2b;border:1px solid #444;border-radius:12px;color:#999;font-size:.78rem;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.chip:hover{background:#3a3a3a;color:#ccc}.chip--active{background:#62992440;border-color:#629924;color:#8bc34a}.radio-group{display:flex;flex-direction:column;gap:6px}.radio-option{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;cursor:pointer}.radio-option input{grid-row:span 2;align-self:center;accent-color:#629924;cursor:pointer;margin-top:1px}.radio-label{font-size:.85rem;color:#ccc}.radio-hint{font-size:.75rem;color:#666}.toggle-label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#bbb;cursor:pointer}.toggle-label input[type=checkbox]{accent-color:#629924;width:15px;height:15px;cursor:pointer}.toolbar{display:flex;align-items:center;justify-content:center;gap:4px;background:#262421;border:1px solid #3d3d3d;border-radius:4px;padding:6px 8px}.toolbar__right{margin-left:auto}.ctrl-btn--save{color:#c8a800}.ctrl-btn--lichess{color:#629924;font-size:1.25rem}.ctrl-btn--settings,.ctrl-btn--suggestions{color:#888}.ctrl-btn--suggestions.active{color:#003cff}.ctrl-btn--engine-opts{color:#888;display:inline-flex;transform:scaleX(-1)}.ctrl-btn--engine-opts.active{color:#c44}.ctrl-btn--coverage-player{color:#888}.ctrl-btn--coverage-player.active{color:#4b4}.ctrl-btn--coverage-opp{color:#888}.ctrl-btn--coverage-opp.active{color:#c44}.help-btn{margin-left:auto;width:28px;height:28px;border-radius:50%;border:1.5px solid #555;background:#262421;color:#999;font-size:.88rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;flex-shrink:0}.help-btn:hover{border-color:#629924;color:#ddd}.help-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.help-modal__header .modal__title{margin:0}.help-modal__close{background:none;border:none;color:#888;font-size:1.3rem;cursor:pointer;padding:0 4px;line-height:1}.help-modal__close:hover{color:#ddd}.help-modal__body{color:#bbb;font-size:.9rem;line-height:1.6;overflow-y:auto;max-height:60vh}.help-modal__body.markdown h1,.help-modal__body.markdown h2,.help-modal__body.markdown h3{color:#ddd;margin:1em 0 .4em}.help-modal__body.markdown h1{font-size:1.15rem}.help-modal__body.markdown h2{font-size:1.05rem}.help-modal__body.markdown h3{font-size:.95rem}.help-modal__body.markdown p{margin:.5em 0}.help-modal__body.markdown ul{margin:.5em 0;padding-left:1.4em}.help-modal__body.markdown li{margin:.25em 0}.help-modal__body.markdown code{background:#1a1a1a;padding:1px 5px;border-radius:3px;font-size:.85em}.help-modal__body.markdown pre{background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:8px 12px;overflow-x:auto;margin:.5em 0}.help-modal__body.markdown pre code{padding:0;background:none}.help-modal__body.markdown strong{color:#ddd}.help-modal__body.markdown a{color:#629924}.help-modal__body.markdown hr{border:none;border-top:1px solid #3d3d3d;margin:.8em 0}.app{display:flex;flex-direction:column;min-height:100vh;background:#161512;color:#bababa}.app-header{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#1e1c1a;border-bottom:1px solid #3a3a3a;flex-shrink:0}.app-header__logo{display:flex;align-items:center;gap:8px}.app-header__icon{font-size:1.5rem;color:#629924}.app-header__name{font-size:1.1rem;font-weight:700;color:#ddd;letter-spacing:.02em}.app-header__sub{font-size:.78rem;color:#666;margin-left:4px}.app-main{display:flex;flex:1;gap:16px;padding:16px 20px;align-items:flex-start;justify-content:center;flex-wrap:wrap}.col-board{flex-shrink:0}.col-side{display:flex;flex-direction:column;gap:8px;width:240px;flex-shrink:0;margin-top:30px}@media(max-width:680px){.app-main{flex-direction:column;align-items:center;padding:10px 8px;gap:8px}.col-side{width:100%;max-width:560px}}
