.lessons:focus{outline:none}.lesson-list{gap:clamp(40px,5vw,76px);display:grid}.lessons-draft{border-top:1.5px dashed var(--rule-strong);max-width:46em;color:var(--ink-2);padding-top:14px;font-size:14px;line-height:1.5}.lessons-draft strong{color:var(--ink);font-weight:650}.lesson-section{min-width:0;display:grid}.lesson-section-title{border-bottom:1.5px solid var(--ink);letter-spacing:-.03em;grid-template-columns:clamp(30px,4vw,60px) minmax(0,1fr);align-items:baseline;column-gap:12px;padding-bottom:clamp(10px,1.2vw,16px);font-size:clamp(27px,2.2vw + 13px,44px);font-weight:340;line-height:1.04;display:grid}.lesson-section-num{font-variation-settings:"SOFT" 100, "WONK" 1;color:var(--tone-deep);font-style:italic;font-weight:300}.lesson-card{border-bottom:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) 190px 112px;align-items:center;column-gap:clamp(20px,3vw,48px);padding:clamp(18px,2vw,26px) 0 clamp(18px,2vw,26px) 22px;transition:background-color .3s;display:grid;position:relative}.lesson-card:before{content:"";background:var(--tone);width:4px;box-shadow:0 0 0 .5px var(--tone-deep);border-radius:2px;transition:top .3s,bottom .3s,background-color .3s;position:absolute;top:clamp(20px,2vw,28px);bottom:clamp(20px,2vw,28px);left:2px}.lesson-card:hover{background:color-mix(in srgb, var(--tone) 16%, transparent)}.lesson-card:hover:before{background:var(--tone-deep);top:12px;bottom:12px}.lesson-card-text{gap:6px;min-width:0;display:grid}.lesson-card-title{letter-spacing:-.02em;text-wrap:pretty;font-size:clamp(21px,.9vw + 15px,27px);font-weight:400;line-height:1.14}.lesson-card-title a{color:var(--ink);text-decoration:none}.lesson-card-title a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.lesson-card-summary{max-width:36em;color:var(--ink-2);font-size:15.5px;line-height:1.5}.lesson-go{justify-self:end;min-width:108px}.lesson-meter{gap:5px;min-width:0;display:grid}.lesson-meter-bar{gap:3px;display:flex}.seg{max-width:30px;height:8px;box-shadow:inset 0 0 0 1px var(--rule-strong);border-radius:2px;flex:1 1 0}.seg-introduced{background:repeating-linear-gradient(135deg, var(--tone-deep) 0 1.5px, transparent 1.5px 4px);box-shadow:inset 0 0 0 1px var(--tone-deep)}.seg-practised{background:var(--tone);box-shadow:inset 0 0 0 1px var(--tone-deep)}.seg-demonstrated{background:var(--tone-deep);box-shadow:none}.lesson-meter-text{color:var(--ink);font-size:13.5px;font-weight:500;line-height:1.3}.lesson-meter-ids{letter-spacing:.07em;color:var(--ink-3);font-size:9.5px;line-height:1.5}@media (max-width:820px){.lesson-card{grid-template-columns:minmax(0,1fr) auto;row-gap:16px;padding-left:18px}.lesson-card-text{grid-column:1/-1}.lesson-go{align-self:end}}.lesson-step{gap:clamp(18px,2.4vw,28px);width:min(100%,780px);margin:0 auto;display:grid}.step-top{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.step-top .back{color:var(--ink);border-bottom:1px solid #0000;padding:4px 0;font-size:14.5px;font-weight:500;text-decoration:none}.step-top .back:hover{border-bottom-color:var(--ink)}.step-count{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:10.5px;font-weight:600}.route{height:26px;margin:0 13px;position:relative}.route-line{border-top:1.25px solid #14233b80;position:absolute;top:50%;left:0;right:0}.route-trail{width:var(--to);background:var(--sun);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0}.route-wpt{border:1.25px solid var(--ink);background:var(--paper-raised);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute;top:50%}.route-wpt.is-flown{background:var(--ink)}.route-dep,.route-arr{background:radial-gradient(circle, var(--sun) 0 3.2px, #fbf9f3 3.7px);border-width:1.1px;width:15px;height:15px;margin:-7.5px 0 0 -7.5px}.route-dep.is-flown{background:radial-gradient(circle, var(--sun) 0 3.2px, #fbf9f3 3.7px)}.route-plane{left:var(--to);width:24px;height:24px;margin:-12px 0 0 -12px;position:absolute;top:50%}.route-plane svg{width:100%;height:100%;display:block;overflow:visible;transform:rotate(90deg)}.route-plane path{fill:var(--ink);stroke:var(--paper);stroke-width:1.4px;stroke-linejoin:round;paint-order:stroke}.step-head{justify-items:start;gap:clamp(10px,1.2vw,16px);min-width:0;display:grid}.lesson-name{font-size:11px}.step-heading{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2rem,2.4vw + 1.25rem,3.4rem);font-weight:350;line-height:1.03}.step-heading:focus{outline:none}.step-body{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);min-width:0;box-shadow:var(--shadow-2);gap:clamp(16px,2vw,24px);padding:clamp(20px,3.2vw,40px);display:grid}.points{display:grid}.point-row{border-top:1px solid var(--rule);gap:8px;padding:clamp(14px,1.8vw,22px) 0 clamp(14px,1.8vw,22px) 26px;display:grid;position:relative}.point-row:first-child{border-top:0;padding-top:0}.point-row:last-child{padding-bottom:0}.point-row:before{content:"";border:1px solid var(--tone-deep);background:var(--tone);border-radius:2px;width:9px;height:9px;position:absolute;top:calc(clamp(14px,1.8vw,22px) + .55em);left:2px}.point-row:first-child:before{top:.55em}.point-text{max-width:38em;font-size:clamp(16.5px,.4vw + 15px,18.5px);line-height:1.56}.cite{flex-wrap:wrap;gap:2px 16px;display:flex}.cite-ref{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);background:0 0;border:0;border-radius:0;padding:0;font-size:10px;font-weight:500;line-height:1.6}.demo-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.step-intro{font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.015em;flex:14em;font-size:clamp(19px,.8vw + 15.5px,24px);font-weight:360;line-height:1.3}.play-ico{flex:none;width:13px;height:13px}.strips{gap:7px;display:grid}.strip{border:1px solid var(--rule-strong);border-left:6px solid var(--ink);background:var(--pilot-wash);border-radius:6px;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;min-height:54px;transition:box-shadow .5s;display:grid}.strip-station{border-left-color:var(--sun);background:var(--station-wash);box-shadow:-1px 0 0 var(--rule-strong)}.strips:has(.strip-pilot) .strip-station{margin-left:clamp(12px,4vw,44px)}.strip.is-playing{box-shadow:0 0 0 3px var(--sun)}.strip-who{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:0 8px 0 12px;font-size:9.5px;font-weight:600;font-stretch:87.5%;line-height:1.4}.strip-text{border-left:1px solid var(--rule-strong);font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;overflow-wrap:anywhere;align-self:stretch;align-items:center;padding:11px 14px 12px;font-size:clamp(17px,.5vw + 15px,20px);font-weight:400;line-height:1.32;display:flex}.strip-play{border:1.5px solid var(--ink);min-height:38px;color:var(--ink);font:600 13.5px/1 var(--sans);white-space:nowrap;cursor:pointer;background:#fff9;border-radius:999px;align-items:center;gap:7px;margin:6px 8px 6px 4px;padding:0 14px 0 11px;transition:background-color .2s,color .2s;display:inline-flex}.strip-play:hover{background:#fff}.strip-play.is-playing,.play-all.is-playing{background:var(--ink);color:var(--cream)}@media (max-width:560px){.strip{grid-template-columns:58px minmax(0,1fr) auto}.strip-who{padding-left:8px;font-size:8.5px}.strip-text{padding:10px 10px 11px}.strip-play{justify-content:center;width:40px;min-height:40px;margin-right:6px;padding:0}.strip-play .play-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.prompt{max-width:30em;font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.015em;text-wrap:pretty;padding:0;font-size:clamp(20px,.9vw + 16px,26px);font-weight:380;line-height:1.25}.choice{justify-items:start;gap:var(--s4);display:grid}.choice fieldset{border:0;gap:10px;width:100%;min-width:0;margin:0;padding:0;display:grid}.choice legend{margin-bottom:14px}.option{border:1.5px solid var(--rule-strong);background:var(--paper-raised);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;min-height:60px;padding:12px 16px 12px 14px;font-size:17px;line-height:1.4;transition:border-color .2s,background-color .3s,opacity .3s;display:grid;position:relative}.option:hover{border-color:var(--ink)}.option input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.option-key{border:1.5px solid var(--ink);background:var(--paper-raised);border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;transition:background-color .2s,color .2s;display:grid}.option:has(input:checked){border-color:var(--ink);background:var(--accent-wash);box-shadow:0 2px 0 var(--ink)}.option:has(input:checked) .option-key{background:var(--ink);color:var(--cream)}.option:has(input:disabled){cursor:default}.option-mark{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700;font-stretch:87.5%}.option-mark:empty{display:none}.option-mark:before{font-family:var(--sans);margin-right:6px;font-size:13px}.choice.is-marked .option:not(.is-right,.is-wrong,.is-answer){opacity:.55}.choice.is-marked .option:hover{border-color:var(--rule-strong)}.choice .option.is-right,.choice .option.is-right:hover,.choice .option.is-answer,.choice .option.is-answer:hover{background:#e6f1e9;border-color:#2b774a}.choice .option.is-right{box-shadow:0 2px #2b774a}.choice .option.is-right .option-key{background:#2b774a;border-color:#2b774a}.choice .option.is-right .option-mark,.choice .option.is-answer .option-mark{color:#1f5c38}.choice .option.is-right .option-mark:before,.choice .option.is-answer .option-mark:before{content:"✓"}.choice .option.is-wrong,.choice .option.is-wrong:hover{border-style:dashed;border-color:var(--error-ink);background:var(--error-wash);box-shadow:none}.choice .option.is-wrong .option-key{background:var(--error-ink);border-color:var(--error-ink)}.choice .option.is-wrong .option-mark{color:var(--error-ink)}.choice .option.is-wrong .option-mark:before{content:"✕"}.choice.is-marked .choice-check{display:none}@media (max-width:560px){.option{grid-template-columns:auto minmax(0,1fr);font-size:16.5px}.option-mark{grid-column:2}}.result:empty{display:none}.result{border:1px solid var(--rule-strong);background:#fffdf8;border-radius:16px;gap:10px;padding:clamp(16px,2vw,22px);display:grid}.result-top{padding:2px 0 4px 2px;display:flex}.result-incorrect .result-stamp,.result-partial .result-stamp{background:var(--paper-raised);border-style:dashed}.result-answer{font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;font-size:clamp(18px,.6vw + 15.5px,21px);line-height:1.3}.result-answer-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:10px;font-weight:700;font-stretch:87.5%}.result-explain{max-width:40em;font-size:16px;line-height:1.55}.result-head{font-weight:600}.result-failed{border-style:dashed;border-color:var(--error-ink);color:var(--error-ink)}.order-hint{color:var(--ink-2);font-size:14.5px}.order-bay{border:1px solid var(--rule);background:#14233b0d;border-radius:18px;gap:8px;padding:12px 12px 14px;display:grid}.order-label{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);padding:0 4px;font-size:9.5px;font-weight:600;font-stretch:87.5%}.order-answer{counter-reset:part;flex-wrap:wrap;gap:6px;min-height:50px;display:flex}.order-answer:empty:before{content:"Your call builds here";border:1.5px dashed var(--rule-strong);color:var(--ink-3);border-radius:6px;flex:1;align-items:center;padding:0 14px;font-size:14.5px;display:flex}.order-part,.order-chip{border:1px solid var(--rule-strong);border-left:6px solid var(--ink);background:var(--pilot-wash);min-height:50px;color:var(--ink);font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;text-align:left;border-radius:6px;align-items:center;gap:10px;padding:8px 16px 9px 12px;font-size:clamp(17px,.5vw + 15px,20px);font-weight:400;line-height:1.25;display:inline-flex}.order-part{counter-increment:part}.order-part:before{content:counter(part);font-family:var(--mono);color:var(--ink-2);font-size:10px;font-weight:600;font-stretch:87.5%}.order-answer.is-right .order-part{border-left-color:#2b774a}.order-answer.is-wrong .order-part{border-style:dashed dashed dashed solid;border-left-color:var(--error-ink)}.order-pool{flex-wrap:wrap;gap:8px;display:flex}.order-pool:empty{display:none}.order-chip{border-left-color:var(--rule-strong);background:var(--paper-raised);cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .2s;box-shadow:0 2px #14233b38}.order-chip:hover{border-left-color:var(--ink);transform:translateY(1px);box-shadow:0 1px #14233b38}.step-actions{flex-wrap:wrap;gap:10px 12px;display:flex}.step-nav{justify-content:space-between;gap:var(--s3);display:flex}.practice-text{max-width:38em;font-size:17px;line-height:1.55}.lesson-panel{max-width:440px}.done-score{flex-wrap:wrap;align-items:baseline;gap:10px 20px;display:flex}.done-big{font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.06em;font-size:clamp(5rem,11vw,8.5rem);font-weight:280;line-height:.82}.done-big i{font-variation-settings:"SOFT" 100, "WONK" 1;letter-spacing:-.03em;color:var(--tone-deep);margin-left:.1em;font-size:.36em;font-weight:300}.done-cap{color:var(--ink-2);font-size:16px}@media (prefers-reduced-motion:no-preference){.route-plane{animation:.9s cubic-bezier(.3,.7,.2,1) both route-fly}.route-trail{animation:.9s cubic-bezier(.3,.7,.2,1) both route-trail}.route.is-back .route-plane svg{animation:.9s both route-turn}.result:not(:empty){animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.result-stamp{animation:.45s cubic-bezier(.3,1.5,.5,1) .25s both stamp-on}.option-mark:not(:empty),.order-part{animation:.35s cubic-bezier(.2,.7,.2,1) both part-in}.done-big{animation:.9s cubic-bezier(.2,.7,.2,1) .25s both rise}@keyframes route-fly{0%{left:var(--from)}}@keyframes route-trail{0%{width:var(--from)}}@keyframes route-turn{0%,70%{transform:rotate(-90deg)}}@keyframes stamp-on{0%{opacity:0;transform:rotate(-9deg)scale(1.5)}}@keyframes part-in{0%{opacity:0;transform:translateY(6px)scale(.97)}}}@media (forced-colors:active){.seg,.route-wpt,.option,.strip{border:1px solid canvastext}}
