#trainer .explanation{text-shadow:0 1px 0 var(--c-font-shadow)}:where(html.light) .cmn-toggle input:disabled+label:before,.cmn-toggle :where(html.light) input:disabled+label:before,:where(html.light) .cmn-toggle input:disabled+label:after,.cmn-toggle :where(html.light) input:disabled+label:after{box-shadow:inset 0 3px 3px -2px #fff6, inset 0 -4px 8px -3px hsl(from var(--c-body-gradient) h s calc(l + 5)/.8)}.cmn-toggle input:disabled+label:before,.cmn-toggle input:disabled+label:after{background-image:linear-gradient(to bottom, var(--c-metal-top), var(--c-metal-bottom))}.cmn-toggle label:after,group.radio label,group.radio .label{box-shadow:inset 0 1px 3px -2px #737373, inset 0 -4px 8px -3px hsl(from var(--c-body-gradient) h s calc(l + 3)/.8), 0 1px 3px 0 #0003}:where(html.light) .cmn-toggle label:after,.cmn-toggle :where(html.light) label:after,:where(html.light) group.radio label,group.radio :where(html.light) label,:where(html.light) group.radio .label,group.radio :where(html.light) .label{box-shadow:inset 0 3px 3px -2px #fff6, inset 0 -4px 8px -3px hsl(from var(--c-body-gradient) h s calc(l + 5)/.8), 0 1px 3px 0 #0000002e}.cmn-toggle label:after,group.radio label,group.radio .label{background:linear-gradient(to bottom, var(--c-metal-top), var(--c-metal-bottom));text-shadow:.5px .5px 0 rgb(from var(--c-dimmer) r g b/calc(alpha * .8))!important}.cmn-toggle label:hover:not(.disabled,:disabled,[disabled]):after,group.radio label:hover:not(.disabled,:disabled,[disabled]),group.radio .label:hover:not(.disabled,:disabled,[disabled]){box-shadow:inset 0 1px 3px -2px var(--c-border-light), inset 0 -5px 16px -3px hsl(from var(--c-body-gradient) h s calc(l + 5)/.8), 0 2px 4px 0 #0000003d}:where(html.light) .cmn-toggle label:hover:not(.disabled,:disabled,[disabled]):after,.cmn-toggle :where(html.light) label:hover:not(.disabled,:disabled,[disabled]):after,:where(html.light) group.radio label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.light) label:hover:not(.disabled,:disabled,[disabled]),:where(html.light) group.radio .label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.light) .label:hover:not(.disabled,:disabled,[disabled]){box-shadow:inset 0 4px 3px -2px #fff6, inset 0 -5px 8 16px -3px hsl(from var(--c-body-gradient) h s calc(l + 7)/.8), 0 2px 4px 0 #00000036}.cmn-toggle label:hover:not(.disabled,:disabled,[disabled]):after,group.radio label:hover:not(.disabled,:disabled,[disabled]),group.radio .label:hover:not(.disabled,:disabled,[disabled]){background:linear-gradient(to bottom, var(--c-metal-top-hover), var(--c-metal-bottom-hover))}:where(html.transp) .cmn-toggle label:hover:not(.disabled,:disabled,[disabled]):after,.cmn-toggle :where(html.transp) label:hover:not(.disabled,:disabled,[disabled]):after,:where(html.transp) group.radio label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.transp) label:hover:not(.disabled,:disabled,[disabled]),:where(html.transp) group.radio .label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.transp) .label:hover:not(.disabled,:disabled,[disabled]){box-shadow:inset 0 1px 3px -2px var(--c-border-light), inset 0 -5px 16px -3px hsl(from var(--c-body-gradient) h s calc(l + 5)/.8), 0 2px 4px 0 #00000026}:where(html.light) :where(html.transp) .cmn-toggle label:hover:not(.disabled,:disabled,[disabled]):after,.cmn-toggle :where(html.light) :where(html.transp) label:hover:not(.disabled,:disabled,[disabled]):after,:where(html.light) :where(html.transp) group.radio label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.light) :where(html.transp) label:hover:not(.disabled,:disabled,[disabled]),:where(html.light) :where(html.transp) group.radio .label:hover:not(.disabled,:disabled,[disabled]),group.radio :where(html.light) :where(html.transp) .label:hover:not(.disabled,:disabled,[disabled]){box-shadow:inset 0 4px 3px -2px #fff6, inset 0 -5px 8 16px -3px hsl(from var(--c-body-gradient) h s calc(l + 7)/.8), 0 2px 4px 0 #0000001f}group.radio input:checked+label:not(.disabled):hover,group.radio input:checked+label{box-shadow:inset 0 3px 4px #00000026!important}group.radio input:checked+label{background:var(--c-accent);color:#fff;text-shadow:0 1px 1px #000!important}@media (hover:hover){group.radio input:checked+label:not(.disabled):hover{background:hsl(from var(--c-accent) h s calc(l + 5))}}.cmn-toggle label:before{vertical-align:middle;text-transform:none;speak:none;content:attr(data-icon);opacity:.9;unicode-bidi:isolate;font-family:lichess;font-size:1.2em;font-style:normal;font-weight:400}.cmn-toggle input{touch-action:manipulation}.cmn-toggle input,group.radio input{position:absolute;inset-inline-start:-99999px}group.radio{flex-flow:wrap;display:flex}group.radio label,group.radio .label{flex-flow:wrap;justify-content:center;align-items:center;display:flex}#trainer .keyboard-container{flex-flow:wrap;justify-content:space-between;align-items:center;display:flex}#trainer .settings,#trainer .side,#trainer .table,#trainer .back{flex-flow:column;display:flex}#trainer .progress__bar,#trainer .progress,#zentog,.cmn-toggle label:before,.cmn-toggle label,group.radio{border-radius:var(---ui-roundness,7px)}group.radio{box-shadow:0 2px 2px #00000014,0 3px 1px -2px #0000002e,0 1px 5px #0000001a}:where(html.transp) group.radio{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body{---board-scale:1}@media (min-width:799.3px) and (min-height:499.3px){body{---board-scale:calc((var(---zoom) / 100) * .75 + .25)}}body{---col2-uniboard-width:calc(min(calc(100vw - var(---block-gap) - 240px - 2 * var(---main-margin,0px) - 20px), calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 1rem)) * var(---board-scale));---col3-uniboard-width:calc(min(calc(100vw - var(---col3-uniboard-side-min,250px) - var(---block-gap) - 240px - 2 * var(---main-margin,0px) - 20px), calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 1rem)) * var(---board-scale))}@supports not (width:min(1px, 2px)){body{---col2-uniboard-width:minmax(calc(70vmin * var(---board-scale)), calc(100vh * var(---board-scale) - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 3rem));---col3-uniboard-width:minmax(calc(70vmin * var(---board-scale)), calc(100vh * var(---board-scale) - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)) - 3rem))}}@media (max-width:799.29px) and (orientation:portrait){.main-board cg-board{border-radius:0}}group.radio{overflow:hidden}group.radio div{flex:auto;position:relative}group.radio label,group.radio .label{-webkit-user-select:none;user-select:none;cursor:pointer;border-inline-end:1px solid var(--c-border);height:100%;padding:10px}group.radio label.disabled,group.radio .label.disabled{background:var(--c-metal-top)}:where(html.light) group.radio label.disabled,:where(html.light) group.radio .label.disabled{background:var(--c-metal-bottom)}@media (hover:hover){group.radio label:not(.disabled):hover,group.radio .label:not(.disabled):hover{background:linear-gradient(to bottom, var(--c-metal-top-hover), var(--c-metal-bottom-hover));text-shadow:0 1px 0 var(--c-font-shadow)}}group.radio div:last-child label{border-inline-end:0}group.radio input:focus-visible+label{outline:2px solid var(--c-primary);outline-offset:-2px}.cmn-toggle-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.8ch;display:inline-flex}.cmn-toggle label{-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid var(--c-border);background-clip:padding-box;background-color:var(--c-font-dimmer);outline:none;width:40px;height:24px;padding:1px;transition:background .15s,box-shadow .15s;display:block;position:relative}.cmn-toggle label:before,.cmn-toggle label:after{content:"";width:23px;height:23px;display:block;position:absolute;bottom:0}html:not([dir=rtl]) .cmn-toggle label:before,html:not([dir=rtl]) .cmn-toggle label:after{left:0}html[dir=rtl] .cmn-toggle label:before,html[dir=rtl] .cmn-toggle label:after{right:0}.cmn-toggle label:before{z-index:1;text-align:center;content:"";color:var(--c-font-dimmer);font-size:1em;line-height:23px;transition:margin .15s,color .15s}.cmn-toggle label:after{border-radius:calc(var(---ui-roundness,7px) - 1px);transition:margin .15s,box-shadow .15s}:where(html.transp) .cmn-toggle label:after{background:linear-gradient(to bottom, hsl(var(---site-hue), 7%, 22%), hsl(var(---site-hue), 5%, 19%) 100%)}:where(html.transp.light) .cmn-toggle label:after{background:linear-gradient(to bottom, hsl(var(---site-hue), 7%, 88%), hsl(var(---site-hue), 5%, 91%) 100%)}:where(html.transp) .cmn-toggle label:hover:after{background:linear-gradient(to bottom, hsl(var(---site-hue), 7%, 26%), hsl(var(---site-hue), 5%, 23%) 100%)}:where(html.transp.light) .cmn-toggle label:hover:after{background:linear-gradient(to bottom, hsl(var(---site-hue), 7%, 90%), hsl(var(---site-hue), 5%, 93%) 100%)}.cmn-toggle input:checked+label{background-color:var(--c-good)}.cmn-toggle input:checked+label:before,.cmn-toggle input:checked+label:after{margin-inline-start:16px}.cmn-toggle input:checked+label:before{content:"";color:var(--c-good)}.cmn-toggle input:disabled+label{opacity:.6;cursor:not-allowed!important}.cmn-toggle input:disabled+label:before,.cmn-toggle input:disabled+label:after{box-shadow:none}.cmn-toggle input:focus-visible:not(:disabled)+label{box-shadow:0 0 12px var(--c-font-dimmer);border-color:var(--c-primary)}coords{font-size:8px}@media (min-width:300px){coords{font-size:calc(.444444vw + 6.66667px)}}@media (min-width:1200px){coords{font-size:12px}}coords{-webkit-user-select:none;user-select:none;pointer-events:none;color:#fff;text-shadow:0 1px 2px #000;font-weight:700;display:flex;position:absolute}.coords-no coords{display:none}coords.ranks{flex-flow:column-reverse;width:.8em;height:100%;top:1px;right:0}coords.ranks.black{flex-flow:column}coords.files{text-align:left;flex-flow:row;width:100%;height:1.4em;bottom:0;left:0}coords.files.black{flex-flow:row-reverse}coords.files coord{padding-left:4px}coords coord{flex:auto}coords .is3d .cg-wrap coords coord{color:#fff!important;text-shadow:0 1px 2px #000!important}coords .is3d .cg-wrap coords.files{bottom:calc(1px - 2.5%)}coords .is3d .cg-wrap coords.files coord{padding-left:3px}coords{text-shadow:var(---cg-cs,0 1px 2px #000)}coords .coord-light{color:var(---cg-ccb,#fff)}coords .coord-dark{color:var(---cg-ccw,#fff)}@media (min-width:799.3px),(orientation:landscape){.coords-out coords{text-shadow:none}.coords-out coords.ranks{width:12px;top:0;right:-15px}.coords-out coords.ranks coord{transform:translateY(42%)}.coords-out coords.files{text-align:center;bottom:-15px;left:0}.coords-out coords.ranks coord,.coords-out .is2d coords.files coord{color:var(--c-font-page)!important}.coords-out .main-board{margin-bottom:12px}}.sparkline{stroke:var(--c-primary);fill:color-mix(in oklab, var(--c-primary) 20%, var(--c-bg))}div.sparkline-box{position:relative}span.sparkline-tooltip{background:color-mix(in oklab, var(--c-primary) 20%, var(--c-bg));color:var(--c-primary);border:.2rem solid var(--c-primary);z-index:99999;border-radius:.4rem;padding:.1rem .3rem;font-size:.8rem;font-weight:700;position:absolute;transform:translate(-50%,-150%)}#zenzone{z-index:111;flex-flow:row;align-items:center;display:none;position:absolute}body.zenable.zen #zenzone{display:flex}#zenzone .zen-home{background:url(/lichess/~lichess1.org/assets/logo/lichess-white.svg) 50% no-repeat;flex:0 0 4em;height:4em;padding:1em}:where(html.light) #zenzone .zen-home{background-image:url(/lichess/~lichess1.org/assets/logo/lichess.svg)}#zenzone .zen-home{opacity:.5;background-size:2em}#zenzone .zen-home:hover{opacity:1}#zentog{opacity:.5;flex:none;padding:.2em 1em}#zentog:hover{opacity:1}.fbt{color:var(--c-font);text-transform:uppercase;line-height:1.5;transition:all .15s}@media (hover:hover){.fbt:hover:not(.disabled,[disabled]){background:color-mix(in oklab, var(--c-secondary) 75%, var(--c-bg));color:#fff}}.fbt.active{color:var(--c-over);background:var(--c-secondary)!important}.fbt.disabled,.fbt[disabled]{opacity:.5;cursor:default}body.resizing{-webkit-user-select:none;user-select:none}cg-resize{display:none}@media (min-width:799.3px){cg-resize{cursor:nwse-resize;z-index:10;width:22px;height:22px;display:block;position:absolute;bottom:-9px;right:-9px}cg-resize:before,cg-resize:after{content:"";background:#000;width:12px;height:1px;position:absolute;left:0}cg-resize:before{width:5px;transform:translate(7px,8px)rotate(-45deg)}cg-resize:after{transform:translate(1px,6px)rotate(-45deg)}cg-resize:hover{background:var(--c-accent-cloud);border-radius:50%}.resizing cg-resize{background:rgb(from var(--c-secondary) r g b/calc(alpha * .5));border-radius:50%}}#main-wrap{---main-max-width:calc(100vh - calc(var(---site-header-height) + var(---site-header-margin) + var(---sticky-gap)))}@media (min-width:979.3px){#main-wrap{---main-max-width:auto}}.trainer{row-gap:var(---block-gap);grid-area:main;grid-template-areas:"board""progress""co-input""table""side";display:grid}.trainer .side{grid-area:side}.trainer .main-board,.trainer svg.coords-svg{grid-area:board}.trainer .table{grid-area:table}.trainer .progress{grid-area:progress}.trainer .coordinate-input{grid-area:co-input}@media (min-width:979.3px){.trainer{grid-template-columns:var(---col2-uniboard-width) var(---block-gap) minmax(240px, 400px);grid-template-rows:fit-content(0);grid-template-areas:"board.table""board.side""progress.side""co-input.side"". .side"}}@media (min-width:1259.3px){.trainer{grid-template-areas:"side.board.table""side.progress. .""side.co-input. .""side. . . .";grid-template-columns:minmax(var(---col3-uniboard-side-min,250px), 350px) var(---block-gap) var(---col3-uniboard-width) var(---block-gap) minmax(240px, 400px)}}@media (max-width:979.29px){.explanation{order:2;margin:0 1em}}.zen #friend_box,.zen .site-title-nav,.zen .site-buttons,.zen .score,.zen .timer,.zen .trainer .side,.trainer .zen .side,.zen .trainer .progress,.trainer .zen .progress{display:none}svg.coords-svg{-webkit-user-select:none;user-select:none;z-index:3;pointer-events:none;width:100%;height:100%}svg.coords-svg text{text-shadow:0 10px 10px #444;direction:ltr;font-weight:700}svg.coords-svg g.current{opacity:.8;animation:.15s slide-in-current;transform:translate(22px,60px)}svg.coords-svg g.current text{fill:#fff;font-size:30px;animation:.15s enlarge-current}svg.coords-svg g.current{transition:opacity .15s,transform .15s}svg.coords-svg g.next{opacity:.7;animation:.15s slide-in-next;transform:translate(64px,64px)}svg.coords-svg g.next text{fill:#eee;font-size:12px}@keyframes slide-in-current{0%{opacity:.7;transform:translate(64px,64px)}to{opacity:.8;transform:translate(22px,60px)}}@keyframes enlarge-current{0%{font-size:12px}to{font-size:30px}}@keyframes slide-in-next{0%{opacity:0;transform:translate(84px,64px)}to{opacity:.7;transform:translate(64px,64px)}}rect.next-target{stroke:gray}rect.current-target{stroke:var(--c-secondary);animation:.175s linear expand-and-shrink}@keyframes expand-and-shrink{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}#trainer .wrong .progress__bar{background-color:var(--c-bad)}#trainer .wrong .score{color:var(--c-bad)!important}#trainer .wrong .coord--current{fill:var(--c-bad)!important}#trainer .wrong .current-target{stroke:var(--c-bad)}#trainer .score,#trainer .timer{margin:var(---block-gap);font-family:storm;font-size:5em}#trainer .hurry{color:var(--c-brag)!important}#trainer .box{padding:var(---block-gap)}#trainer .box h1{margin-bottom:1rem}#trainer icon{background-repeat:no-repeat;background-size:100%;width:30px;height:30px;padding:0;display:block}#trainer .current-status{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}#trainer .current-status--color{flex-flow:row}#trainer .current-status--color icon{width:60px;height:60px}#trainer .mode_option,#trainer .timeControl_option{width:50%}#trainer .timeControl_untimed{font-size:1.5em;line-height:1em}#trainer .color_white icon{background-image:url(/lichess/~lichess1.org/assets/hashed/wK.09837f1f.svg)}#trainer .color_random icon{background-image:url(/lichess/~lichess1.org/assets/hashed/wbK.54c731a7.svg)}#trainer .color_black icon{background-image:url(/lichess/~lichess1.org/assets/hashed/bK.2dc3caba.svg)}#trainer .scores{flex-direction:column;row-gap:1em;display:flex}#trainer .back{margin-top:var(---block-gap);align-items:center}#trainer .back-button{text-transform:uppercase;font-size:1.5em}#trainer .progress{background-color:var(--c-bg-zebra)}#trainer .progress__bar{background-color:var(--c-secondary);width:100%;height:10px}#trainer .table{align-items:center;gap:1em}#trainer .explanation li{margin:.5em 0 .5em 1em;list-style:outside}#trainer .explanation strong{margin:1em 0 .5em;display:block}#trainer .start{width:fit-content}#trainer .coordinate-input{grid-template-columns:1fr 1fr;grid-template-areas:"buttons buttons""voice voice""keyboard keyboard";gap:1vh 8px;display:grid}@media (min-width:649.3px){#trainer .coordinate-input{grid-template-areas:"keyboard voice""buttons buttons"}}#trainer .keyboard-container{grid-area:keyboard;width:100%}#trainer .keyboard-container a{margin-right:2vw}:where(html.transp) #trainer .keyboard-container input.keyboard{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#trainer .keyboard-container input.keyboard{width:4em;margin-inline-end:1em}#trainer .keyboard-container.hidden{display:none}#trainer .voice-container{grid-area:voice}#trainer .files-ranks{grid-area:buttons;grid-template-columns:repeat(8,1fr);width:100%;display:grid}#trainer .files-ranks button.file-rank{height:3em}#trainer .side{gap:var(---block-gap)}:where(html.transp) #trainer .settings{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#trainer .settings{gap:var(---block-gap);padding-inline:8px}