.main-page{--ink:#000;--paper:#fff;--silver:silver;--silver-dark:gray;--silver-light:#dcdcdc;--link:#00a;--visited:#551a8b;--success:#006400;--danger:maroon;--radius:0;--chrome-border:2px outset var(--silver);background:var(--silver);height:100svh;color:var(--ink);flex-direction:column;font-family:Times New Roman,Times,serif;display:flex;position:relative;overflow:hidden}.layout{background-color:var(--paper);flex:auto;grid-template-columns:minmax(0,1fr) 388px;align-items:stretch;width:100%;min-height:0;padding:0;display:grid;overflow:hidden}.privacy-page{color:#000;background:#fff;min-height:100svh;padding:32px;font-family:Times New Roman,Times,serif}.privacy-page__home{color:#00a;font-family:Courier New,Courier,monospace}.page-headers{background:var(--silver);border-bottom:1px solid var(--silver-dark);flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:12px 16px;display:grid}.header-left,.header-right{align-items:center;gap:8px;min-width:0;display:flex}.header-left{justify-self:start}.header-right{justify-self:end}.header-auth{align-items:center;gap:8px;min-width:0;display:flex}.header-auth__user{max-width:180px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,Courier,monospace;font-size:.8rem;overflow:hidden}.logo{color:var(--ink);align-items:center;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;display:inline-flex}.logo__image{width:auto;height:32px;display:block}.simplified-view-container{text-align:center;justify-content:center;align-items:center;gap:12px;display:flex}.simplified-view-title{color:var(--ink);align-self:center;font-family:Courier New,Courier,monospace;font-size:.85rem;font-weight:700}.toggle-switch{cursor:pointer;box-shadow:none;background:0 0;border:none;padding:0}.toggle-switch__track{background:var(--ink);border:1px solid var(--silver-dark);border-radius:999px;align-items:center;width:52px;height:30px;padding:3px;transition:background .16s;display:inline-flex}.toggle-switch__thumb{background:var(--paper);border:1px solid var(--silver-dark);border-radius:50%;width:24px;height:24px;transition:transform .16s;transform:translate(0)}.toggle-switch--on .toggle-switch__track{background:var(--link)}.toggle-switch--on .toggle-switch__thumb{transform:translate(22px)}.board-shell{background:var(--paper);flex-direction:column;justify-content:flex-start;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.board-stage{aspect-ratio:1;border:1px solid var(--silver-dark);background:var(--silver-light);width:min(100svh - 136px,100vw - 472px);max-width:100%}.training-board{aspect-ratio:1;background:var(--silver-light);border:1px solid var(--silver-dark);border-radius:var(--radius);width:100%;height:100%;color:var(--silver-dark);justify-content:center;align-items:center;font-family:Courier New,Courier,monospace;font-size:.85rem;display:flex}.capsule-controls{background:var(--paper);justify-content:center;align-items:center;gap:12px;width:100%;padding:16px 24px;display:flex}.capsule-arrow{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:Courier New,Courier,monospace;font-size:1.1rem;font-weight:700;transition:background .12s,color .12s,transform 80ms;display:inline-flex}.capsule-arrow:hover{background:var(--ink);color:var(--paper)}.capsule-arrow:active{background:var(--link);color:var(--paper);transform:translateY(1px)}.capsule-arrow--flash-success{background:var(--success);color:var(--paper)}.capsule-arrow--flash-danger{background:var(--danger);color:var(--paper)}.text-button{border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;padding:8px 12px;font-family:Courier New,Courier,monospace;font-size:.9rem;font-weight:700;transition:background .12s,color .12s,transform 80ms}.text-button:hover{background:var(--ink);color:var(--paper)}.text-button:active{background:var(--link);color:var(--paper);transform:translateY(1px)}.board-sidebar{background:var(--paper);border-left:1px solid var(--silver);flex-direction:column;gap:12px;min-width:0;height:100%;min-height:0;padding:12px;display:flex;overflow:hidden auto}.sidebar-privacy{text-align:center;justify-content:center;gap:10px;margin-top:auto;padding-top:8px;font-family:Courier New,Courier,monospace;font-size:.78rem;display:flex}.sidebar-privacy__link{color:var(--link);text-decoration:underline}.settings-shell,.analysis-shell,.stats-shell{background:var(--paper);flex:none}.settings-list{background:var(--silver);min-height:32px;color:var(--ink);align-items:center;margin:0;padding:12px 14px;font-family:Courier New,Courier,monospace;font-size:1.05rem;font-weight:800;list-style:none;display:flex}.enable-hints-block{background:var(--paper);border-bottom:1px solid var(--silver);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 14px;display:flex}.hints-label{text-align:left;color:var(--ink);word-break:break-word;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;line-height:1.2}.horizontal-toggle{cursor:pointer;box-shadow:none;background:0 0;border:none;flex:none;padding:0}.horizontal-toggle:focus-visible{outline:2px solid var(--link);outline-offset:3px}.horizontal-toggle__track{background:var(--ink);border:1px solid var(--silver-dark);border-radius:999px;align-items:center;width:52px;height:30px;padding:3px;transition:background .16s;display:inline-flex}.horizontal-toggle__thumb{background:var(--paper);border:1px solid var(--silver-dark);border-radius:50%;width:24px;height:24px;transition:transform .16s;transform:translate(0)}.horizontal-toggle--on .horizontal-toggle__track,.horizontal-toggle[aria-checked=true] .horizontal-toggle__track{background:var(--link)}.horizontal-toggle--on .horizontal-toggle__thumb,.horizontal-toggle[aria-checked=true] .horizontal-toggle__thumb{transform:translate(22px)}.modes-shell{background:var(--paper);border-bottom:1px solid var(--silver);border:none;justify-content:space-around;align-items:flex-start;gap:6px;width:100%;padding:16px 12px;display:flex}.mode-block{border:none;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.vertical-toggle{cursor:pointer;box-shadow:none;background:0 0;border:none;padding:0}.vertical-toggle__track{background:var(--ink);border:1px solid var(--silver-dark);border-radius:999px;justify-content:center;align-items:flex-end;width:30px;height:52px;padding:3px;transition:background .16s;display:inline-flex}.vertical-toggle__thumb{background:var(--paper);border:1px solid var(--silver-dark);border-radius:50%;width:24px;height:24px;transition:transform .16s;transform:translateY(0)}.vertical-toggle--on .vertical-toggle__track{background:var(--link)}.vertical-toggle--on .vertical-toggle__thumb{transform:translateY(-22px)}.mode-label{text-align:center;color:var(--ink);word-break:break-word;font-family:Courier New,Courier,monospace;font-size:.78rem}.filter{background:var(--paper);border-bottom:1px solid var(--silver);width:100%}.filter__trigger{background:var(--paper);width:100%;color:var(--ink);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;display:flex}.filter__trigger:hover{background:var(--silver-light)}.filter__left{align-items:center;gap:8px;display:inline-flex}.filter__icon{vertical-align:middle;display:inline-block}.filter__caret{transition:transform .16s}.filter__caret--open{transform:rotate(180deg)}.filter__panel{border-top:1px dashed var(--silver);background:var(--silver-light);padding:12px 14px;font-family:Courier New,Courier,monospace;font-size:.85rem}.rate-shell{background:var(--paper);align-items:center;gap:12px;width:100%;padding:8px 14px;display:flex;position:relative}.rate-label{z-index:1;color:var(--ink);font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;position:relative}.rate-options{flex:1;align-items:center;gap:16px;display:flex}.rate-option{cursor:pointer;align-items:center;gap:6px;font-family:Courier New,Courier,monospace;font-size:.85rem;display:inline-flex}.training-run-shell{background:var(--paper);border-bottom:1px solid var(--silver);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.training-attempts{flex:1;min-height:32px;margin:0;padding:0;font-family:Courier New,Courier,monospace;list-style:none}.timer{color:var(--ink);text-align:right;min-width:5ch;font-family:Courier New,Courier,monospace;font-size:1.05rem;font-weight:700}.engine{background:var(--paper);border-bottom:1px solid var(--silver);width:100%}.engine__trigger{background:var(--paper);width:100%;color:var(--ink);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Courier New,Courier,monospace;font-size:.9rem;font-weight:700;display:flex}.engine__trigger:hover{background:var(--silver-light)}.engine__left{align-items:center;gap:8px;min-width:0;display:inline-flex}.engine__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.engine__icon{vertical-align:middle;flex:none;display:inline-block}.engine__panel{border-top:1px dashed var(--silver);background:var(--silver-light);padding:10px 14px;font-family:Courier New,Courier,monospace;font-size:.85rem}.engine__row{align-items:center;gap:10px;padding:4px 0;display:flex}.engine__row-label{color:var(--ink);flex:1;font-weight:700}.engine__step{border:1px solid var(--ink);background:var(--paper);width:24px;height:24px;color:var(--ink);cursor:pointer;padding:0;font-family:Courier New,Courier,monospace;font-size:1rem;font-weight:700}.engine__step:hover{background:var(--ink);color:var(--paper)}.engine__step:active{background:var(--link);color:var(--paper)}.engine__value{text-align:center;min-width:5ch;color:var(--ink)}.engine__lines{border-top:1px dashed var(--silver);margin:10px 0 0;padding:0;list-style:none}.engine__line{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:4px 0;font-family:Courier New,Courier,monospace;font-size:.9rem;overflow:hidden}.graph-shell,.streak-shell,.chess-com-shell{background:var(--paper);border-bottom:1px solid var(--silver);width:100%;min-height:80px;padding:8px 14px}.chess-com-shell{min-height:0;padding:8px 14px}.perf-graph{flex-direction:column;gap:8px;width:100%;font-family:Courier New,Courier,monospace;display:flex}.perf-graph__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.perf-graph__title{letter-spacing:.04em;text-transform:uppercase;color:var(--silver-dark);font-size:.72rem;font-weight:700}.perf-graph__legend{gap:10px;display:flex}.perf-legend{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-size:.66rem;font-weight:700;display:inline-flex}.perf-legend i{background:currentColor;width:12px;height:2px}.perf-legend--accuracy{color:var(--link)}.perf-legend--elo{color:var(--danger)}.perf-graph__svg{width:100%;height:auto;display:block;overflow:visible}.perf-graph__grid{stroke:var(--silver);stroke-width:1px;stroke-dasharray:2 3}.perf-graph__axis{stroke:var(--silver-dark);stroke-width:1px}.perf-line{fill:none;stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.perf-line--accuracy{stroke:var(--link)}.perf-line--elo{stroke:var(--danger);stroke-dasharray:4 2}.perf-area--accuracy{fill:var(--link);fill-opacity:.1}.perf-area--elo{fill:var(--danger);fill-opacity:.07}.perf-dot{stroke:var(--paper);stroke-width:1px}.perf-dot--accuracy{fill:var(--link)}.perf-dot--elo{fill:var(--danger)}.perf-graph__stats{gap:8px;display:flex}.perf-stat{background:var(--silver-light);flex-direction:column;flex:1;align-items:flex-start;padding:4px 8px;display:flex}.perf-graph .perf-stat{border-left:3px solid var(--silver-dark)}.perf-graph .perf-stat--accuracy{border-left-color:var(--link)}.perf-graph .perf-stat--elo{border-left-color:var(--danger)}.perf-stat__value{color:var(--ink);font-size:.95rem;font-weight:800;line-height:1.1}.perf-stat__label{letter-spacing:.05em;text-transform:uppercase;color:var(--silver-dark);font-size:.62rem;font-weight:700}.heatmap{--heat-cell:11px;--heat-gap:2px;flex-direction:column;gap:8px;width:100%;font-family:Courier New,Courier,monospace;display:flex}.heatmap__header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.heatmap__label{letter-spacing:.04em;text-transform:uppercase;color:var(--silver-dark);font-size:.72rem;font-weight:700}.heatmap__count{color:var(--ink);font-size:.85rem;font-weight:800}.heatmap__body{align-items:flex-start;gap:var(--heat-gap);display:flex}.heatmap__weekdays{grid-template-rows:repeat(7, var(--heat-cell));gap:var(--heat-gap);margin-right:2px;display:grid}.heatmap__weekday{width:1.2ch;height:var(--heat-cell);font-size:.5rem;font-weight:700;line-height:var(--heat-cell);text-align:center;color:var(--silver-dark)}.heatmap__grid{grid-template-rows:repeat(7, var(--heat-cell));grid-auto-flow:column;grid-auto-columns:var(--heat-cell);gap:var(--heat-gap);display:grid}.heatmap__cell{width:var(--heat-cell);height:var(--heat-cell)}.heatmap__legend{letter-spacing:.04em;text-transform:uppercase;color:var(--silver-dark);align-items:center;gap:6px;font-size:.62rem;font-weight:700;display:flex}.heatmap__legend-cells{gap:var(--heat-gap);display:inline-flex}.heatmap .heatmap__cell{border:1px solid var(--silver)}.heatmap .heatmap__cell--l0{background:var(--paper);border-color:var(--silver)}.heatmap .heatmap__cell--l1{background:#0000aa38;border-color:#0000aa59}.heatmap .heatmap__cell--l2{background:#0000aa73;border-color:#0000aa8c}.heatmap .heatmap__cell--l3{background:#0000aab3;border-color:#00ac}.heatmap .heatmap__cell--l4{border-color:var(--link);background:#0000aaf2}.chess-com-strip{justify-content:space-between;align-items:center;gap:8px;width:100%;font-family:Courier New,Courier,monospace;display:flex}.chess-com-strip__text{min-width:0;color:var(--ink);font-size:.85rem;font-weight:700}.chess-com-strip__link{color:var(--link);flex:none;align-items:center;gap:6px;font-size:.85rem;font-weight:800;text-decoration:underline;display:inline-flex}.chess-com-strip__link:hover{color:var(--visited)}.chess-com-strip__icon{flex:none}@media (width<=1100px){.layout{grid-template-columns:minmax(0,1fr) 360px}.board-stage{width:min(100svh - 136px,100vw - 440px)}}@media (width<=960px){.main-page{height:auto;min-height:100svh;overflow-y:auto}.layout{grid-template-rows:auto auto;grid-template-columns:1fr;overflow:visible}.board-stage{width:100%}.board-shell{margin-inline:10%;overflow:visible}.board-sidebar{border-left:none;border-top:1px solid var(--silver);height:auto;overflow-y:visible}}@media (width<=640px){.board-shell,.board-sidebar{margin-inline:0;padding:0}.board-stage{width:100%}}.main-page,.main-page *{box-sizing:border-box;border:1px dashed var(--ink)}.main-page .no-global-border,.main-page .no-global-border,.main-page .no-global-border-children,.main-page .no-global-border-children *{border:none}.main-page .modes-list{border:1px solid var(--silver-dark)}.import-session-anchor{display:inline-flex;position:relative}.import-session-popup{background:var(--paper);border:1px solid var(--silver-dark);width:min(320px,100vw - 32px);box-shadow:4px 4px 0 var(--silver-dark);color:var(--ink);z-index:50;flex-direction:column;font-family:Courier New,Courier,monospace;display:flex;position:absolute;top:calc(100% + 6px);left:0}.import-session-popup__header{background:var(--silver);border-bottom:1px solid var(--silver-dark);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.import-session-popup__title{font-size:.95rem;font-weight:700}.import-session-popup__close{cursor:pointer;color:var(--ink);background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:1.1rem;line-height:1}.import-session-popup__close:hover{background:var(--silver-light)}.import-session-popup__body{background:var(--paper);flex-direction:column;flex:auto;gap:14px;min-height:200px;padding:16px;display:flex;overflow-y:auto}.import-session-field{flex-direction:column;gap:4px;font-family:Courier New,Courier,monospace;display:flex}.import-session-field__label{color:var(--ink);font-size:.85rem;font-weight:700}.import-session-field__label--inline{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.import-session-field__input{color:var(--ink);background:var(--paper);border:1px solid var(--silver-dark);padding:6px 8px;font-family:Courier New,Courier,monospace;font-size:.9rem}.import-session-field__input:focus{border-color:var(--link);outline:none}.import-session-field input[type=range]{width:100%;accent-color:var(--ink);cursor:ew-resize}.import-session-field input[type=range]::-webkit-slider-runnable-track{background:var(--ink);height:4px}.import-session-field input[type=range]::-webkit-slider-thumb{margin-top:-5px}.import-session-field input[type=range]::-moz-range-track{background:var(--ink);height:4px}.import-session-field input[type=range]::-moz-range-progress{background:var(--ink);height:4px}.import-session-fieldset{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.import-session-checkboxes{flex-wrap:wrap;gap:12px;display:flex}.import-session-checkbox{cursor:pointer;align-items:center;gap:6px;font-family:Courier New,Courier,monospace;font-size:.85rem;display:inline-flex}.import-session-checkbox--hard{color:var(--danger);font-weight:700}.import-session-checkbox--hard input{accent-color:var(--danger)}.import-session-warning{color:var(--danger);align-items:center;gap:6px;margin:4px 0 0;font-size:.8rem;font-weight:700;display:flex}.import-session-warning--hidden{visibility:hidden}.import-status-row{align-items:stretch;gap:10px;height:80px;margin-top:8px;display:flex}.import-status-card{background:var(--paper);border:1px solid var(--silver-dark);border-left:4px solid var(--silver-dark);min-width:0;box-shadow:3px 3px 0 var(--silver-dark);flex-direction:column;flex:auto;justify-content:center;gap:4px;padding:10px 12px;font-family:Courier New,Courier,monospace;display:flex}.import-status-card--success{border-left-color:var(--success)}.import-status-card--danger{border-left-color:var(--danger)}.import-status-card--info{border-left-color:var(--link)}.import-status-card__title{color:var(--ink);font-size:.92rem;font-weight:800}.import-status-card--success .import-status-card__title{color:var(--success)}.import-status-card--danger .import-status-card__title{color:var(--danger)}.import-status-card__detail{color:var(--silver-dark);font-size:.74rem;line-height:1.3}.import-status-anim{flex:none;justify-content:center;align-items:center;width:80px;display:flex;overflow:hidden}.import-session-actions{justify-content:space-between;padding-top:4px;display:flex}.import-session-fetch{border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:8px;font-family:Courier New,Courier,monospace;font-size:.9rem;font-weight:700;transition:background .12s,color .12s,transform 80ms;display:inline-flex}.import-session-fetch:hover{background:var(--ink);color:var(--paper)}.import-session-fetch:active{background:var(--link);color:var(--paper);transform:translateY(1px)}.import-session-cup-icon{vertical-align:middle;display:inline-block}.import-session-fetch-more{color:var(--silver-dark);cursor:not-allowed;-webkit-user-select:none;user-select:none;font-family:Courier New,Courier,monospace;font-size:.85rem;font-weight:700;text-decoration:underline}.import-session-fetch-more--active{color:var(--success);cursor:pointer}.import-session-fetch-more--active:hover{text-decoration:none}.analysis-header{background:var(--silver);border-bottom:1px solid var(--silver-dark);justify-content:space-between;align-items:center;padding:8px 12px;font-family:Courier New,Courier,monospace;display:flex}.analysis-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.72rem;font-weight:800}.analysis-lamp{border:1px solid var(--silver-dark);background:var(--silver-light);border-radius:50%;width:9px;height:9px}.analysis-lamp--ready{background:var(--link);border-color:var(--link)}.analysis-lamp--busy{background:#c87b00;border-color:#c87b00;animation:1s ease-in-out infinite analysis-lamp-pulse}@keyframes analysis-lamp-pulse{0%,to{opacity:1;box-shadow:0 0 #c87b0080}50%{opacity:.55;box-shadow:0 0 0 3px #c87b0000}}.analysis-pipeline{background:var(--paper);padding:12px 14px 10px;font-family:Courier New,Courier,monospace}.analysis-bar{background:var(--silver-light);border:1px solid var(--silver-dark);width:100%;height:10px}.analysis-bar__fill{background:var(--link);width:0;height:100%;transition:width .2s;display:block}.analysis-steps{align-items:center;gap:14px;margin-top:10px;display:flex}.analysis-step{flex:none;align-items:center;gap:6px;display:inline-flex}.analysis-step--push{margin-left:auto}.analysis-step__label{letter-spacing:.02em;color:var(--silver-dark);font-size:.74rem;font-weight:700;transition:color .2s}.analysis-step--done .analysis-step__label{color:var(--success)}.analysis-step--active .analysis-step__label{color:var(--ink)}.analysis-readout{background:var(--paper);justify-content:space-between;align-items:flex-end;gap:12px;padding:6px 14px 14px;font-family:Courier New,Courier,monospace;display:flex}.analysis-readout__headline{color:var(--ink);align-items:baseline;font-size:.92rem;font-weight:700;display:inline-flex}.analysis-readout__metric{flex:none;align-items:baseline;gap:5px;display:inline-flex}.analysis-readout__value{color:var(--link);font-size:1.5rem;font-weight:800;line-height:1}.analysis-readout__unit{letter-spacing:.04em;text-transform:uppercase;color:var(--silver-dark);font-size:.66rem;font-weight:700}.bouncing-ellipsis{vertical-align:-.08em;border:none;align-items:center;gap:3px;width:19px;height:1lh;margin-left:4px;display:inline-flex}.bouncing-ellipsis__dot{transform-origin:50%;background:currentColor;border-radius:50%;width:5px;height:5px;animation:.9s cubic-bezier(.33,0,.2,1) infinite bouncing-ellipsis-bounce;transform:translateY(1px)scale(.72)}.bouncing-ellipsis__dot:nth-child(2){animation-delay:.12s}.bouncing-ellipsis__dot:nth-child(3){animation-delay:.24s}@keyframes bouncing-ellipsis-bounce{0%{transform:translateY(1px)scale(.72)}35%{transform:translateY(-3px)scale(1)}70%,to{transform:translateY(1px)scale(.72)}}@media (prefers-reduced-motion:reduce){.bouncing-ellipsis__dot{animation:none;transform:none}}.board-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:center;align-items:stretch;gap:12px;width:100%;min-height:0;display:grid}.board-left-rail{flex-direction:column;justify-self:end;gap:12px;width:100%;min-width:0;max-width:200px;padding:12px 0 12px 12px;display:flex}.board-stage{justify-self:center}.board-right-rail{flex-direction:column;justify-self:start;gap:12px;width:100%;min-width:0;max-width:200px;padding:12px 12px 12px 0;display:flex}@media (width<=640px){.board-row{grid-template-columns:minmax(0,1fr)}.board-left-rail,.board-right-rail{display:none}.board-stage{justify-self:center}}.prompt-banner{background:var(--paper);border:1px solid var(--silver-dark);max-width:200px;box-shadow:3px 3px 0 var(--silver-dark);color:var(--ink);padding:12px;font-family:Courier New,Courier,monospace;font-size:.85rem}.score-card{background:var(--paper);border:1px solid var(--silver-dark);box-shadow:3px 3px 0 var(--silver-dark);color:var(--ink);padding:12px;font-family:Courier New,Courier,monospace}.hint-card{background:var(--paper);border:1px solid var(--silver-dark);max-width:200px;box-shadow:3px 3px 0 var(--silver-dark);color:var(--ink);align-items:center;gap:10px;margin-top:auto;margin-bottom:36px;padding:12px;font-family:Courier New,Courier,monospace;display:flex}.hint-card__label{text-transform:uppercase;letter-spacing:0;color:var(--silver-dark);flex:none;font-size:.72rem;font-weight:700}.hint-card__bar{background:var(--silver-light);border:1px solid var(--silver-dark);flex:auto;min-width:48px;height:8px}.hint-card__bar-fill{background:var(--link);height:100%;transition:width .12s linear;display:block}.score-card__label{text-transform:uppercase;letter-spacing:0;color:var(--silver-dark);font-size:.72rem}.score-card__value{margin-top:6px;font-size:1.4rem;font-weight:700;line-height:1}.score-card__meta{margin-top:8px;font-size:.82rem}.board-timer{z-index:10;background:var(--paper);border:1px solid var(--silver-dark);box-shadow:2px 2px 0 var(--silver-dark);color:var(--ink);padding:4px 10px;font-family:Courier New,Courier,monospace;font-size:.9rem;font-weight:700;position:absolute;top:8px;right:8px}.board-timer--blitz{color:var(--danger)}.capsule-arrow--reset{font-size:1.3rem}.demo-marker-square-green{fill:#88ff2d;opacity:.5}.demo-marker-square-red{fill:#ff5724;opacity:.5}.demo-marker-square-important,.coach-marker-square-important{fill:#6aa7c8;opacity:.58}.board-piece-dimmed,.weak-piece-demo-piece-weak{opacity:.42}.cm-chessboard .engine-arrow-best-move .arrow-head{fill:var(--danger);fill-rule:nonzero}.cm-chessboard .engine-arrow-best-move .arrow-line{stroke:var(--danger);stroke-linecap:round;opacity:.55}.control-marker-square-white-1{fill:#5f93ff;opacity:.2}.control-marker-square-white-2{fill:#3d77ef;opacity:.34}.control-marker-square-white-3{fill:#1f5bd7;opacity:.48}.control-marker-square-black-1{fill:#f05a3d;opacity:.2}.control-marker-square-black-2{fill:#d94327;opacity:.34}.control-marker-square-black-3{fill:#b82f18;opacity:.48}.puzzle-marker-square-correct{fill:#c6cb8a;opacity:.55}.puzzle-marker-square-wrong{fill:#d38d78;opacity:.55}.spotlight-overlay{pointer-events:auto;transition:clip-path .18s;position:fixed;inset:0}.tutorial-modal{z-index:1001;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tutorial-modal__dialog{--ink:#000;--paper:#fff;--silver:silver;--silver-dark:gray;--silver-light:#dcdcdc;--link:#00a;--visited:#551a8b;--success:#006400;--danger:maroon;pointer-events:auto;background:var(--paper);width:min(420px,90vw);max-height:calc(100svh - 48px);color:var(--ink);border:2px outset var(--silver);flex-direction:column;font-family:Courier New,Courier,monospace;display:flex;box-shadow:5px 5px #00000073}.tutorial-modal__titlebar{background:var(--link);color:var(--paper);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.tutorial-modal__title{letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;font-weight:800}.tutorial-modal__close{background:var(--silver);width:22px;height:22px;color:var(--ink);border:2px outset var(--silver);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:Courier New,Courier,monospace;font-size:1rem;font-weight:800;line-height:1;display:inline-flex}.tutorial-modal__close:active{border-style:inset}.tutorial-modal__body{flex-direction:column;gap:12px;min-height:0;padding:14px 16px;font-size:.9rem;line-height:1.5;display:flex;overflow-y:auto}.tutorial-modal__body p{margin:0 0 8px}.tutorial-modal__body p:last-child{margin-bottom:0}.tutorial-modal__hint{color:var(--silver-dark);font-size:.78rem}.tutorial-modal__footer{justify-content:flex-end;align-items:center;gap:12px;padding:12px 16px 14px;display:flex}.tutorial-spotlight{pointer-events:auto;position:fixed;inset:0}.tutorial-tip{--ink:#000;--paper:#fff;--silver:silver;--silver-dark:gray;--silver-light:#dcdcdc;--link:#00a;background:var(--paper);max-width:calc(100vw - 16px);color:var(--ink);border:2px outset var(--silver);font-family:Courier New,Courier,monospace;position:fixed;box-shadow:5px 5px #00000073}.tutorial-tip__head{background:var(--link);color:var(--paper);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;display:flex}.tutorial-tip__title{letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;font-weight:800}.tutorial-tip__count{opacity:.85;flex:none;font-size:.72rem;font-weight:700}.tutorial-tip__body{margin:0;padding:12px 12px 8px;font-size:.85rem;line-height:1.5}.tutorial-tip__actions{justify-content:space-between;align-items:center;gap:8px;padding:0 12px 12px;display:flex}.tutorial-tip__nav{gap:8px;display:flex}.tutorial-tip__skip{color:var(--silver-dark);cursor:pointer;background:0 0;border:none;padding:4px;font-family:Courier New,Courier,monospace;font-size:.78rem;font-weight:700;text-decoration:underline}.tutorial-tip__skip:hover{color:var(--ink)}.login-page{background:var(--paper)}.login-stage{background:var(--silver-light);flex:auto;justify-content:center;align-items:center;padding:32px 16px;display:flex}.login-card{background:var(--paper);border:1px solid var(--silver-dark);width:min(360px,100%);box-shadow:4px 4px 0 var(--silver-dark);color:var(--ink);flex-direction:column;font-family:Courier New,Courier,monospace;display:flex}.login-card__header{background:var(--silver);border-bottom:1px solid var(--silver-dark);padding:10px 14px}.login-card__title{font-size:.95rem;font-weight:700}.login-modes{display:flex}.login-mode{color:var(--silver-dark);background:var(--silver-light);cursor:pointer;border:1px dashed #000;flex:1 1 0;padding:9px 8px;font-family:Courier New,Courier,monospace;font-size:.82rem;font-weight:700}.login-mode--active{color:var(--ink);background:var(--paper)}.login-card__body{flex-direction:column;gap:14px;padding:18px 16px;display:flex}.login-field{flex-direction:column;gap:4px;display:flex}.login-field__label{color:var(--ink);font-size:.85rem;font-weight:700}.login-field__input{color:var(--ink);background:var(--paper);border:1px solid var(--silver-dark);padding:6px 8px;font-family:Courier New,Courier,monospace;font-size:.9rem}.login-field__input:focus{border-color:var(--link);outline:none}.login-field__input:disabled{opacity:.6}.login-field__select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.login-extra-fields{flex-direction:column;gap:14px;display:flex}.login-extra-fields--reserved{visibility:hidden}.login-error,.login-notice{border:1px solid var(--silver-dark);margin:0;padding:7px 9px;font-size:.8rem;line-height:1.3}.login-error{color:#7a1d1d;background:#f6e3e3;border-color:#c89a9a}.login-notice{color:var(--ink);background:var(--silver-light)}.login-card__actions{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.login-link{color:var(--link);font-size:.8rem;text-decoration:underline}.login-link:visited{color:var(--visited)}.login-card__footer{background:var(--silver-light);border-top:1px dashed var(--silver);color:var(--silver-dark);text-align:right;padding:8px 14px;font-size:.75rem}.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.cm-chessboard .arrow-warning .arrow-head{fill:orange;fill-rule:nonzero}.cm-chessboard .arrow-warning .arrow-line{stroke:orange;stroke-linecap:round;opacity:.6}.cm-chessboard .arrow-danger .arrow-head{fill:red;fill-rule:nonzero}.cm-chessboard .arrow-danger .arrow-line{stroke:red;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-success .arrow-head{fill:green;fill-rule:nonzero}.cm-chessboard .arrow-success .arrow-line{stroke:green;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-info .arrow-head{fill:#00f;fill-rule:nonzero}.cm-chessboard .arrow-info .arrow-line{stroke:#00f;stroke-linecap:round;opacity:.4}.cm-chessboard .arrow-secondary .arrow-head{fill:#666;fill-rule:nonzero}.cm-chessboard .arrow-secondary .arrow-line{stroke:#666;stroke-linecap:butt;opacity:.5}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}
