.landing{max-width:var(--page);padding:0 var(--space-5);margin:0 auto}.hero{padding:var(--space-9) 0 var(--space-8);border-bottom:1px solid var(--rule)}.hero h1{margin:0 0 var(--space-5);font-size:var(--text-hero);letter-spacing:-.025em;line-height:1.08}.lede{max-width:32rem;margin:0 0 var(--space-6);color:var(--ink-muted);font-size:var(--text-lg);line-height:1.55}.hero-actions{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.hero-meta{color:var(--ink-faint);font-size:var(--text-sm);margin:0}.band{padding:var(--space-8) 0;border-bottom:1px solid var(--rule)}.landing>section:last-child{border-bottom:0}.section-title{margin:0 0 var(--space-5);font-size:var(--text-2xl)}.section-note{margin:calc(var(--space-5) * -1) 0 var(--space-6);color:var(--ink-faint);font-size:var(--text-sm)}.reassurance{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.reassurance li{padding-left:var(--space-4);border-left:2px solid var(--accent-dim);color:var(--ink-muted);font-size:var(--text-base);line-height:1.5}.lesson-cards{gap:var(--space-3);counter-reset:none;margin:0;padding:0;list-style:none;display:grid}.lesson-card{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-raised);color:inherit;text-decoration:none;transition:border-color .12s,background-color .12s;display:flex}.lesson-card:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.lesson-number{color:var(--accent-dim);font-family:var(--font-serif);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;flex:none;line-height:1}.lesson-card:hover .lesson-number{color:var(--accent)}.lesson-body{gap:var(--space-2);flex-direction:column;display:flex}.lesson-title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:1.2}.lesson-summary{color:var(--ink-muted);font-size:var(--text-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.lesson-meta{color:var(--ink-faint);font-size:var(--text-xs)}@media (width<=720px){.landing{padding:0 var(--space-4)}.hero{padding:var(--space-7) 0 var(--space-6)}.hero h1 br{display:none}.lesson-card{gap:var(--space-4);padding:var(--space-4)}}.badge{background:var(--badge);color:#fff;min-width:1.5em;height:1.5em;font-family:var(--font-sans);letter-spacing:-.03em;vertical-align:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 .32em;font-size:.82em;font-weight:700;line-height:1;display:inline-flex}.badge-brilliant{--badge:#26c2a3}.badge-good{--badge:#81b64c}.badge-interesting{--badge:#8f7fd1}.badge-inaccuracy{--badge:#f0b432;color:#3a2c05}.badge-mistake{--badge:#f08b3a;color:#3a1f05}.badge-blunder{--badge:#f04a34}.chessboard{--light:var(--board-light);--dark:var(--board-dark);--selected:#ffec8299;--last-move:#ffec8257;--marked:#6aa3dd6b;--marker:#261a0e42;--arrow:#e2763ee0;aspect-ratio:1;border-radius:var(--radius);width:min(100%,480px);box-shadow:var(--shadow-2);grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative;overflow:hidden}.square{font:inherit;background:var(--dark);border:0;place-items:center;padding:0;display:grid;position:relative}button.square{cursor:pointer}.square.is-light{background:var(--light)}.square:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:2}.square.is-last-move:before,.square.is-marked:before,.square.is-selected:before{content:"";position:absolute;inset:0}.square.is-last-move:before{background:var(--last-move)}.square.is-marked:before{background:var(--marked)}.square.is-selected:before{background:var(--selected)}.piece-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:92%;height:92%;position:relative}.marker{pointer-events:none;position:absolute}.is-move .marker{background:var(--marker);border-radius:50%;width:30%;height:30%}.is-capture .marker{border:7px solid var(--marker);border-radius:50%;inset:0}.arrows{width:100%;height:100%;color:var(--arrow);stroke:var(--arrow);pointer-events:none;z-index:3;position:absolute;inset:0}.coord{-webkit-user-select:none;user-select:none;pointer-events:none;font-size:clamp(9px,1.6vmin,13px);font-weight:700;line-height:1;position:absolute}.coord-rank{top:4px;left:4px}.coord-file{bottom:4px;right:5px}.is-light .coord{color:var(--dark)}.is-dark .coord{color:var(--light)}.chess-block{align-items:center;gap:var(--space-3);width:calc(100% + var(--space-8));margin:var(--space-7) calc(var(--space-8) / -2);padding:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;display:flex}.chess-block figcaption{max-width:30rem;color:var(--ink-muted);font-size:var(--text-sm);text-align:center;line-height:1.5}.stepper,.block-controls{align-items:center;gap:var(--space-2);width:min(100%,480px);display:flex}.block-controls{justify-content:space-between}.stepper button,.block-controls button{border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--ink-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;padding:6px 12px;transition:background-color .12s,color .12s}.stepper button:hover:not(:disabled),.block-controls button:hover:not(:disabled){background:var(--rule-strong);color:var(--ink)}.stepper button:disabled,.block-controls button:disabled{opacity:.35;cursor:default}.stepper-status,.block-status{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--ink-muted);flex:1;display:flex}.stepper-count,.drill-progress{color:var(--ink-faint);font-variant-numeric:tabular-nums}.drill-feedback{width:min(100%,480px);min-height:1.5em;font-size:var(--text-sm);color:var(--ink-muted);margin:0;line-height:1.5}.drill-feedback.is-correct{color:var(--good)}.drill-feedback.is-wrong{color:var(--warn)}.drill-feedback.is-illegal{color:var(--bad)}@media (width<=720px){.chess-block{width:100%;margin:var(--space-6) 0;padding:var(--space-4) var(--space-3)}}.note{max-width:var(--measure);font-size:var(--text-base);margin:0 auto;line-height:1.72}.note h1,.note h2,.note h3{margin:1.9em 0 .45em;line-height:1.2}.note h1{font-size:var(--text-3xl);letter-spacing:-.022em;margin-top:0}.note h2{font-size:var(--text-2xl);scroll-margin-top:calc(var(--header-h) + var(--space-4))}.note h3{font-size:var(--text-lg);color:var(--ink-muted)}.note p{margin:0 0 1em}.note strong{color:#f6f2ec;font-weight:600}.note a{color:var(--accent);text-underline-offset:2px}.note code{border-radius:var(--radius-sm);background:var(--bg-hover);font-family:var(--font-mono);padding:1px 5px;font-size:.85em}.note pre{padding:var(--space-3) var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-sunken);overflow-x:auto}.note pre code{background:0 0;padding:0}.note blockquote{padding:var(--space-1) 0 var(--space-1) var(--space-4);border-left:2px solid var(--accent-dim);color:var(--ink-muted);margin:1.4em 0}.note blockquote p:last-child{margin-bottom:0}.note hr{margin:var(--space-7) 0;border:0;border-top:1px solid var(--rule)}.note ul,.note ol{margin:0 0 1em;padding-left:1.35em}.note li{margin-bottom:.35em}.note li::marker{color:var(--ink-faint)}.note table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin:1.4em 0}.note th,.note td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.note th{color:var(--ink-faint);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.toc{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--rule)}.toc-title{margin:0 0 var(--space-3);color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.toc ol{border-left:2px solid var(--rule);margin:0;padding:0;list-style:none}.toc-link{width:100%;color:var(--ink-faint);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;margin-left:-2px;padding:5px 10px;line-height:1.35;transition:color .12s,border-color .12s;display:block}.toc-link.is-sub{padding-left:24px}.toc-link:hover{color:var(--ink)}.toc-link.is-read{border-left-color:var(--accent-dim);color:var(--ink-muted)}.toc-link.is-current{border-left-color:var(--accent);color:var(--ink);text-shadow:.32px 0}.site-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--header-h);padding:0 var(--space-5);border-bottom:1px solid var(--rule);background:var(--bg);display:flex;position:sticky;top:0}.wordmark{align-items:center;gap:var(--space-2);color:var(--ink);font-family:var(--font-serif);font-size:var(--text-lg);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.wordmark img{filter:drop-shadow(0 1px 1px #0006);width:30px;height:30px}.header-link{color:var(--ink-muted);font-size:var(--text-sm);text-decoration:none}.header-link:hover{color:var(--ink)}.site-footer{padding:var(--space-7) var(--space-5);border-top:1px solid var(--rule);color:var(--ink-faint);font-size:var(--text-sm);text-align:center}.site-footer p{margin:0 0 var(--space-2)}.site-footer a{color:var(--ink-muted)}.button-primary{align-items:center;gap:var(--space-2);border-radius:var(--radius);font-size:var(--text-base);background:var(--accent);color:#1c2416;padding:11px 20px;font-weight:500;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.button-primary:hover{background:var(--accent-bright)}@media (width<=720px){.site-header{padding:0 var(--space-4)}}.app{flex-direction:column;min-height:100dvh;display:flex}.app>.lesson-layout,.app>.landing,.app>.missing{flex:1}.lesson-layout{grid-template-columns:258px minmax(0,1fr);display:grid}.lesson-nav{border-right:1px solid var(--rule);background:var(--bg-sunken)}.lesson-nav-inner{top:var(--header-h);max-height:calc(100dvh - var(--header-h));padding:var(--space-5) var(--space-4);position:sticky;overflow-y:auto}.lesson-nav-toggle{align-items:center;gap:var(--space-2);cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:flex}.lesson-nav-toggle:hover{color:var(--ink)}.lesson-nav-chevron{flex:none;width:7px;height:10px;transition:transform .12s}.lesson-nav-toggle[aria-expanded=true] .lesson-nav-chevron{transform:rotate(90deg)}.lesson-nav-count{font-variant-numeric:tabular-nums;margin-left:auto}.note-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.lesson-nav-inner.is-collapsed .toc{margin-top:var(--space-4);border-top:0;padding-top:0}.note-list a{gap:var(--space-3);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--text-sm);padding:7px 10px;line-height:1.35;text-decoration:none;display:flex}.note-list a:hover{background:var(--bg-hover);color:var(--ink)}.note-list a.is-current{background:var(--accent-wash);color:var(--ink)}.note-list-number{color:var(--ink-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;padding-top:2px}.note-list a.is-current .note-list-number{color:var(--accent)}.draft-tag{margin-left:var(--space-2);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;padding:1px 5px;font-size:.68rem}.note-pane{padding:var(--space-8) var(--space-6) var(--space-9);overflow-x:hidden}.note-title{max-width:var(--measure);margin:0 auto var(--space-5);font-size:var(--text-3xl);letter-spacing:-.022em;line-height:1.2}.next-lesson{max-width:var(--measure);margin:var(--space-8) auto 0;padding-top:var(--space-6);border-top:1px solid var(--rule)}.next-lesson a{gap:var(--space-1);padding:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-raised);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .12s,background-color .12s;display:flex}.next-lesson a:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.next-lesson-title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:1.2}.next-lesson-meta{color:var(--ink-faint);font-size:var(--text-xs)}.lesson-end{max-width:var(--measure);margin:var(--space-8) auto 0;padding-top:var(--space-6);border-top:1px solid var(--rule);color:var(--ink-faint);font-size:var(--text-sm)}.missing{max-width:var(--measure);padding:var(--space-9) var(--space-5);text-align:center;margin:0 auto}.missing h1{margin:0 0 var(--space-3);font-size:var(--text-3xl)}.missing p{margin:0 0 var(--space-6);color:var(--ink-muted)}@media (width<=860px){.lesson-layout{grid-template-columns:1fr}.lesson-nav{border-right:0;border-bottom:1px solid var(--rule)}.lesson-nav-inner{max-height:none;position:static}.note-pane{padding:var(--space-6) var(--space-4) var(--space-8)}}@font-face{font-family:Figurine;src:local(Apple Symbols),local(Segoe UI Symbol),local(Arial Unicode MS),local(DejaVu Sans),local(FreeSerif);unicode-range:U+2654-265F;size-adjust:155%}:root{--bg:#22201d;--bg-sunken:#1b1917;--bg-raised:#2a2724;--bg-hover:#332f2b;--rule:#37332e;--rule-strong:#494339;--ink:#ece7df;--ink-muted:#a9a299;--ink-faint:#7c766d;--accent:#9fc27a;--accent-bright:#b8d894;--accent-dim:#5c6b48;--accent-wash:#2b3324;--good:#8fc46b;--warn:#e0b64a;--bad:#dd7a6a;--focus:#6ba3dd;--board-light:#e6d6b8;--board-dark:#a57b52;--font-serif:"Figurine", "Iowan Old Style", "Palatino Linotype", Palatino, Charter, Georgia, serif;--font-sans:"Figurine", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Figurine", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:.75rem;--text-sm:.86rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.4rem;--text-2xl:1.75rem;--text-3xl:clamp(2rem, 1.4rem + 2.4vw, 2.6rem);--text-hero:clamp(2.4rem, 1.4rem + 4.2vw, 3.9rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:4px;--radius:8px;--radius-lg:14px;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000059;--header-h:58px;--measure:34rem;--page:66rem;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.011em;font-weight:600}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.eyebrow{color:var(--ink-faint);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:600}
