/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.contents{display:contents}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#263238;--cream:#eef9ff;--paper:#fff;--green:#58cc02;--green-dark:#3e9700;--lime:#d7ff69;--muted:#71808b;--line:#dce9ee;--danger:#ff5d5d;--sky:#63d8f4;--blue:#1cb0f6;--board-light:#27343a;--board-dark:#161f23;--board-frame:#111b20;--piece-white:#c8d5e1;--piece-white-shine:#f4fafe;--piece-white-shade:#7a93a7;--piece-black:#435764;--piece-black-light:#5e7887;--piece-black-edge:#869fa9}*{box-sizing:border-box}html{background:#bcefff;min-height:100%}body{min-height:100%;color:var(--ink);background:radial-gradient(circle at 50% -10%,#fffbd2 0,#c9f4ff 42%,#9bdff4 100%);margin:0;font-family:Arial Rounded MT Bold,Nunito,Arial,Helvetica,sans-serif}button,summary{font:inherit;-webkit-tap-highlight-color:transparent}button{color:inherit}.course-app{grid-template-columns:280px minmax(0,540px);justify-content:center;gap:18px;min-height:100dvh;padding:18px;display:grid}.chapter-sidebar{background:#f9fdffeb;border:2px solid #fff;border-radius:24px;flex-direction:column;height:calc(100dvh - 36px);display:flex;position:sticky;top:18px;overflow:hidden;box-shadow:0 16px 50px #31576628}.sidebar-heading{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:16px;display:grid}.sidebar-heading>span{display:grid}.sidebar-heading b{font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.sidebar-heading small{color:var(--muted);margin-top:2px;font-size:.75rem}.sidebar-heading button{color:#80919a;cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:1.7rem;display:none}.brand-knight{width:46px;height:46px;color:var(--green-dark);background:var(--lime);border-radius:14px;place-items:center}.brand-knight .chess-piece{width:90%;height:90%}.course-meter{border-bottom:1px solid var(--line);color:#5b6e76;padding:13px 16px;font-size:.8rem}.course-meter>span{margin-bottom:7px;display:block}.course-meter>div{background:#dce9ee;border-radius:99px;height:8px;overflow:hidden}.course-meter i{border-radius:inherit;background:var(--green);height:100%;display:block}.chapter-nav{flex:1;padding:8px;overflow-y:auto}.chapter-nav section+section{margin-top:16px}.chapter-nav h2{color:#7c8e96;letter-spacing:.12em;text-transform:uppercase;margin:0;padding:5px 9px;font-size:.72rem}.chapter-nav a{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:34px 1fr;align-items:center;gap:9px;margin-top:3px;padding:8px;text-decoration:none;display:grid}.chapter-nav a:hover{background:#eaf8fd}.chapter-nav a:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.chapter-nav a.active{color:#fff;background:var(--green);box-shadow:inset 0 -3px #409d00}.chapter-nav a>span:first-child{color:#60737c;background:#e9f0f2;border-radius:10px;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:900;display:grid}.chapter-nav a>span:first-child .chess-piece{width:95%;height:95%}.chapter-nav a.active>span:first-child{color:var(--green-dark);background:var(--lime)}.chapter-nav a>span:last-child{min-width:0;display:grid}.chapter-nav b{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.chapter-nav small{color:#7b8c94;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.72rem;overflow:hidden}.chapter-nav a.active small{color:#edffd9}.expert-note{border-top:1px solid var(--line);color:#6a7c84;margin:0;padding:13px 16px 16px;font-size:.72rem;line-height:1.45}.menu-scrim{display:none}.lesson-shell{background:radial-gradient(circle at 12% 8%,#fff 0 3%,#0000 3.3%),radial-gradient(circle at 90% 18%,#fff 0 4%,#0000 4.3%),linear-gradient(#d7f7ff 0 25%,#f8fff2 49%,#f6fbff 100%);border-radius:24px;width:100%;min-height:100dvh;margin:0;padding:16px 17px 28px;overflow:hidden;box-shadow:0 24px 70px #27382f2b}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.topbar-actions{gap:8px;display:flex}.menu-button{display:none}.icon-button{border:2px solid var(--line);color:#7d929d;cursor:pointer;background:#fff;border-radius:14px;width:42px;height:42px;font-size:27px;font-weight:900;box-shadow:0 4px #c8dce4}.icon-button:active{transform:rotate(-28deg)}.sound-button{color:var(--green-dark);font-size:24px}.sound-button[aria-pressed=false]{color:#95a4aa;background:#f0f6f8}.sound-button:active{transform:translateY(2px)}.progress-stack{min-width:100px}.progress-label{color:#55717e;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin:0 2px 5px;font-size:.75rem;display:flex}.progress{background:#cbdde5;border:2px solid #fff;border-radius:99px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #8ea6b344}.progress span{background:linear-gradient(90deg, var(--green), #a8ed29);border-radius:99px;height:100%;transition:width .4s;display:block;box-shadow:inset 0 -2px #46a90055}.lesson-copy{padding:25px 4px 16px}.eyebrow{color:#6b7970;letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 10px;font-size:.75rem;font-weight:800;display:flex}.eyebrow span{color:#147eb5;letter-spacing:.04em;background:#e6f8ff;border-radius:7px;padding:5px 7px}h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,8vw,3rem);line-height:.97}h1 em{color:var(--green);font-weight:400}.lesson-copy>p:last-child{max-width:42ch;color:var(--muted);margin:14px 0 0;font-size:1rem;line-height:1.5}.concept-card{background:#f7fdff;border:1px solid #bfe9f8;border-radius:17px;margin-bottom:15px;padding:15px;box-shadow:0 4px #cfe8f0}.concept-label{color:#425860;align-items:center;gap:9px;font-size:.82rem;display:flex}.concept-label span{color:#fff;background:var(--blue);letter-spacing:.08em;text-transform:uppercase;border-radius:7px;padding:5px 8px;font-size:.72rem;font-weight:900}.concept-card>p{margin:12px 0 0;font-size:.95rem;line-height:1.55}.concept-card ul{color:#576a72;gap:8px;margin:12px 0 0;padding-left:20px;font-size:.88rem;line-height:1.45;display:grid}.concept-card li::marker{color:var(--green)}.concept-card>a{color:#147eb5;margin-top:13px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-block}.board-wrap{background:var(--board-frame);border-radius:17px;padding:7px;box-shadow:0 18px 42px #10263040}.board{aspect-ratio:1;border-radius:11px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.square{aspect-ratio:1;cursor:pointer;border:0;place-items:center;min-width:0;padding:0;display:grid;position:relative}.square:focus-visible{z-index:3;outline:3px solid var(--lime);outline-offset:-3px}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.chess-piece{z-index:2;filter:drop-shadow(0 2px #0b1519)drop-shadow(0 2px 2px #07101488);width:100%;height:100%;transition:transform .16s;display:block;position:relative;overflow:visible;transform:translateY(-2%)}.square:active .chess-piece{transform:translateY(0)scale(.93)}.chess-piece.white-piece{--piece-main:var(--piece-white);--piece-shine:var(--piece-white-shine);--piece-side:var(--piece-white-shade);--piece-outline:#a9bfcc;--piece-detail:#7897a9;--piece-face:#67869a}.chess-piece.black-piece{--piece-main:var(--piece-black);--piece-shine:var(--piece-black-light);--piece-side:#2c424d;--piece-outline:var(--piece-black-edge);--piece-detail:#83a4b1;--piece-face:#152b35}.chess-piece .piece-ground{fill:#0b1519aa}.chess-piece .piece-side{fill:var(--piece-side);stroke:var(--piece-outline);stroke-width:3.5px;stroke-linejoin:round}.chess-piece .piece-body{fill:var(--piece-main);stroke:var(--piece-outline);stroke-width:3.5px;stroke-linejoin:round}.chess-piece .piece-shine,.chess-piece .piece-cross{fill:var(--piece-shine)}.chess-piece .piece-cross{stroke:var(--piece-outline);stroke-width:3px;stroke-linejoin:round}.chess-piece .piece-neck,.chess-piece .piece-accent{fill:none;stroke:var(--piece-detail);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.chess-piece .piece-shine-stroke{fill:none;stroke:var(--piece-shine);stroke-width:4px;stroke-linecap:round}.chess-piece .piece-face{fill:var(--piece-face)}.chess-piece .piece-face-stroke{fill:none;stroke:var(--piece-face);stroke-width:3px;stroke-linecap:round}.square.selected:after,.square.hint-from:after{z-index:1;border:3px solid var(--lime);content:"";border-radius:7px;position:absolute;inset:3px}.square.hint-from .chess-piece{animation:1s infinite piecePulse}.square.hint-to i{background:#dcef4fbb;border-radius:50%;width:30%;height:30%;box-shadow:0 0 0 6px #dcef4f35}.square.last-from:before,.square.last-to:before{z-index:1;content:"";pointer-events:none;border-radius:7px;position:absolute;inset:4px}.square.last-from:before{background:#1cb0f626;border:3px dashed #147eb5}.square.last-to:before{background:#1cb0f646;border:3px solid #147eb5;box-shadow:inset 0 0 0 2px #fff6}.rank-label,.file-label{z-index:4;color:#d5e6edb3;font-size:.68rem;font-weight:900;position:absolute}.rank-label{top:3px;left:3px}.file-label{bottom:2px;right:3px}.board-error{animation:.24s boardShake}.notation-card{background:#ffffffd9;border:2px solid #fff;border-radius:17px;margin-top:12px;padding:12px;box-shadow:0 5px #d5e8ed}.last-move-row{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.last-move-row span{min-width:62px;display:grid}.last-move-row small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.last-move-row strong{color:#147eb5;font-family:Georgia,Times New Roman,serif;font-size:21px;line-height:1.05}.last-move-row code{color:#315462;background:#e7f7ff;border-radius:8px;justify-self:start;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:800}.last-move-row i{color:var(--green-dark);white-space:nowrap;justify-self:end;font-size:.72rem;font-style:normal;font-weight:900}.move-trail{scrollbar-width:none;gap:7px;margin:11px -12px 0;padding:1px 12px 7px;display:flex;overflow-x:auto}.move-trail::-webkit-scrollbar{display:none}.move-trail button{color:#51636c;text-align:left;cursor:pointer;background:#fff;border:2px solid #dce9ee;border-radius:10px;flex:none;gap:2px;min-width:70px;padding:7px 8px;display:grid}.move-trail button.active{border-color:var(--blue);background:#e7f7ff;box-shadow:0 2px #a8dff4}.move-trail b{font-size:.78rem}.move-trail small{color:#7b8b93;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.notation-details{border-top:1px solid var(--line)}.notation-details summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding-top:10px;list-style:none;display:grid}.notation-details summary::-webkit-details-marker{display:none}.notation-details summary span{font-size:.82rem;font-weight:900}.notation-details summary small{color:var(--muted);font-size:.72rem}.notation-details summary i{color:var(--blue);font-size:16px;font-style:normal;transition:transform .2s}.notation-details[open] summary i{transform:rotate(45deg)}.notation-block{background:#f3f9fb;border-radius:10px;margin-top:10px;padding:9px}.notation-block div{justify-content:space-between;align-items:center;gap:8px;display:flex}.notation-block b{color:#55717e;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.notation-block button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:5px 9px;font-size:.72rem;font-weight:900}.notation-block code{color:#42545d;overflow-wrap:anywhere;margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.5;display:block}.coach-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;align-items:center;gap:13px;min-height:76px;margin:17px 0 11px;padding:13px;transition:border-color .2s,background .2s;display:flex}.coach-card.good{background:#f2f8ed;border-color:#95b99e}.coach-card.bad{background:#fff4ed;border-color:#d8a594}.coach-icon{background:var(--lime);height:43px;color:var(--green-dark);border-radius:12px;flex:0 0 43px;place-items:center;font-size:24px;font-weight:900;display:grid}.bad .coach-icon{color:#fff;background:var(--danger)}.coach-card b{font-family:Georgia,Times New Roman,serif;font-size:17px}.coach-card p{color:#657169;margin:3px 0 0;font-size:.9rem;line-height:1.4}.primary-button{color:#fff;background:var(--green);width:100%;min-height:56px;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;padding:14px 17px;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform .15s,background .15s;display:block;box-shadow:0 8px 20px #2f5d4633}.primary-button:hover{background:#244d39}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{cursor:wait;opacity:.65}.primary-button span{float:right;font-size:18px}.idea-card{border:1px solid var(--line);background:#ffffff75;border-radius:14px;margin-top:11px}.idea-card summary{cursor:pointer;justify-content:space-between;padding:14px 15px;font-size:12px;font-weight:800;list-style:none;display:flex}.idea-card summary::-webkit-details-marker{display:none}.idea-card summary i{font-style:normal;transition:transform .2s}.idea-card[open] summary i{transform:rotate(45deg)}.idea-card p{color:var(--muted);margin:-2px 15px 15px;font-size:12.5px;line-height:1.5}footer{color:#7b857e;justify-content:space-between;gap:12px;padding:18px 3px 0;font-size:.72rem;display:flex}footer a{color:var(--green);font-weight:800;text-decoration:none}.source-links{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.bot-progress span{background:linear-gradient(90deg, var(--blue), var(--green))}.bot-arena{padding-top:4px}.bot-heading{padding:10px 4px 13px}.bot-heading h1{font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.08}.bot-fold{background:#ffffffd9;border:1px solid #cbdfe6;border-radius:17px;margin-bottom:12px;overflow:hidden;box-shadow:0 4px #d5e8ed}.bot-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:11px 14px;list-style:none;display:flex}.bot-fold>summary::-webkit-details-marker{display:none}.bot-fold>summary:hover{background:#f3f9fb}.bot-fold>summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.bot-fold>summary>span{gap:3px;min-width:0;display:grid}.bot-fold>summary b{font-size:.9rem}.bot-fold>summary small{color:var(--muted);font-size:.76rem;line-height:1.35}.bot-fold>summary i{color:var(--green-dark);font-size:1.4rem;font-style:normal;line-height:1;transition:transform .2s}.bot-fold[open]>summary i{transform:rotate(180deg)}.bot-controls{background:#f7fdff;border:1px solid #bfe9f8;border-radius:17px;gap:14px;margin-bottom:15px;padding:15px;display:grid;box-shadow:0 4px #cfe8f0}.bot-setup-fold .bot-controls{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;margin:0}.bot-setting-label{color:#657b84;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.control-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.board-side-control{grid-column:1/-1}.control-row small,.elo-control small,.import-head small,.save-position-row small,.saved-positions>small{color:#657b84;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:.76rem;font-weight:900;display:block}.segmented{background:#dfecef;border-radius:11px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented button{color:#61727a;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:38px;padding:7px 9px;font-size:.86rem;font-weight:900}.bot-setup-fold .segmented button{min-height:44px}.segmented button.active{color:#fff;background:#263f4a;box-shadow:0 2px #102b36}.segmented button:disabled{cursor:wait;opacity:.55}.segmented.compact{width:126px}.segmented.compact button{min-height:34px;font-size:.78rem}.elo-control{gap:7px;display:grid}.elo-control>span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.elo-control>span small{margin:0}.elo-control b{color:#147eb5;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.elo-control input{width:100%;accent-color:var(--green);cursor:pointer}.elo-control i{color:#7d8e96;justify-content:space-between;font-size:.72rem;font-style:normal;display:flex}.strength-note{color:#71808b;margin:-4px 0 0;font-size:.78rem;line-height:1.4}.player-time-control{justify-content:space-between;align-items:center;gap:12px;display:flex}.player-time-control span{color:#657b84;font-size:.82rem;font-weight:900}.player-time-control select{color:#334951;min-width:128px;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:2px solid #d6e8ee;border-radius:10px;padding:8px 10px;font-size:.86rem;font-weight:800}.player-time-control select:focus-visible{outline-offset:2px;outline:3px solid #1cb0f655}.clock-note{color:#71808b;margin:-9px 0 0;font-size:.78rem;line-height:1.4}.start-game-row{align-items:stretch;gap:10px;margin-bottom:15px;display:flex}.start-game-row.playing{justify-content:flex-end;margin-bottom:10px}.start-game-button{flex:1;width:auto;min-width:0}.start-game-button:disabled{cursor:default;opacity:.68}.player-clock{color:#42626e;text-align:center;background:#fff;border:2px solid #cbdfe6;border-radius:14px;align-content:center;min-width:104px;padding:8px 12px;display:grid}.player-clock.running{border-color:var(--green);background:#f3ffe8}.player-clock.expired{border-color:var(--danger);color:#b62e36}.player-clock small{font-size:.72rem;font-weight:800}.player-clock b{font:900 1.25rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.bot-board-wrap{position:relative}.bot-board-wrap .board:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.square.legal-target .move-dot{z-index:3;pointer-events:none;background:#234b39a8;border-radius:50%;width:24%;height:24%;position:absolute;box-shadow:0 0 0 5px #d7ff6959}.square.legal-target .capture-ring{z-index:3;pointer-events:none;border:4px solid #d7ff69d9;border-radius:50%;position:absolute;inset:7px}.bot-status{background:#fff;border:1px solid #bfe2ed;border-radius:15px;align-items:center;gap:12px;margin-top:14px;padding:13px;display:flex;box-shadow:0 4px #d5e8ed}.bot-status>span{color:#fff;background:#263f4a;border-radius:12px;flex:0 0 43px;place-items:center;height:43px;font-size:24px;font-weight:900;display:grid}.bot-status>div{flex:1;min-width:0}.bot-status.thinking>span{background:var(--blue);animation:1s infinite piecePulse}.bot-status b{font-family:Georgia,Times New Roman,serif;font-size:1rem}.bot-status p{color:#657169;margin:3px 0 0;font-size:.86rem;line-height:1.4}.bot-history-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.bot-history-actions button{color:#42626e;min-height:46px;font:inherit;cursor:pointer;background:#f3f9fb;border:2px solid #cbe3eb;border-radius:11px;padding:8px 10px;font-size:.88rem;font-weight:850}.bot-history-actions button span{vertical-align:-.06em;margin-right:5px;font-size:1.25rem;line-height:0}.bot-history-actions button:hover:not(:disabled){border-color:var(--blue);color:#147eb5}.bot-history-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.bot-history-actions button:disabled{cursor:default;opacity:.5}.position-editor-panel{border:2px solid var(--blue);background:#fff;border-radius:16px;gap:12px;margin:0 0 14px;padding:14px;display:grid;box-shadow:0 5px #c6e8f5}.position-editor-heading{gap:3px;display:grid}.position-editor-heading b{font-family:Georgia,Times New Roman,serif;font-size:1.12rem}.position-editor-heading span,.position-editor-panel>small{color:#657b84;font-size:.8rem;line-height:1.4}.position-editor-tools{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.position-editor-tools button{color:#42626e;cursor:pointer;background:#f3f9fb;border:2px solid #cbe3eb;border-radius:10px;place-items:center;min-width:0;min-height:49px;padding:4px;font-size:.73rem;font-weight:900;display:grid}.position-editor-tools button.active{border-color:var(--green-dark);background:var(--lime);box-shadow:inset 0 -3px #a6dd3d}.position-editor-tools .chess-piece{width:38px;height:38px}.position-editor-turn{justify-content:space-between;align-items:center;gap:12px;display:flex}.position-editor-turn>b{color:#657b84;font-size:.82rem}.position-editor-turn .segmented{width:180px}.position-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.position-editor-actions button,.arrange-launch{color:#42626e;min-height:44px;font:inherit;cursor:pointer;background:#f3f9fb;border:2px solid #cbe3eb;border-radius:10px;padding:8px 10px;font-size:.82rem;font-weight:900}.position-editor-actions .apply-position{border-color:var(--green-dark);background:var(--green);color:#fff;box-shadow:inset 0 -3px 0 var(--green-dark)}.position-editor-tools button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.position-editor-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.arrange-launch:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.arrange-launch{border-color:var(--green);width:100%;color:var(--green-dark);text-align:left;background:#efffdc;justify-content:space-between;align-items:center;display:flex}.arrange-launch:disabled{opacity:.5;cursor:default}.bot-import-fold{margin-top:14px}.bot-import-fold .import-card,.bot-notation-fold .notation-card{border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin:0}.bot-notation-fold .notation-block:first-child{margin-top:0}.import-card{background:#ffffffd9;border:1px solid #cbdfe6;border-radius:17px;gap:11px;margin-top:14px;padding:14px;display:grid;box-shadow:0 5px #d5e8ed}.import-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-head small{margin-bottom:3px}.import-head b{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.import-card textarea{resize:vertical;color:#334951;background:#f8fcfd;border:2px solid #d6e8ee;border-radius:11px;outline:none;width:100%;min-height:78px;padding:11px;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.import-card textarea:focus,.save-position-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1cb0f622}.import-button{text-align:center;min-height:48px}.save-position-row{grid-template-columns:1fr 86px;align-items:end;gap:9px;padding-top:3px;display:grid}.save-position-row label{min-width:0}.save-position-row input{color:#334951;width:100%;min-height:43px;font:inherit;background:#fff;border:2px solid #d6e8ee;border-radius:10px;outline:none;padding:9px 10px;font-size:.88rem}.save-position-row>button{color:#fff;cursor:pointer;background:#263f4a;border:0;border-radius:10px;min-height:43px;font-size:.86rem;font-weight:900}.saved-positions{border-top:1px solid var(--line);min-width:0;padding-top:4px}.saved-positions>small{margin:8px 0}.saved-positions>div{scrollbar-width:none;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.saved-positions>div::-webkit-scrollbar{display:none}.saved-positions button{color:#51636c;cursor:pointer;background:#fff;border:2px solid #dce9ee;border-radius:10px;flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;max-width:220px;min-height:42px;padding:7px 9px;display:grid}.saved-positions button.active{border-color:var(--green);background:#f3ffe5}.saved-positions button b{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.saved-positions button small{color:#7b8b93;font-size:.66rem;font-weight:900}.saved-piece-icon{place-items:center;width:24px;height:24px;display:grid}.saved-piece-icon .chess-piece{width:100%;height:100%}.puzzle-page{padding-top:4px}.puzzle-heading{padding:18px 4px 13px}.puzzle-heading h1{font-size:clamp(1.85rem,6vw,2.4rem)}.puzzle-heading>p:last-child{color:var(--muted);margin:12px 0 0}.puzzle-meta{flex-wrap:wrap;align-items:baseline;gap:5px 12px;margin-top:12px;display:flex}.puzzle-meta strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.12rem}.puzzle-meta span{color:var(--muted);font-size:.83rem}.puzzle-difficulty{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.puzzle-difficulty span{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:.73rem;font-weight:800}.puzzle-difficulty span:last-child{color:#147eb5;background:#e6f8ff;border-color:#b7e5f8}.puzzle-difficulty-note{color:var(--muted);margin:7px 0 0;font-size:.72rem;line-height:1.35}.puzzle-state{color:#42626e;text-align:center;background:#fff;border:1px solid #cbdfe6;border-radius:17px;place-content:center;gap:14px;min-height:220px;padding:24px;display:grid}.puzzle-state p{margin:0}.puzzle-state button{background:var(--green);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:10px;font-weight:900}.puzzle-toolbar{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px;display:grid}.puzzle-timer,.puzzle-side{background:#fff;border:1px solid #cbdfe6;border-radius:12px;align-content:center;min-height:56px;padding:7px 12px;display:grid}.puzzle-timer small,.puzzle-side small{color:#657b84;font-size:.72rem;font-weight:800}.puzzle-timer b{color:var(--green-dark);font:900 1.28rem/1.15 ui-monospace,SFMono-Regular,Menlo,monospace}.puzzle-timer.stopped b{color:#147eb5}.puzzle-side b{color:var(--ink);font-size:.91rem}.puzzle-board-wrap .square.selected:after,.puzzle-board-wrap .square.hint-from:after{border-color:#d7ff69}.square.checked-square{background:#a92f3b;box-shadow:inset 0 0 0 4px #ff6b70,inset 0 0 24px #6f1019}.square.checked-square .chess-piece{filter:drop-shadow(0 0 5px #ffb3b3)}.square.mated-square{background:#8c2733;box-shadow:inset 0 0 0 4px #ff6363,inset 0 0 24px #61151d}.square>.king-shatter{z-index:2;width:100%;height:100%;display:block;position:relative}.king-core,.king-shard{display:block;position:absolute;inset:0}.king-shatter .chess-piece{width:100%;height:100%}.king-core{animation:.4s 80ms both kingCoreBreak}.king-shard{opacity:0;animation:.4s 80ms both kingShardFly}.shard-1{clip-path:polygon(0 0,52% 0,48% 38%,4% 34%);--flight:translate(-9px, -8px) rotate(-23deg)}.shard-2{clip-path:polygon(52% 0,100% 0,96% 36%,48% 38%);--flight:translate(8px, -7px) rotate(26deg)}.shard-3{clip-path:polygon(4% 34%,48% 38%,50% 65%,0 72%);--flight:translate(-9px, -1px) rotate(-30deg)}.shard-4{clip-path:polygon(48% 38%,96% 36%,100% 72%,50% 65%);--flight:translate(8px, 1px) rotate(28deg)}.shard-5{clip-path:polygon(0 72%,50% 65%,48% 100%,0 100%);--flight:translate(-7px, 8px) rotate(-17deg)}.shard-6{clip-path:polygon(50% 65%,100% 72%,100% 100%,48% 100%);--flight:translate(7px, 8px) rotate(20deg)}.puzzle-feedback{background:#fff;border:1px solid #bfe2ed;border-radius:14px;align-items:center;gap:11px;margin-top:14px;padding:12px;display:flex;box-shadow:0 4px #d5e8ed}.puzzle-feedback>span{color:#fff;background:#263f4a;border-radius:11px;flex:0 0 42px;place-items:center;height:42px;font-size:1.4rem;display:grid}.puzzle-feedback.good>span{background:var(--green-dark)}.puzzle-feedback.bad{background:#fff8f6;border-color:#ffc7c2}.puzzle-feedback.bad>span{background:var(--danger)}.puzzle-feedback b{font-family:Georgia,Times New Roman,serif;font-size:1rem}.puzzle-feedback p{color:#657169;margin:3px 0 0;font-size:.86rem;line-height:1.4}.puzzle-actions{grid-template-columns:minmax(0,1fr) 112px 88px;gap:8px;margin-top:13px;display:grid}.puzzle-actions .primary-button{min-width:0;min-height:48px;padding:11px 13px;font-size:.94rem}.puzzle-actions>button:not(.primary-button),.puzzle-promotion button{color:#42626e;min-height:48px;font:inherit;cursor:pointer;background:#f3f9fb;border:2px solid #cbe3eb;border-radius:11px;padding:9px;font-size:.82rem;font-weight:850}.puzzle-actions>button:disabled{opacity:.58;cursor:default}.puzzle-promotion{border:2px solid var(--blue);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:11px;padding:10px;display:flex}.puzzle-promotion b{margin-right:5px;font-size:.83rem}.puzzle-promotion button{min-height:42px}.puzzle-review{background:#fff;border:1px solid #cbdfe6;border-radius:14px;margin-top:13px;padding:13px;box-shadow:0 4px #d5e8ed}.puzzle-review>div:first-child{justify-content:space-between;align-items:baseline;gap:9px;display:flex}.puzzle-review>div:first-child b{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.puzzle-review>div:first-child small{color:#657b84;font-size:.78rem}.puzzle-review-controls{grid-template-columns:46px 1fr 1fr 46px;gap:7px;margin-top:12px;display:grid}.puzzle-review-controls button{color:#42626e;min-height:44px;font:inherit;cursor:pointer;background:#f3f9fb;border:2px solid #cbe3eb;border-radius:10px;font-size:.83rem;font-weight:850}.puzzle-review-controls button:disabled{opacity:.45;cursor:default}.puzzle-move-trail{gap:6px;margin-top:12px;padding-bottom:4px;display:flex;overflow-x:auto}.puzzle-move-trail button{color:#51636c;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce9ee;border-radius:9px;flex:none;padding:7px 9px;font-size:.78rem;font-weight:800}.puzzle-move-trail button.active{border-color:var(--blue);color:#147eb5;background:#e7f7ff}.puzzle-credit{color:#657b84;margin:16px 2px 0;font-size:.8rem}.puzzle-credit a{color:#147eb5;font-weight:900}.saved-page{padding-top:4px}.saved-heading{padding:20px 4px 16px}.saved-heading>p:last-child{max-width:42ch;color:var(--muted);margin:14px 0 0;font-size:1rem;line-height:1.5}.saved-library-note{color:#4e6873;background:#e9f8ff;border-radius:11px;margin:0 0 13px;padding:10px 12px;font-size:.8rem;line-height:1.4}.saved-list{gap:12px;display:grid}.saved-card{background:#ffffffdf;border:1px solid #cbdfe6;border-radius:17px;padding:14px;box-shadow:0 5px #d5e8ed}.saved-card-head{grid-template-columns:42px 1fr;align-items:center;gap:11px;display:grid}.saved-card-head>span{background:var(--lime);width:42px;height:42px;color:var(--green-dark);border-radius:12px;place-items:center;font-size:1.45rem;display:grid}.saved-card-head>span .chess-piece{width:90%;height:90%}.saved-card h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;overflow:hidden}.saved-card-head p{color:#73858d;margin:3px 0 0;font-size:.74rem}.saved-card>code{overflow-wrap:anywhere;color:#4b626c;background:#f1f8fa;border-radius:9px;margin:12px 0;padding:9px;font:.7rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.saved-card-actions{align-items:stretch;gap:8px;display:flex}.saved-card-actions button{cursor:pointer;border-radius:10px;min-height:42px;padding:9px 11px;font-size:.8rem;font-weight:900}.open-saved-button{background:var(--green);color:#fff;text-align:left;border:0;flex:1}.open-saved-button span{float:right}.delete-saved-button{color:#bd433b;background:#fff6f4;border:2px solid #ffd0cc}.delete-confirm{gap:6px;display:flex}.delete-confirm button{color:#687b84;background:#fff;border:2px solid #dce9ee}.delete-confirm .confirm-delete-button{border-color:var(--danger);background:var(--danger);color:#fff}.saved-empty{text-align:center;background:#ffffff8c;border:2px dashed #bfdbe5;border-radius:18px;place-items:center;padding:38px 22px;display:grid}.saved-empty>span{background:var(--lime);width:58px;height:58px;color:var(--green-dark);border-radius:18px;place-items:center;font-size:2rem;display:grid}.saved-empty>span .chess-piece{width:90%;height:90%}.saved-empty h2{margin:15px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.saved-empty p{max-width:34ch;color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}@keyframes piecePulse{50%{transform:translateY(-2px)scale(1.1)}}@keyframes boardShake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes kingCoreBreak{0%,10%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes kingShardFly{0%,20%{opacity:0;transform:translate(0)rotate(0)}24%{opacity:1}to{opacity:1;transform:var(--flight)}}@media (max-width:760px){.course-app{padding:0;display:block}.lesson-shell{min-height:100dvh;box-shadow:none;border-radius:0}.topbar{grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.menu-button{font-size:1.1rem;display:block}.chapter-sidebar{z-index:20;border-radius:0 22px 22px 0;width:min(86vw,330px);height:100dvh;transition:transform .24s;position:fixed;top:0;left:0;transform:translate(-105%)}.chapter-sidebar.open{transform:translate(0)}.sidebar-heading button{display:block}.menu-scrim{z-index:19;opacity:0;pointer-events:none;background:#18333b99;border:0;transition:opacity .24s;display:block;position:fixed;inset:0}.menu-scrim.visible{opacity:1;pointer-events:auto}}@media (max-width:500px){.position-editor-tools{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:370px){.lesson-shell{padding-inline:12px}.lesson-copy{padding-top:20px}.coach-card{margin-top:13px}.last-move-row{grid-template-columns:auto 1fr}.last-move-row i{grid-column:1/-1;justify-self:start}.control-row,.save-position-row{grid-template-columns:1fr}.saved-card-actions{flex-direction:column}.delete-confirm{grid-template-columns:1fr 1fr;display:grid}.puzzle-toolbar,.puzzle-actions{grid-template-columns:1fr 1fr}.puzzle-actions .primary-button{grid-column:1/-1}.position-editor-tools{grid-template-columns:repeat(6,minmax(0,1fr))}.position-editor-tools .chess-piece{width:33px;height:33px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.king-core{opacity:0!important;animation:none!important}.king-shard{opacity:1!important;transform:var(--flight)!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
