/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;--text-sm:.875rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-display-s:1.44rem;--text-display:1.728rem;--text-section:1.2rem;--text-title:1rem;--text-lead:1rem;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(52% .19 27);--color-success:oklch(50% .12 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(97.6% .011 88);--color-paper-2:oklch(96.5% .02 160);--color-paper-3:oklch(93% .036 160);--color-ink:oklch(21% .025 170);--color-ink-2:oklch(31% .02 170);--color-muted:oklch(49% .024 165);--color-rule:oklch(86.5% .022 140);--color-accent:oklch(50% .13 160);--color-accent-deep:oklch(42% .11 162);--color-accent-soft:oklch(88% .08 160);--color-accent-ink:oklch(99% .006 160);--color-focus:oklch(45% .14 160);--p-mon:oklch(85% .052 22);--p-tue:oklch(87.5% .058 64);--p-wed:oklch(91.5% .064 98);--p-thu:oklch(86.5% .075 160);--p-fri:oklch(87% .048 210);--p-sat:oklch(84% .045 270);--p-sun:oklch(84% .048 322);--light:oklch(99.4% .016 84);--glint:oklch(99.4% .006 160);--font-display:"Schibsted Grotesk",ui-sans-serif,sans-serif;--font-body:"Instrument Sans",ui-sans-serif,sans-serif;--font-outlier:"DM Mono",ui-monospace,monospace;--radius-card:14px;--radius-input:10px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 1px 2px oklch(30% .03 165/.08),0 24px 48px -24px oklch(40% .08 165/.35);--shadow-lift:0 1px 1px oklch(30% .03 165/.1),8px 18px 28px -14px oklch(36% .06 165/.32),18px 40px 60px -30px oklch(40% .08 165/.3);--tracking-display:-.03em;--display-weight:700}*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in oklab,var(--color-accent) 22%,transparent)}}::selection{color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto}img,svg,video{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.figure,.num,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg,var(--color-paper-2,var(--color-paper)),var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):after,:not(.keep-motion):before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:saturate(.85)contrast(.94)}:root{--font-body:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-body);--board-light:#e7e9dc;--board-dark:#9eaf98;--board-notation:#273d31;--board-selection:#d2dca0;--board-mark:#42634b;--board-dot:#314d3b;--board-focus:#dfe3b8;--color-paper:#f8f8f2;--color-paper-2:#eef1e8;--color-rule:#d8ddd3;--color-accent:#246445;--color-accent-deep:#174c32;--color-accent-ink:#fcfdf9;--color-focus:#174c32;--color-muted:#526355;--color-feedback:#edf3e9;--color-caution:#f0ede1;--color-transparent:transparent;--color-input-border:#728174;--color-ink:#1e3026;--container:1160px;--radius-input:8px;--radius-card:12px}body{min-width:320px}a,button,summary{-webkit-tap-highlight-color:var(--color-transparent)}a,button{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}.shell{width:min(100% - 64px,var(--container));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-rule)}.header-inner{align-items:center;gap:var(--space-xl);min-height:88px;display:flex}.wordmark{align-items:center;gap:var(--space-xs);letter-spacing:-.7px;white-space:nowrap;font-size:21px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark svg{color:var(--color-accent)}nav{gap:var(--space-lg);margin-left:var(--space-xl);font-size:var(--text-sm);display:flex}nav,nav a{align-items:center}nav a{min-height:44px;text-decoration:none;display:inline-flex}nav a:hover{text-decoration:underline}.header-note{font-size:var(--text-sm);color:var(--color-muted);margin-left:auto}.lesson-main{padding-block:var(--space-xl) var(--space-lg)}.lesson-heading{gap:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.lesson-heading h1{max-width:30ch;font-size:32px;line-height:1.2}.lesson-heading p{margin-top:var(--space-xs)}.lesson-heading p,.lesson-level{color:var(--color-muted);font-size:var(--text-sm)}.lesson-level{white-space:nowrap}.lesson-progress{gap:var(--space-md);margin-block:var(--space-lg) var(--space-xl);align-items:center;display:flex}.progress-track{gap:var(--space-2xs);width:200px;display:flex}.progress-track span{background:var(--color-rule);border-radius:2px;flex:1;height:4px}.progress-track .current{background:var(--color-muted)}.progress-track .done{background:var(--color-accent)}.lesson-progress>span{color:var(--color-muted);font-size:var(--text-sm)}.lesson-workbench{gap:var(--space-2xl);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;display:grid}.board-column{min-width:0}.board-meta{justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--text-sm);display:flex}.board-meta>:last-child{color:var(--color-muted)}.chess-surface{outline:1px solid var(--color-rule);aspect-ratio:1;border-radius:4px;overflow:clip}.board-square{cursor:pointer;width:100%;height:100%;position:relative}.board-square.selected{background:var(--board-selection);box-shadow:inset 0 0 0 3px var(--board-dot)}.board-square.piece-focus .piece-visual{outline:3px dashed var(--board-dot);outline-offset:-6px}.board-square.legal-destination:after{content:"";pointer-events:none;background:var(--board-dot);opacity:1;border-radius:50%;width:24%;height:24%;position:absolute;inset:38%}.board-square.capture-destination:after{border:3px solid var(--board-dot);width:auto;height:auto;box-shadow:0 0 0 2px var(--board-light),inset 0 0 0 2px var(--board-light);background:0 0;inset:8%}.board-square.last-move:before{content:"";pointer-events:none;border-left-width:0;border-bottom:0 solid var(--board-dot);border-right:0 solid var(--board-dot);border-top-width:0;border-top:3px solid var(--board-dot);border-left:3px solid var(--board-dot);width:18%;height:18%;position:absolute;inset:5%}.check-marker{text-align:center;min-width:1em;color:var(--board-light);background:var(--board-dot);border:1px solid var(--board-light);pointer-events:none;border-radius:2px;font-size:clamp(12px,1.6vw,18px);font-weight:700;line-height:1;position:absolute;top:3%;right:3%}.board-square:focus-visible{outline:3px double var(--board-focus-ring);outline-offset:-3px;z-index:var(--z-raised)}.board-square.selected:focus-visible{box-shadow:none}.piece-visual{width:100%;height:100%}.board-help{color:var(--color-muted);margin-top:var(--space-sm)}.board-help span{margin-top:var(--space-3xs);display:block}.board-toolbar{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xs)}.board-controls,.board-toolbar{align-items:center;display:flex}.board-controls{gap:var(--space-lg);flex-wrap:wrap}.text-button{justify-content:center;align-items:center;gap:var(--space-xs);background:var(--color-transparent);color:var(--color-muted);min-height:44px;font-size:var(--text-sm);white-space:nowrap;border:0;padding:0;text-decoration:none;display:inline-flex}.text-button:hover:not(:disabled){color:var(--color-accent);text-decoration:underline}.move-history{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.position-status{margin-top:var(--space-2xs)}.teaching-column{align-items:flex-start;gap:var(--space-lg);padding-top:var(--space-xl);flex-direction:column;min-width:0;display:flex}.task-label{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-accent);display:flex}.teaching-column h2{letter-spacing:-.7px;font-size:28px;line-height:1.18}.instruction{font-size:var(--text-md);max-width:39ch;line-height:1.75}.task-guidance{color:var(--color-muted);font-size:var(--text-sm);max-width:40ch;line-height:1.7}.thinking-note{margin-block:var(--space-xs);padding-left:var(--space-md);line-height:1.8;font-size:var(--text-sm);position:relative}.note-rule{background:var(--color-accent);width:2px;position:absolute;top:0;bottom:0;left:0}.button{justify-content:center;align-items:center;gap:var(--space-md);border-radius:var(--radius-input);min-height:48px;padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);border:1px solid var(--color-rule);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.button.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.button.primary:hover:not(:disabled){background:var(--color-accent-deep)}.button.quiet{background:var(--color-transparent);color:var(--color-ink)}.button.quiet:hover:not(:disabled){background:var(--color-paper-2)}.lesson-actions{align-items:flex-start;gap:var(--space-md);flex-direction:column;width:100%;display:flex}.board-prompt{font-size:var(--text-sm);font-weight:500}.lesson-footnote{color:var(--color-muted);padding-top:var(--space-lg);margin-top:var(--space-xs);border-top:1px solid var(--color-rule);flex-direction:column;width:100%;font-size:12px;line-height:1.8;display:flex}.small{font-size:var(--text-sm);line-height:1.65}.lesson-footer,.muted{color:var(--color-muted)}.lesson-footer{padding-block:var(--space-lg);margin-top:var(--space-lg);border-top:1px solid var(--color-rule);gap:var(--space-lg);justify-content:space-between;font-size:12px;display:flex}.feedback{padding:var(--space-lg);background:var(--color-feedback);border-radius:var(--radius-input);width:100%}.feedback.incorrect{background:var(--color-caution)}.feedback h3{margin-bottom:var(--space-xs);font-size:var(--text-md)}.feedback p{font-size:var(--text-sm);line-height:1.75}.hints{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hints li{padding-left:var(--space-md);border-left:2px solid var(--color-rule);font-size:var(--text-sm)}.hints li span{font-weight:500}.hints li p{margin-top:var(--space-2xs);color:var(--color-muted)}.input-notice,.storage-notice{font-size:var(--text-sm);background:var(--color-caution);padding:var(--space-sm);border-radius:var(--radius-input)}.storage-notice{margin-bottom:var(--space-lg)}.completion{max-width:700px;padding-block:var(--space-2xl);align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.completion h1{font-size:36px}.completion-mark{color:var(--color-accent)}.results{width:100%;margin:0}.results div{gap:var(--space-lg);padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);justify-content:space-between;display:flex}.results dt{color:var(--color-muted)}.results dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:500}.next-practice{gap:var(--space-md);margin-block:var(--space-md);flex-direction:column;display:flex}.next-practice h2{font-size:24px}.next-practice p{font-size:var(--text-sm);line-height:1.75}.practice-workbench{margin-top:var(--space-xl)}.practice-workbench .teaching-column{padding-top:0}.game-status{color:var(--color-accent);font-weight:500}.notation{background:var(--color-paper-2);width:100%;min-height:52px;padding:var(--space-md);border-radius:var(--radius-input)}.fen-form{align-items:flex-start;gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.fen-form label{font-size:var(--text-sm);font-weight:500}textarea{padding:var(--space-sm);background:var(--color-transparent);color:var(--color-ink);border:1px solid var(--color-input-border);border-radius:var(--radius-input);resize:vertical}.position-details,textarea{width:100%;font-size:var(--text-sm)}.position-details summary{cursor:pointer;min-height:44px}.position-details code{overflow-wrap:anywhere;font-size:12px;display:block}.promotion-picker{margin-block:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-input);padding:var(--space-md);gap:var(--space-xs);border:0;flex-wrap:wrap;display:flex}.promotion-picker legend{font-size:var(--text-sm);font-weight:500}.skip-link{top:-80px;left:var(--space-md);background:var(--color-ink);color:var(--color-paper);padding:var(--space-sm);z-index:var(--z-toast);position:absolute}.skip-link:focus-visible{top:var(--space-md)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:clip}@media (min-width:1440px){.lesson-main{padding-top:48px}}@media (max-width:950px){.shell{width:calc(100% - 40px)}.header-note{display:none}nav{margin-left:auto}.lesson-workbench{gap:var(--space-xl);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.teaching-column{gap:var(--space-md);padding-top:0}.board-meta>:last-child,.lesson-level{display:none}.board-toolbar{flex-wrap:wrap;gap:0}.lesson-footer{gap:var(--space-2xs);flex-direction:column}}@media (max-width:680px){.shell{width:calc(100% - 32px)}.header-inner{gap:var(--space-md);min-height:68px}.wordmark{font-size:18px}.wordmark svg{width:22px}nav{gap:var(--space-md);font-size:12px}.lesson-main{padding-top:var(--space-lg)}.lesson-heading h1{font-size:27px}.lesson-heading p{max-width:40ch;font-size:13px}.lesson-progress{margin-block:var(--space-md) var(--space-lg);gap:var(--space-sm)}.progress-track{flex-shrink:0;width:110px}.lesson-progress>span{font-size:12px}.lesson-workbench{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.board-meta{font-size:12px}.teaching-column{display:contents}.teaching-column h2{font-size:26px}.instruction{max-width:none;font-size:15px;line-height:1.65}.lesson-footnote{display:none}.lesson-actions{flex-flow:wrap;align-items:center}.button{padding-inline:var(--space-md)}.lesson-footer{margin-top:var(--space-lg);font-size:12px}.completion{padding-top:var(--space-xl)}.completion h1{font-size:30px}.board-help{font-size:11px}.board-controls{gap:var(--space-md)}.practice-workbench{margin-top:var(--space-lg)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.adaptive-main{padding-block:var(--space-xl)}.adaptive-heading{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.adaptive-heading h1{max-width:28ch;font-size:32px}.adaptive-heading p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-xs)}.adaptive-switch{gap:var(--space-lg);display:flex}.adaptive-switch [aria-pressed=true]{color:var(--color-accent);text-underline-offset:6px;text-decoration:underline}.adaptive-role{justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-lg);display:flex}.adaptive-workbench{gap:var(--space-2xl);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;display:grid}.adaptive-feedback,.adaptive-task,.evidence-view,.practice-intro{align-items:flex-start;gap:var(--space-lg);flex-direction:column;min-width:0;display:flex}.adaptive-task h2,.evidence-view h2,.practice-intro h2{font-size:27px;line-height:1.2}.adaptive-task .instruction{max-width:58ch;line-height:1.65}.adaptive-task .concept-note{padding-left:var(--space-md);border-left:2px solid var(--color-accent);font-size:var(--text-sm);line-height:1.7}.adaptive-board{width:100%;max-width:500px}.adaptive-feedback{padding-top:var(--space-md);top:var(--space-lg);position:sticky}.adaptive-feedback .feedback{padding:var(--space-lg)}.adaptive-feedback .thinking-note{margin:0;padding:0}.answer-options{gap:var(--space-sm);border:0;flex-direction:column;width:100%;min-width:0;padding:0;display:flex}.answer-options legend{font-size:var(--text-sm);padding:0 0 var(--space-sm);font-weight:500}.answer-options .button{white-space:normal;text-align:left;justify-content:flex-start;min-height:48px}.mistake-observation{gap:var(--space-md);font-size:var(--text-sm);flex-direction:column;line-height:1.7;display:flex}.mistake-observation h3{font-size:var(--text-md)}.practice-intro{max-width:660px;padding-bottom:var(--space-xl)}.evidence-view>p,.practice-intro>p{line-height:1.75}.recommendation-preview{width:100%;padding-block:var(--space-lg);border-block:1px solid var(--color-rule)}.recommendation-preview span{color:var(--color-muted);font-size:var(--text-sm)}.recommendation-preview h3{margin-block:var(--space-sm);font-size:22px}.recommendation-preview p{font-size:var(--text-sm);color:var(--color-muted)}.evidence-view{max-width:850px}.skill-evidence{width:100%;margin:0}.skill-evidence>div{padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}.skill-evidence dt{justify-content:space-between;align-items:baseline;gap:var(--space-md);font-weight:500;display:flex}.evidence-state{font-size:var(--text-sm);color:var(--color-accent)}.skill-evidence dd{margin:var(--space-sm) 0 0;gap:var(--space-xs);font-size:var(--text-sm);flex-direction:column;display:flex}@media (max-width:950px){.adaptive-workbench{gap:var(--space-xl)}.adaptive-heading{flex-direction:column;align-items:flex-start}}@media (max-width:680px){.header-inner{padding-block:var(--space-sm);flex-wrap:wrap;gap:0}.header-inner nav{gap:var(--space-lg);justify-content:space-between;width:100%;margin-left:0}.adaptive-main{padding-block:var(--space-lg)}.adaptive-heading{margin-bottom:var(--space-lg)}.adaptive-heading h1{font-size:27px}.adaptive-heading p{max-width:36ch}.adaptive-workbench{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.adaptive-feedback{padding-top:0;position:static}.adaptive-role{font-size:12px}.adaptive-role>span:last-child{text-align:right}.skill-evidence dt{flex-wrap:wrap}.adaptive-feedback,.adaptive-task{gap:var(--space-md)}.adaptive-task .instruction{font-size:var(--text-sm)}.evidence-view>.button{white-space:normal;text-align:left}}.gameplay-main{padding-block:var(--space-xl)}.gameplay-main>*+*{margin-top:var(--space-xl)}.game-workbench{gap:var(--space-2xl);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;display:grid}.game-workbench>section{min-width:0}.game-sidebar{align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.game-setup h2,.game-sidebar h2,.review-decisions h2{font-size:26px}.game-setup{align-items:flex-start;gap:var(--space-lg);flex-direction:column;max-width:680px;display:flex}.game-setup fieldset{width:100%}.game-select,.review-game-picker label{gap:var(--space-xs);flex-direction:column;max-width:100%;display:flex}.gameplay-main select{border:1px solid var(--color-input-border);border-radius:var(--radius-input);background:var(--color-paper);max-width:100%;min-height:44px;padding:8px 12px}.gameplay-main input[type=radio]{accent-color:var(--color-accent)}.completed-games li{margin-block:var(--space-sm)}.completed-games li>*{margin-right:var(--space-lg)}.completed-games h2{font-size:26px}.review-game-picker{gap:var(--space-lg);flex-wrap:wrap;align-items:end;display:flex}.focused-review .board-interaction,.focused-review .instruction,.review-decisions>p{margin-block:var(--space-md)}.practice-recommendation,.review-explanation{gap:var(--space-md);padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);display:grid}.practice-recommendation h2{font-size:24px}.game-replay>summary{cursor:pointer;min-height:44px;font-weight:700}.replay-content{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.replay-moves{gap:var(--space-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.replay-moves button[aria-current=step]{color:var(--color-accent);font-weight:700}.header-inner{flex-wrap:wrap}@media (max-width:900px){.header-note{display:none}nav{gap:var(--space-md);flex-wrap:wrap;margin-left:0}}@media (max-width:700px){.game-workbench,.replay-content{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.header-inner{padding-block:var(--space-md);gap:var(--space-sm)}nav{justify-content:flex-start;column-gap:var(--space-lg);row-gap:0;width:100%}.gameplay-main .lesson-heading{flex-wrap:wrap}.game-sidebar{gap:var(--space-md)}.gameplay-main .board-controls{flex-wrap:wrap}}.timing-banner{align-items:center;gap:var(--space-md);padding-block:var(--space-sm);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.evaluation-metrics{gap:var(--space-md);margin-block:var(--space-lg);display:grid}.evaluation-metrics>div{justify-content:space-between;gap:var(--space-sm);border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.evaluation-metrics dd{font-variant-numeric:tabular-nums;margin:0}.gameplay-main .evidence-view>*+*{margin-top:var(--space-lg)}.guided-workbench{row-gap:var(--space-lg);grid-template-rows:auto 1fr;grid-template-areas:"board task""board response"}.guided-workbench>.lesson-task{grid-area:task}.guided-workbench>.board-column{grid-area:board}.guided-workbench>.lesson-response{grid-area:response;padding-top:0}.promotion-picker>p{font-size:var(--text-sm);flex-basis:100%}@media (max-width:680px){.guided-workbench{grid-template-rows:auto;grid-template-areas:"task""board""response"}.guided-workbench>.teaching-column{display:flex}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}:root{--color-paper:#f7f8f3;--color-accent:#0d493a;--color-accent-deep:#08392c;--color-muted:#4e6355;--board-focus-ring:#174c32;--brand-surface:transparent;--brand-blend:multiply;--brand-filter:brightness(1.03)}:root[data-theme=dark]{color-scheme:dark;--brand-surface:#fff;--brand-blend:normal;--brand-filter:none;--color-paper:#101d17;--color-paper-2:#192b21;--color-paper-3:#22372a;--color-ink:#e8f0e9;--color-ink-2:#d6e3d8;--color-muted:#afc3b4;--color-rule:#3d5547;--color-accent:#a0d4b1;--color-accent-deep:#c0e4c9;--color-accent-ink:#10251a;--color-focus:#c0e4c9;--color-input-border:#8da994;--color-feedback:#1b3326;--color-caution:#35301e;--color-error:#ffb4a6;--color-success:#a0d4b1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--brand-surface:#fff;--brand-blend:normal;--brand-filter:none;--color-paper:#101d17;--color-paper-2:#192b21;--color-paper-3:#22372a;--color-ink:#e8f0e9;--color-ink-2:#d6e3d8;--color-muted:#afc3b4;--color-rule:#3d5547;--color-accent:#a0d4b1;--color-accent-deep:#c0e4c9;--color-accent-ink:#10251a;--color-focus:#c0e4c9;--color-input-border:#8da994;--color-feedback:#1b3326;--color-caution:#35301e;--color-error:#ffb4a6;--color-success:#a0d4b1}}:root[data-theme=light]{color-scheme:light}body{padding-bottom:env(safe-area-inset-bottom,0)}.shell{width:min(calc(100% - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)),var(--container))}.site-header{background:var(--color-paper)}.site-header .header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;min-height:92px;padding-block:12px}.site-header .wordmark{grid-column:1;grid-row:1;gap:10px;font-size:20px;letter-spacing:-.6px;min-height:44px}.brand-symbol{display:inline-flex;background:var(--brand-surface);border-radius:10px;overflow:hidden;width:44px;height:44px;flex:none}.brand-symbol img{mix-blend-mode:var(--brand-blend);filter:var(--brand-filter);width:44px;height:44px;display:block}.site-header .header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px}.site-header nav{grid-column:2;grid-row:1;margin:0;gap:2px;justify-content:center;flex-wrap:wrap;font-size:13px;width:auto}.site-header nav a{padding:0 10px;border-radius:6px;color:var(--color-muted)}.site-header nav a[aria-current=page]{background:var(--color-paper-2);color:var(--color-ink);font-weight:650;text-decoration:underline;text-underline-offset:5px}.menu-toggle,.theme-control{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid var(--color-rule);border-radius:8px;background:var(--color-paper);color:var(--color-ink);padding:0 10px;font-size:13px}.theme-control>span:first-child{font-size:22px;line-height:1}.menu-toggle{display:none}main:focus{outline:none}.adaptive-heading h1,.lesson-heading h1{font-size:clamp(1.7rem,2.5vw,2.2rem);line-height:1.15;letter-spacing:-.035em}.adaptive-main,.gameplay-main,.lesson-main{padding-block:32px}.button{max-width:100%;font-weight:600}.button,.text-button{white-space:normal;line-height:1.5;text-align:center}.board-help{font-size:12px;line-height:1.6}.instruction{font-size:1rem;line-height:1.7}.board-square:focus-visible{outline-color:var(--board-focus-ring)}.feedback{border-left:3px solid var(--color-accent)}.feedback.incorrect{border-left-color:var(--color-input-border)}.gameplay-main select{color:var(--color-ink)}.position-context{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--color-muted);font-size:13px;margin-block:12px}.position-context strong,.stage-label{display:inline-flex;border:1px solid var(--color-rule);border-radius:5px;padding:4px 8px;font-size:12px;font-weight:650;color:var(--color-ink)}.focused-review .game-sidebar{gap:20px}.review-boundaries summary,.review-game-details summary{min-height:44px;padding-block:10px;cursor:pointer;font-size:14px;color:var(--color-muted)}.review-game-details[open] .review-game-picker{margin-block:16px}.review-boundaries p{font-size:14px;color:var(--color-muted);max-width:70ch}.review-decisions .board-controls{margin-bottom:0}.pilot-note{padding:20px;background:var(--color-paper-2);border-radius:12px;display:grid;gap:12px}.pilot-steps{padding:0;margin:0;list-style:none;counter-reset:pilot;display:grid;gap:0}.pilot-step{counter-increment:pilot;display:grid;grid-template-columns:28px minmax(0,1fr);gap:24px;align-items:start;padding-block:24px;border-top:1px solid var(--color-rule)}.pilot-step:before{content:counter(pilot,decimal-leading-zero);font-size:16px;color:var(--color-accent);font-weight:650;padding-top:14px}.pilot-step h2{font-size:21px;line-height:1.3;margin-bottom:8px}.pilot-step p{color:var(--color-muted);font-size:14px;line-height:1.7}.pilot-step .button{align-self:center}.pilot-status{font-size:12px;margin-top:8px;color:var(--color-accent)}.session-disclosure{width:100%;border-top:1px solid var(--color-rule)}.pilot-step summary,.session-disclosure>summary{min-height:44px;padding-block:16px;cursor:pointer;font-weight:600}.pilot-step summary::marker,.session-disclosure>summary::marker{color:var(--color-accent)}.session-disclosure>:not(summary){margin-bottom:16px}.session-disclosure>p{color:var(--color-muted);max-width:65ch}.pilot-step summary h2{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:20px;margin:0}.pilot-step summary{list-style:none;padding-block:8px}.pilot-step summary::-webkit-details-marker{display:none}.pilot-step summary svg{flex-shrink:0;color:var(--color-muted)}.pilot-step details[open] summary svg{transform:rotate(90deg)}.pilot-step-body{display:grid;gap:20px;padding-block:16px 8px;max-width:64ch}.pilot-step .pilot-step-body .button{grid-column:auto;justify-self:start}.pilot-step>div>.pilot-status{margin-top:4px;margin-bottom:0}.evaluation-timer{max-width:720px}.evaluation-timer>.board-controls{margin-top:16px}.pilot-footer{padding-block:24px;border-top:1px solid var(--color-rule);display:grid;gap:12px}.pilot-footer>p{font-size:14px;color:var(--color-muted)}.license-page{display:grid;gap:32px;padding-block:40px;max-width:760px}.license-page header,.license-page section{display:grid;gap:16px}.license-page code{overflow-wrap:anywhere}.license-page li{margin-block:8px}.license-footer{margin-block:24px;border-top:1px solid var(--color-rule);padding-block:16px;color:var(--color-muted);font-size:14px}.license-footer a{display:inline-flex;align-items:center;min-height:44px}.study-boundary{display:grid;justify-items:start;gap:16px;border-left:3px solid var(--color-accent);padding:16px 20px;background:var(--color-paper-2);border-radius:8px}@media (max-width:1080px){.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:76px}.site-header .wordmark{font-size:18px}.site-header .header-actions{grid-column:2}.theme-name{display:none}.theme-control{width:44px;padding:0}.menu-toggle{display:inline-flex;min-width:68px}.site-header nav{grid-column:1/-1;grid-row:2;padding-top:12px;justify-content:start;gap:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.site-header nav a{justify-content:center;text-align:center;min-height:48px;padding:8px}.site-header nav[data-open=false]{display:none}}@media (max-width:700px){.shell{width:calc(100% - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))}.site-header .wordmark{font-size:17px;gap:8px}.site-header .header-inner{padding-block:12px}.site-header nav{grid-template-columns:repeat(2,minmax(0,1fr))}.adaptive-main,.gameplay-main,.lesson-main{padding-block:24px}.adaptive-heading{gap:16px;margin-bottom:24px}.lesson-progress{margin-block:20px}.gameplay-main>*+*{margin-top:28px}.adaptive-workbench,.game-workbench{gap:28px}.adaptive-feedback,.game-sidebar{gap:16px}.game-sidebar h2{font-size:24px}.pilot-step{grid-template-columns:28px minmax(0,1fr);gap:12px;padding-block:20px}.pilot-step .button{grid-column:2;justify-self:start}.pilot-step h2{font-size:20px}.pilot-note{padding:16px}.feedback,.practice-recommendation,.review-explanation{padding:18px}.evidence-view{gap:20px}.gameplay-main .evidence-view>*+*{margin-top:0}.evaluation-metrics{width:100%}.completion h1{font-size:30px}}.session-page{padding-block:56px 80px}.session-page>*+*{margin-top:48px}.session-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:32px;border-bottom:1px solid var(--color-rule)}.session-heading h1{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.12;letter-spacing:-.04em}.session-heading p{margin-top:14px;font-size:17px;line-height:1.7;color:var(--color-muted)}.session-heading>.button{flex-shrink:0}.session-page .storage-notice{margin-top:24px}.pilot-preparation{padding:8px 24px;border:1px solid var(--color-rule);border-radius:var(--radius-card)}.pilot-preparation>:not(summary){max-width:70ch;line-height:1.8}.pilot-main>.pilot-steps{margin-top:32px}.evaluation-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr);gap:72px;align-items:start}.evaluation-main{min-width:0}.evaluation-page .study-boundary{border:0;border-radius:0;background:transparent;padding:0;gap:24px}.evaluation-main h2{font-size:28px;line-height:1.25;max-width:24ch}.evaluation-main .study-boundary p{max-width:46ch;color:var(--color-muted);line-height:1.8}.evaluation-main .evidence-view{gap:28px}.evaluation-main .evidence-view>*+*{margin-top:0}.evaluation-main .evaluation-metrics>div{padding-block:18px;gap:24px;align-items:center}.evaluation-main .evaluation-metrics{width:100%}.evaluation-main .evaluation-metrics dt{max-width:70%;line-height:1.6;font-size:15px;color:var(--color-muted)}.evaluation-main .evaluation-metrics dd{font-size:22px;font-weight:600;white-space:nowrap}.session-tools{padding:24px 28px;background:var(--color-paper-2);border-radius:var(--radius-card);min-width:0}.session-tools .session-disclosure{border:0}.session-tools .session-disclosure>summary{padding-block:8px}.session-tools .session-disclosure>p{line-height:1.8;font-size:14px}.session-tools .session-disclosure>.button{margin-block:8px 20px}.session-tools .board-controls{display:grid;gap:16px;justify-items:start;font-size:14px}@media (max-width:900px){.evaluation-layout{grid-template-columns:minmax(0,1fr);gap:40px}}@media (max-width:600px){.session-page{padding-block:32px 56px}.session-page>*+*{margin-top:32px}.session-heading{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:28px}.session-heading p{font-size:16px;margin-top:12px}.pilot-main .session-heading>.button{width:100%}.pilot-preparation{padding-inline:20px}.session-tools{padding:20px 24px}.evaluation-main h2{font-size:25px}}