:root{--bg:#eef1f2;--ink:#122028;--body:#243038;--muted:#4a5a62;--rule:#b7c5cb;--accent:#137a3b;--accent-ink:#0f6430;--mark:#d46a1e;--tint:#d3e4da;--board:#f2f6f5;--board-ink:#e8eef0;--on-white:#f6f8f7;--wrong:#9f2d24;--wrong-tint:#f4e2e0;--wrong-tint-hover:#ead4d1;--ok:#137a3b;--ok-tint:#d4ecdc;--foot:#0a0e10;--foot-ink:#dce6ea;--foot-muted:#a9b6bc;--sans:var(--font-sans),"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;--mono:var(--font-mono),"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--display:var(--font-display),Outfit,var(--sans);--accent-on-dark:#27d86a;--mast:#ffffff;--stage:#1a2428;--path-track:#137a3b;--path-mark:#d46a1e;--chart-magenta:#c2187a;--chart-cyan:#00a0c8;--chart-brown:#8a5a2b;--chart-green:#1a7a3a;--chart-ink:#122028;--chart-water:#7aa8c4;--chart-town:#c4b8a8;--chart-magenta-fill:color-mix(in srgb,var(--chart-magenta) 18%,transparent);--chart-cyan-fill:color-mix(in srgb,var(--chart-cyan) 16%,transparent);--chart-brown-fill:color-mix(in srgb,var(--chart-brown) 18%,transparent);--measure:68ch;--ease-out:cubic-bezier(0.23,1,0.32,1);--dur-press:140ms;--dur-swap:200ms;--dur-sheet:280ms;--dur-track:800ms;--dur-track-erase:500ms;--accent-fill:#27d86a;--accent-fill-hover:#1fbf5c;--on-accent:#0a0e10;--radius:8px;--radius-node:8px;--select-fill:#b9e0c6;--select-ink:#0f6430}[data-theme=dark]{--bg:#0a0e10;--ink:#e8eeeb;--body:#c8d4d0;--muted:#b4c2bb;--rule:#2a3438;--accent:#27d86a;--accent-ink:#5be28f;--mark:#ff7a1a;--tint:#12261b;--board:#141a1e;--board-ink:#141c20;--on-white:#f6f8f7;--wrong:#d45a52;--wrong-tint:#3a1c1a;--wrong-tint-hover:#4a2420;--ok:#27d86a;--ok-tint:#123020;--foot:#0a0e10;--foot-ink:#e8eeeb;--foot-muted:#b4c2bb;--accent-on-dark:#27d86a;--mast:#0a0e10;--path-track:#27d86a;--path-mark:#ff7a1a;--chart-magenta:#e84aa0;--chart-cyan:#3ec8e8;--chart-brown:#c4884a;--chart-green:#4cba6a;--chart-ink:#e8eeeb;--chart-water:#7aa8c4;--chart-town:#8a7a58;--select-fill:#123020;--select-ink:#5be28f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--body);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;background-color:var(--bg)}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}.wordmark:hover{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-family:var(--display)}.app-type h1,.page .hero h1{font-size:2rem;line-height:1.15}.marketing h1{font-family:var(--display);font-size:clamp(2.6rem,7vw,5rem);line-height:.96;max-width:64rem;letter-spacing:-.045em}.marketing h1 .display-break{display:block;color:var(--accent)}h2{font-size:1.35rem;line-height:1.2}h3{font-size:1.05rem;line-height:1.3}.a{color:var(--accent)}p{margin:0;max-width:var(--measure)}p+p{margin-top:14px}strong{color:var(--ink);font-weight:600}.kicker{font-size:.75rem;color:var(--mark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}.kicker,.mono{font-family:var(--mono)}.mono{font-size:.8125rem}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lede{font-size:1.0625rem;line-height:1.45;color:var(--ink);max-width:56ch}.acro-wrap{position:relative;display:inline}.acro{all:unset;cursor:help;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:1.5px;text-underline-offset:.2em;-webkit-text-decoration-color:color-mix(in srgb,currentColor 42%,transparent);text-decoration-color:color-mix(in srgb,currentColor 42%,transparent)}.acro:hover,.acro[aria-expanded=true]{-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.acro-tip{left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:3;width:max-content;max-width:min(16rem,72vw);padding:8px 10px;background:var(--board);color:var(--ink);text-align:left;box-shadow:inset 0 0 0 1px var(--rule);font:400 .8125rem/1.35 var(--sans);letter-spacing:0;text-transform:none;text-wrap:pretty;border-radius:var(--radius)}.acro-tip,.vh{position:absolute}.vh{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{min-height:100vh;display:flex;flex-direction:column}.page{max-width:1040px;margin:0 auto;padding:20px 28px 48px;width:100%}.page,.page>main{flex:1 1;display:flex;flex-direction:column;min-height:0}.page>main{min-width:0}.page:has(.has-sheet){padding-top:12px;padding-bottom:12px}.mast-bar{background:#0a0e10;border-bottom:1px solid #1d262c;position:-webkit-sticky;position:sticky;top:0;z-index:4}.mast{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto;width:100%;padding:14px 32px;flex-wrap:nowrap}body:not(:has(.kit-home)) .mast{max-width:1040px;padding-left:28px;padding-right:28px}.wordmark{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0;color:inherit}.logo-mark{display:flex;flex-direction:column;gap:5px;width:max-content;color:#fff}.logo-top{display:flex;align-items:baseline;gap:6px}.logo-repl{font-family:var(--mono);font-weight:600;font-size:13px;color:#27d86a}.logo-ready{font-family:var(--display);font-weight:800;font-size:30px;line-height:.8;text-transform:uppercase;color:#fff}.logo-track{display:flex;align-items:center;height:6px;width:100%}.logo-track .t-red{flex:0 0 22%;height:3px;background:#e5484d}.logo-track .t-dot{width:6px;height:6px;border-radius:50%;background:#ff7a1a;flex:none}.logo-track .t-green{flex:1 1;height:3px;background:#27d86a}.mast nav{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;justify-content:flex-end;font-weight:500;font-size:1rem}.mast nav a{color:#dce6ea;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}.mast nav a:hover{color:#27d86a}.mast nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 #27d86a}.mast nav .nav-quote{min-height:40px;padding:8px 18px;font-size:1rem}.hero{padding:12px 0 16px;position:relative}.hero.tight{padding:4px 0 10px}.app-type .hero.tight h1,.page .hero.tight h1{font-size:1.125rem;line-height:1.3;letter-spacing:-.02em}.hero.tight h1 .mark{font-family:var(--mono);font-weight:500;font-size:.85em;color:var(--muted);margin-right:.55em;text-decoration:none}.hero.tight h1 a.mark:hover{color:var(--accent-ink)}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:24px;flex-wrap:wrap}.hero-actions.dash-go{margin-top:0;margin-bottom:28px}section{padding:32px 0}section.major{border-top:1px solid var(--rule)}section h2{margin-bottom:12px}.who-for{display:grid;grid-gap:22px;gap:22px;margin-top:8px;max-width:56ch}.who-for article h3{margin-bottom:6px}.who-for article p{color:var(--body)}.drill-today{padding:8px 0 12px}.drill-today>p{color:var(--muted);margin:0 0 8px;max-width:56ch}.drill-rows{max-width:56ch}.drill-claim{margin:20px 0 8px;max-width:28rem}.drill-claim>p{margin:14px 0 0}.drill-kept{margin:0 0 20px}.related-units{list-style:none;margin:0;padding:0;max-width:56ch}.related-units li{padding:10px 0;border-top:1px solid var(--rule)}.grid{display:grid;grid-gap:20px 32px;gap:20px 32px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}.cell h4{margin:0 0 6px;color:var(--ink);font-size:.9375rem;font-weight:600}.cell p{font-size:.875rem}.course-rows{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.course-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:12px 0;color:inherit;min-height:56px;text-decoration:none}.course-row:hover{background:var(--tint)}.course-row.is-locked{opacity:.72}.course-row .code{font-family:var(--mono);font-size:.8125rem;color:var(--ink);font-weight:500}.course-meta{display:grid;grid-gap:3px;gap:3px;min-width:0}.course-meta span{font-size:.84375rem}.course-row .state{font-size:.8125rem;color:var(--muted);justify-self:end}.course-row .state.live{color:var(--accent-ink);font-weight:600}.step-box.coming{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rule);opacity:.45}.learn-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:8px 0 12px}.learn-filter select{font:inherit;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 36px 10px 12px;min-height:44px;min-width:12.5rem;cursor:pointer}.learn-count{margin:0;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-row.next,.syllabus a.next{position:relative;background:color-mix(in srgb,var(--tint) 80%,transparent);overflow:hidden}.course-row.next:after,.syllabus a.next:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 0,transparent 38%,color-mix(in srgb,var(--board) 75%,transparent) 50%,transparent 62%,transparent 100%);background-size:220% 100%;animation:suggest-shimmer 2.6s var(--ease-out) infinite}@keyframes suggest-shimmer{0%{background-position:110% 0}to{background-position:-30% 0}}.course-group{padding:8px 0 24px}.course-group.plain{padding:0 0 24px}.course-group+.course-group{margin-top:8px;border-top:1px solid var(--rule);padding-top:28px}.course-group.plain+.course-group{margin-top:0;border-top:0;padding-top:0}.fold{border-top:1px solid var(--rule);padding:8px 0 0;margin-top:28px}.fold summary{cursor:pointer;font-weight:700;color:var(--ink);min-height:44px;display:flex;align-items:center;list-style:none}.fold summary::-webkit-details-marker{display:none}.fold[open] summary{margin-bottom:8px}.icon-btn{width:44px;height:44px;padding:0;margin:4px 0 0;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);background:var(--board);border:0;box-shadow:inset 0 0 0 1px var(--rule);border-radius:var(--radius);text-decoration:none;cursor:pointer}.icon-btn svg{display:block}.icon-btn:hover{color:var(--accent-ink);background:var(--tint)}.icon-btn.primary{background:var(--accent-fill);color:var(--on-accent);box-shadow:none;margin:0}.icon-btn.primary:hover{background:var(--accent-fill-hover);color:var(--on-accent)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.primary:disabled:hover{background:var(--accent-fill);color:var(--on-accent)}.icon-spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.has-rail{display:flex;flex-direction:column;min-width:0}.has-rail:has(.has-sheet){flex:1 1;min-height:0}.lesson-body{display:flex;flex-direction:column;min-width:0}.lesson-body.has-sheet{flex:1 1;min-height:0}.lesson-panes{min-width:0}.has-sheet .lesson-panes{flex:1 1 auto;min-height:10rem;overflow-y:auto}.chart-dock{position:relative;z-index:2;flex:0 0 auto;margin:0 0 12px;padding:0}.chart-title{left:8px;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:#d8e4e0;padding:5px 8px;background:rgba(18,32,40,.72);pointer-events:none;max-width:calc(100% - 16rem)}.chart-title,.chart-tools{position:absolute;top:8px;z-index:2;margin:0}.chart-tools{right:8px;display:flex;flex-wrap:nowrap;gap:4px}.chart-tools button{font:inherit;font-size:.75rem;font-weight:600;color:var(--ink);background:rgba(255,255,255,.94);border:1px solid var(--rule);border-radius:var(--radius);min-width:36px;min-height:36px;padding:4px 8px;cursor:pointer}.chart-tools button:hover{background:var(--tint);color:var(--accent-ink)}.chart-stage{position:relative;height:clamp(168px,26vh,260px);overflow:visible;background:var(--stage)}.chart-clip{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-clip:active{cursor:-webkit-grabbing;cursor:grabbing}.chart-world{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.chart-world canvas{display:block;max-width:none;pointer-events:none}.chart-status{position:absolute;inset:0;margin:0;display:grid;place-items:center;color:#d8e4e0;font-size:.875rem;background:rgba(18,32,40,.55);max-width:none;z-index:1}.chart-hint{position:absolute;left:8px;bottom:8px;z-index:2}.chart-hint-btn{width:28px;height:28px;padding:0;display:grid;place-items:center;font:inherit;font-size:.875rem;font-weight:700;line-height:1;color:#d8e4e0;background:rgba(18,32,40,.72);border:1px solid rgba(216,228,224,.28);border-radius:var(--radius);cursor:pointer}.chart-hint-btn:hover,.chart-hint:focus-within .chart-hint-btn{background:rgba(18,32,40,.9);color:#fff}.chart-hint-pop{display:none;position:absolute;left:calc(100% + 8px);bottom:0;width:min(20rem,calc(100vw - 5rem));margin:0;padding:10px 12px;background:var(--board);color:var(--ink);border:1px solid var(--rule);box-shadow:0 10px 24px rgba(18,32,40,.18);font-size:.75rem;line-height:1.45;z-index:4}.chart-hint:focus-within .chart-hint-pop,.chart-hint:hover .chart-hint-pop{display:block}@media (max-width:720px){.chart-stage{height:clamp(148px,24vh,220px)}.chart-title{display:none}}.step-rail{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:16px;margin-top:20px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 -1px 0 var(--rule);flex-wrap:nowrap}body:has(.lesson-rail) .page{padding-top:10px;padding-bottom:calc(76px + env(safe-area-inset-bottom))}body:has(.lesson-rail) .lesson-rail{position:fixed;left:0;right:0;bottom:0;z-index:5;margin:0;padding:8px 28px calc(10px + env(safe-area-inset-bottom));background:var(--mast);background-image:none;box-shadow:0 -1px 0 var(--rule)}.has-sheet .step-rail{flex-shrink:0;margin-top:8px}.lesson-rail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px}.lesson-rail .step-nav{margin-left:0}.lesson-rail .step-nav.start{justify-content:flex-start}.lesson-rail .step-nav.end{justify-content:flex-end}.step-count{position:relative;margin:0;text-align:center;font-family:var(--mono);font-size:.875rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.02em}.step-count:has(.count-fill){padding-bottom:8px}.step-count strong{color:var(--ink);font-size:1.0625rem}.step-count .count-fill{display:block;position:absolute;left:50%;bottom:0;width:3.5rem;height:2px;margin-left:-1.75rem;background:var(--rule);overflow:hidden}.step-count .count-fill>span{display:block;height:100%;background:var(--accent);width:calc(100% * var(--step, 0) / var(--of, 1));transition:width .28s var(--ease-out)}.step-spine{display:flex;flex-wrap:wrap;gap:8px;flex:1 1;min-width:0;list-style:none;margin:0;padding:0;min-height:28px}.step-box{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--board);color:var(--ok);box-shadow:inset 0 0 0 1.5px var(--rule);border:0;border-radius:var(--radius);cursor:pointer;flex-shrink:0}.step-box svg{width:16px;height:16px}.step-box.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--tint)}.step-box.done{box-shadow:inset 0 0 0 1.5px var(--ok)}.step-box:disabled{cursor:default;opacity:.55}.step-nav{display:flex;gap:8px;flex-shrink:0;margin-left:auto}.step-nav .icon-btn{margin:0}.course-line{font-family:var(--mono);font-size:.8125rem;font-weight:500;color:var(--muted);margin:0 0 8px}.course-line a{color:inherit;text-decoration:none}.course-line a:hover{color:var(--accent-ink)}.pts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.875rem;color:var(--muted)}.pts strong{color:var(--ink)}.bar{height:3px;background:var(--rule);border-radius:0;overflow:hidden;margin-top:8px;max-width:12rem}.bar span{display:block;height:100%;background:var(--accent);width:0}.syllabus{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.syllabus a,.syllabus li>span{display:flex;justify-content:space-between;gap:16px;padding:12px 10px;margin:0 -10px;text-decoration:none;color:inherit;min-height:48px;align-items:center;border-radius:var(--radius)}.syllabus a:hover{background:var(--tint)}.syllabus a span,.syllabus li>span span{color:var(--muted);font-size:.875rem;font-weight:600}.syllabus.marks{gap:8px}.syllabus.marks a,.syllabus.marks li>span{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-gap:12px;gap:12px;justify-content:stretch;margin:0;padding:12px 0}.syllabus.marks a:hover{background:var(--tint)}.syllabus.marks .step-box{pointer-events:none;cursor:inherit;color:var(--muted);position:relative}.syllabus.marks .step-box.done{color:var(--ok)}.quiz-list{list-style:none;margin:-4px 0 10px;padding:0;display:grid;grid-gap:0;gap:0}.quiz-list a{font-size:.9375rem}.quiz-list .step-box{width:28px}.quiz-list strong{font-weight:600}.quiz-live{font-size:.875rem;color:var(--muted);margin:0 0 16px}.quiz-result{margin:8px 0 24px;max-width:42rem}.quiz-result-kicker{font-family:var(--mono);font-size:.8125rem;color:var(--muted);margin:0}.quiz-result .mark{font-family:var(--display);font-size:2.75rem;font-weight:700;letter-spacing:-.04em;line-height:1;margin:10px 0 8px}.quiz-result.pass .mark{color:var(--ok)}.quiz-result.fail .mark{color:var(--wrong)}.quiz-result-line{margin:0;font-weight:600}.lesson-body p{font-size:1.0625rem}.source-line{font-size:.875rem;color:var(--muted)}.checks{margin-top:32px}.checks h3{font-family:var(--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mark);font-weight:500;margin-bottom:16px}.check-q{border:0;margin:0 0 22px;padding:0}.check-q legend{font-weight:600;color:var(--ink);margin-bottom:10px}.choice-row{display:grid;grid-gap:8px;gap:8px}.choice{text-align:left;font:inherit;color:var(--ink);background:var(--board);border:1px solid var(--rule);padding:12px 14px;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:var(--radius)}.choice input{accent-color:var(--accent);margin:0}.choice.on,.notam-field.on,.wx-tok.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink);box-shadow:inset 4px 0 0 var(--accent)}.choice.ok,.notam-field.ok,.wx-tok.ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok);box-shadow:inset 4px 0 0 var(--ok)}.choice.bad,.notam-field.bad,.wx-tok.bad{background:var(--wrong-tint);border-color:var(--wrong);color:var(--wrong);box-shadow:inset 4px 0 0 var(--wrong)}.verdict{margin-left:auto;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.check-why{margin-top:16px;padding:12px 0 0;max-width:62ch;font-size:.9375rem;color:var(--ink);background:none;border-top:1px solid var(--rule)}.check-why:before{content:"Why";display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mark);margin-bottom:6px;font-weight:500}.check-why.ok:before{color:var(--ok)}.check-why.bad:before{content:"Not that";color:var(--wrong)}.step-actions{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}.board-shell,.tool-stage{margin:24px 0;padding:8px 0 20px;background:transparent;border-top:1px solid var(--rule)}.board-shell .kicker{margin-bottom:12px}.board-shell .choice-row,.compass-meta{margin-top:12px}.compass-meta{font-size:.875rem;color:var(--muted)}.wx-ask{margin-top:12px}.imsafe-hint{margin-top:8px}.imsafe-grid{margin-top:14px}.kit-convert{margin-top:12px}.kit-close-btn{margin-top:16px}.gaf-card{display:grid;grid-gap:10px;gap:10px}.gaf-label{margin:0;font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mark)}.gaf-areas{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.gaf-area{display:grid;grid-gap:4px;gap:4px;text-align:left;min-height:44px;padding:12px;border-radius:var(--radius);background:#1e2c30;color:var(--foot-ink);border:1px solid var(--chart-cyan)}.gaf-area.worse{background:#2a2420;border-color:var(--chart-brown)}.gaf-area strong{font-size:.9375rem}.gaf-area span{font-size:.8125rem;color:var(--night-muted,#b4c2bb)}.gaf-area.on{outline:2px solid var(--accent)}.gaf-area.ok{border-color:var(--ok)}.gaf-area.bad{border-color:var(--wrong)}.gnss-sv{cursor:pointer}.gnss-sv:focus{outline:none}.gnss-sv:focus-visible circle:nth-of-type(2){stroke:var(--accent);stroke-width:2}@media (max-width:640px){.gaf-areas{grid-template-columns:1fr}}.broken-step{border-top-color:var(--wrong)}.instrument-stage{background:var(--stage);color:var(--foot-ink);border-radius:var(--radius);padding:12px;position:relative}.instrument-stage>svg{display:block;width:100%;height:auto;background:transparent}.tool-stage:before{content:attr(data-tool);display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mark);margin-bottom:12px}.tool-stage:not([data-tool]):before{content:"Board"}.tap-row{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.wx-line{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:.875rem}.notam-field,.wx-tok{text-align:left;font:inherit;color:var(--ink);background:var(--board-ink);border:1px solid var(--rule);padding:10px 12px;cursor:pointer;min-height:44px;border-radius:var(--radius)}.wx-tok{font-family:var(--mono)}.notam-field{display:grid;grid-gap:2px;gap:2px}.notam-field small{color:var(--muted);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.convert-grid{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px 12px;gap:8px 12px;align-items:end;max-width:28rem}.convert-grid label{display:grid;grid-gap:4px;gap:4px;font-size:.75rem;color:var(--muted);font-family:var(--mono)}.convert-grid input{font:inherit;font-family:var(--mono);color:var(--ink);background:var(--board-ink);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 12px;width:100%;min-height:44px}.imsafe-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.fill-prompt{color:var(--ink);font-weight:600}.blank{display:inline-block;min-width:4.5rem;padding:0 8px;margin:0 4px;border-bottom:2px solid var(--accent);background:var(--board-ink);font-weight:600;text-align:center}.blank.ok{border-color:var(--ok);color:var(--ok);background:var(--ok-tint)}.blank.bad{border-color:var(--wrong);color:var(--wrong);background:var(--wrong-tint)}.match-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 12px;gap:8px 12px}.match-col{display:grid;grid-gap:8px;gap:8px;align-content:start}.match-item{text-align:left;font:inherit;font-size:.9375rem;color:var(--ink);background:var(--board);border:1px solid var(--rule);padding:12px 14px;cursor:pointer;min-height:44px;border-radius:var(--radius)}.match-item.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink);box-shadow:inset 4px 0 0 var(--accent)}.match-item.bad{background:var(--wrong-tint);border-color:var(--wrong);color:var(--wrong)}.match-item.matched{background:var(--ok-tint);border-color:var(--ok);color:var(--ok);cursor:default}.tool-stage>svg{display:block;width:100%;height:auto;background:transparent}.sat-shell{display:grid;grid-gap:8px;gap:8px}.sat-map{height:min(58vh,440px);min-height:280px;width:100%;z-index:0;position:relative;background:var(--stage);border-radius:var(--radius);overflow:hidden}.chart-map .chart-canvas{position:absolute;inset:0;height:auto;width:auto}.chart-overlay{position:absolute;inset:0;z-index:1;pointer-events:none}.chart-overlay>*{pointer-events:auto}.chart-fault{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:2;margin:0;font:500 .6875rem var(--mono);letter-spacing:.04em;color:var(--mark);background:#10161a;border:1px solid #3a4448;border-radius:var(--radius);padding:6px 10px;white-space:nowrap}.chart-map .maplibregl-canvas,.chart-map .maplibregl-canvas-container{position:absolute;inset:0;height:100%;width:100%}.chart-map .maplibregl-ctrl-attrib{display:none}.chart-map .maplibregl-ctrl-group{background:var(--board);border:1px solid var(--rule);box-shadow:none;border-radius:var(--radius)}.chart-map .maplibregl-ctrl button{width:32px;height:32px}.chart-craft{display:grid;justify-items:center;grid-gap:2px;gap:2px;line-height:0;filter:drop-shadow(0 1px 2px #10161a)}.chart-craft svg{display:block}.chart-craft b{font:700 .625rem var(--mono);color:#f6f8f7;background:#10161a;padding:1px 4px;border-radius:3px;line-height:1.2}.chart-path-tag{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 .75rem var(--sans);color:#f6f8f7;background:var(--path-mark);border:2px solid #f6f8f7}.chart-path-tag.b{background:var(--path-track)}.chart-pin{display:flex;align-items:center;gap:4px;font:600 .6875rem var(--sans);color:var(--on-white);white-space:nowrap}.chart-pin span{width:8px;height:8px;border-radius:50%;border:1px solid #f6f8f7}.sat-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.chart-plate{color:var(--foot-ink);background:color-mix(in srgb,#10161a 84%,transparent);border:1px solid #3a4448;border-radius:var(--radius)}.sat-key{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 76px);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:.6875rem;line-height:1.3;padding:7px 9px}.sat-swatch{display:inline-block;width:14px;height:4px;margin-right:4px;vertical-align:middle;background:var(--accent-on-dark)}.sat-swatch.a{background:#e08a3c}.sat-swatch.b{background:var(--accent-on-dark)}.sat-swatch.trail{background:transparent;border-top:2px solid var(--accent-on-dark);height:0}.sat-swatch.ring{background:transparent;border-top:2px dashed var(--chart-cyan);height:0}.sat-swatch.nm{background:transparent;border-top:2px solid #e08a3c;height:0}.sat-key>span{display:inline-flex;align-items:center;white-space:nowrap}.sat-swatch.ctr{background:transparent;border-top:2px dashed var(--chart-cyan);height:0}.sat-swatch.e{background:var(--chart-brown)}.sat-hud{position:absolute;left:8px;top:8px;max-width:calc(100% - 64px);font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:7px 9px;display:inline-flex;align-items:center}.sat-replay{position:absolute;right:8px;bottom:8px}.traffic-scrub{display:flex;align-items:center;gap:12px}.traffic-scrub input[type=range]{flex:1 1;min-width:0;accent-color:var(--accent);height:44px;cursor:pointer}.traffic-scrub input[type=range]:disabled{cursor:default;opacity:.45}.traffic-live{flex-shrink:0;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px}.kit-rose{max-width:280px;margin:8px auto 0}.gnss-sky{display:grid;grid-gap:8px;gap:8px}.phys-lab{display:grid;grid-gap:10px;gap:10px}.phys-stage{height:min(48vh,380px);background:#121c22;border-radius:var(--radius);overflow:hidden}.phys-stage canvas{display:block;width:100%;height:100%}.phys-controls,.phys-motors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.phys-controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.phys-controls label{display:grid;grid-gap:4px;gap:4px;font-size:.75rem;font-weight:600}.sat-note{margin:8px 0 0;font-size:.75rem;color:var(--muted)}.duo-say{color:var(--ink);font-weight:600;margin:0 0 8px;padding:12px 14px;background:var(--tint);box-shadow:inset 4px 0 0 var(--accent)}.duo-hint{margin:0 0 14px;font-size:.8125rem;color:var(--muted)}.chart-key ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px}.chart-key li{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--board-ink);min-height:56px}.chart-key li strong{display:block;font-size:.875rem}.chart-key li small{display:block;color:var(--muted);font-size:.75rem}.chart-key svg{flex-shrink:0;background:#f6f8f7}.chart-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.chart-pick-btn{display:grid;justify-items:center;grid-gap:6px;gap:6px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 8px;min-height:44px;cursor:pointer}.chart-pick-btn svg{background:var(--stage)}.chart-pick-btn.on{background:var(--tint);border-color:var(--accent)}.chart-pick-btn.ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok);box-shadow:inset 4px 0 0 var(--ok)}.chart-pick-btn.bad{background:var(--wrong-tint);border-color:var(--wrong);color:var(--wrong);box-shadow:inset 4px 0 0 var(--wrong)}.slot-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));grid-gap:8px;gap:8px;list-style:none;margin:0 0 12px;padding:10px 12px;background:var(--stage);border-radius:var(--radius)}.radio-strip .slot-row{margin-bottom:12px}.radio-strip .slot{font-family:var(--mono);font-size:.875rem}.briefing-strip{background:var(--stage);color:var(--foot-ink);padding:12px;border-radius:var(--radius)}.briefing-strip .notam-field,.briefing-strip .wx-tok{background:#121a1e;color:var(--foot-ink);border-color:#3a4448}@property --track-len{syntax:"<length>";inherits:true;initial-value:0}.flight-track{display:block;width:100%;height:36px;overflow:visible;pointer-events:none}.flight-track path.track-arc{fill:none;stroke:var(--path-track);stroke-width:2.4;stroke-linecap:round}.flight-track.mark path.track-arc{stroke:var(--path-mark)}.flight-track .craft{transform-box:fill-box;transform-origin:center}.flight-track.flourish path.track-arc{stroke-dasharray:var(--track-len,300px);stroke-dashoffset:var(--track-len,300px)}.flight-track.flourish.is-running path.track-arc{animation:track-arc-cycle var(--flourish-total,1.3s) var(--ease-out) forwards}.flight-track.flourish .craft{animation:none}.flight-track.flourish.is-running .craft{animation:track-craft-cycle var(--flourish-total,1.3s) var(--ease-out) forwards}.board-coach{position:absolute;top:0;right:8px;width:88px;height:28px}.kit-scrim{position:fixed;inset:0;z-index:8;background:color-mix(in srgb,var(--foot) 45%,transparent);opacity:0;pointer-events:none;transition:opacity var(--dur-swap) var(--ease-out)}.kit-scrim.is-open{opacity:1;pointer-events:auto;animation:kit-scrim-in var(--dur-swap) var(--ease-out)}@keyframes kit-scrim-in{0%{opacity:0}to{opacity:1}}.kit-sheet.is-open{animation:kit-sheet-in var(--dur-sheet) var(--ease-out)}@keyframes kit-sheet-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.kit-sheet{position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--mast);border-top:1px solid var(--rule);padding:8px 28px calc(16px + env(safe-area-inset-bottom));max-height:min(72vh,32rem);overflow:auto;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--dur-sheet) var(--ease-out),opacity var(--dur-swap) var(--ease-out)}.kit-sheet.is-open{transform:translateY(var(--kit-y,0));opacity:1;pointer-events:auto}.kit-sheet.is-dragging{transition:none;touch-action:none}.kit-handle{width:40px;height:4px;margin:4px auto 12px;background:var(--rule);border-radius:2px;touch-action:none;cursor:-webkit-grab;cursor:grab}.kit-sheet h2{font-size:1.05rem;margin-bottom:12px;touch-action:none}.kit-close{position:absolute;top:12px;right:16px}.course-path{position:relative}.course-path .path-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}.course-path .path-node{position:relative;z-index:1;border-radius:var(--radius-node)}.course-path .path-join{height:20px;width:48px;margin:-4px 0 -4px 6px}.path-node.locked{opacity:.55}.quiet-win{position:fixed;inset:0;z-index:6;display:grid;place-items:center;grid-gap:8px;gap:8px;background:color-mix(in srgb,var(--bg) 88%,transparent)}.quiet-win p{font-family:var(--display);font-size:2rem;color:var(--ok);letter-spacing:-.02em;margin:0}.quiet-win .flight-track{width:140px;height:48px}.theme-toggle{display:grid;grid-gap:8px;gap:8px;margin:20px 0 0}.theme-toggle .choice-row{grid-template-columns:1fr 1fr;max-width:22rem}.city-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.city-row button{font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);min-height:44px;padding:8px 12px;cursor:pointer}.city-row button.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink);box-shadow:inset 4px 0 0 var(--accent)}.traffic-hud,.wx-here-facts{color:var(--foot-ink)}.compass-hold,.traffic-hud,.wx-here-facts{font-family:var(--mono);font-size:.8125rem;margin:8px 0 0}.compass-hold{color:var(--accent-on-dark)}.compass-rose{touch-action:none;cursor:-webkit-grab;cursor:grab}.compass-rose:active{cursor:-webkit-grabbing;cursor:grabbing}.rail-kit{font:inherit;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);min-height:44px;padding:0 12px;cursor:pointer}@media (prefers-reduced-motion:reduce){.flight-track.flourish{display:none}}.slot{width:100%;text-align:left;font:inherit;font-size:.9375rem;color:var(--muted);background:var(--board);border:1px dashed var(--rule);padding:12px 14px;min-height:44px;border-radius:var(--radius);cursor:pointer}.slot.filled{color:var(--ink);border-style:solid;font-weight:600;cursor:-webkit-grab;cursor:grab}.slot.aimed{border-color:var(--accent);border-style:solid;color:var(--accent-ink)}.chip-bank.drop,.slot.drop{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--tint)}.slot-row.ok .slot{border-color:var(--ok);background:var(--ok-tint);color:var(--ok)}.slot-row.bad .slot{border-color:var(--wrong);background:var(--wrong-tint)}.chip-bank{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{font:inherit;font-size:.875rem;color:var(--ink);background:var(--board);border:1px solid var(--rule);padding:10px 12px;min-height:44px;border-radius:var(--radius);cursor:-webkit-grab;cursor:grab;display:inline-flex;align-items:center;gap:8px}.chip:disabled{opacity:.35;cursor:default}.chip.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink);box-shadow:inset 4px 0 0 var(--accent)}.chip.ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok)}.chip.bad{background:var(--wrong-tint);border-color:var(--wrong);color:var(--wrong)}.sat-check{margin-top:4px}.reveal{opacity:0;transform:scale(.97);animation:fade-in var(--dur-swap) var(--ease-out) forwards}@keyframes fade-in{to{opacity:1;transform:none}}@keyframes track-arc-cycle{0%{stroke-dashoffset:var(--track-len)}62%{stroke-dashoffset:0}to{stroke-dashoffset:calc(var(--track-len) * -1)}}@keyframes track-craft-cycle{0%{offset-distance:0;opacity:1}62%{offset-distance:100%;opacity:1}to{offset-distance:100%;opacity:0}}.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.45}th{text-align:left;font-weight:600;font-size:.75rem;color:var(--muted);padding:0 16px 8px 0}td{padding:10px 16px 10px 0;vertical-align:top}td:first-child{color:var(--ink);font-weight:600}.form{margin-top:8px}.auth-form{max-width:28rem}.form fieldset{border:0;margin:0;padding:0 0 8px}.form legend{padding:0;font-weight:700;letter-spacing:-.02em;font-size:1.25rem;color:var(--ink);margin-bottom:6px}.form .help{font-size:.875rem;color:var(--muted);max-width:64ch;margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 20px;gap:16px 20px}.field{display:grid;grid-gap:6px;gap:6px}.field.wide{grid-column:1/-1}.field label,.field-label{font-size:.875rem;color:var(--ink);font-weight:500}.field small{font-size:.8125rem;color:var(--muted);line-height:1.4}.field input[type=date],.field input[type=email],.field input[type=number],.field input[type=password],.field input[type=tel],.field input[type=text],.field textarea,.repeat input{font:inherit;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 12px;width:100%;min-height:44px}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field textarea{min-height:88px;resize:vertical}.toggle{display:flex;align-items:baseline;gap:12px;padding:10px 0;font-size:.9375rem;color:var(--ink);cursor:pointer;min-height:44px}.toggle input{accent-color:var(--accent);margin:0;width:18px;height:18px}.toggles{display:grid}.checks-list{display:grid;grid-gap:8px;gap:8px}.check{position:relative;display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px 14px;cursor:pointer;background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);font-size:.9375rem}.check input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.check-box{flex:0 0 18px;width:18px;height:18px;margin-top:2px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--board)}.check.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink)}.check.on .check-box{background:var(--accent-fill);border-color:var(--accent-fill);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23f6f8f7' stroke-width='2' d='M3 8.5 6.5 12 13 4'/></svg>");background-repeat:no-repeat;background-position:50%}.check small{display:block;color:var(--muted);font-size:.8125rem;font-weight:400;margin-top:4px}.check.on small{color:var(--select-ink)}.check:focus-within{outline:2px solid var(--accent);outline-offset:2px}.choice-row.inline{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.choice-row.scale{grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}.choice-row.scale .choice{white-space:nowrap}.field .locked,p.locked{font-size:.9375rem;color:var(--ink);padding:10px 0}.legend-note{font-size:.84375rem;color:var(--muted);max-width:70ch;margin:0 0 16px}.actions{display:flex;gap:16px;padding:20px 0;flex-wrap:wrap}.actions,.btn{align-items:center}.btn{font:inherit;font-weight:600;color:var(--on-white);background:var(--ink);border:0;padding:12px 20px;cursor:pointer;min-height:44px;display:inline-flex;border-radius:var(--radius);text-decoration:none}.btn.primary{background:var(--accent-fill);color:var(--on-accent)}.btn.quiet{background:var(--board);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule)}.btn.outline{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.btn:hover,a.btn:hover{background:var(--body);color:var(--on-white)}.btn.primary:hover,a.btn.primary:hover{background:var(--accent-fill-hover);color:var(--on-accent)}.btn.quiet:hover,a.btn.quiet:hover{background:var(--tint);color:var(--ink)}.btn.outline:hover,a.btn.outline:hover{background:var(--tint);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink)}.btn:disabled{opacity:.55;cursor:wait}.status{font-size:.875rem;color:var(--muted)}.form-error{color:var(--wrong);font-size:.875rem;margin-top:12px}.notice{background:var(--tint);padding:12px 14px;font-size:.9375rem;color:var(--ink);max-width:62ch;box-shadow:inset 4px 0 0 var(--accent)}.pay-notice h2{margin:0 0 8px;font-size:1.05rem}.pay-notice p{margin:0}.pay-notice form{margin-top:14px}.related-units .code{font-family:var(--mono);font-size:.8125rem;font-weight:500;color:var(--ink)}.course-row.is-gated{opacity:1}.saved-swap{animation:fade-in .16s var(--ease-out)}.unlock-in .state{animation:fade-in .22s var(--ease-out)}.pane-in{animation:pane-in var(--dur-swap) var(--ease-out)}@keyframes pane-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.coach{max-width:62ch;margin:0 0 20px;font-size:1rem}.block{margin-bottom:28px}.block h3{margin:0 0 8px}.confirm-page{background:var(--board);padding:20px}.confirm-page h3{margin-bottom:12px}.risk-grid{display:grid;grid-gap:0;gap:0}.org-boxes{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:16px}.org-boxes div{background:var(--tint);padding:12px;border-radius:var(--radius)}.org-boxes small{display:block;color:var(--muted);font-size:.75rem}.gate{background:var(--board);padding:18px 20px;margin-top:8px}.gate-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.gate-head strong{display:block;font-size:1rem}.gate-head small{display:block;color:var(--muted);font-size:.84375rem;margin-top:4px;max-width:52ch}.gate-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px;max-height:232px;overflow-y:auto}.gate-list button{font:inherit;font-size:.875rem;text-align:left;width:100%;background:transparent;border:0;color:var(--ink);padding:7px 8px;cursor:pointer;border-radius:var(--radius);display:flex;gap:10px;align-items:baseline;min-height:44px}.gate-list button:hover{background:var(--tint)}.gate-station{color:var(--muted);font-size:.75rem;flex:0 0 84px}.gate .status{margin:14px 0 0}.gate-actions{display:flex;gap:10px;flex-wrap:wrap}.band-high{background:var(--wrong-tint);color:var(--wrong)}.band-medium{background:color-mix(in srgb,var(--mark) 26%,var(--board));color:var(--ink)}.band-low{background:var(--ok-tint);color:var(--accent-ink)}.acceptance .chip.band-high{background:#9f2d24}.acceptance .chip.band-medium{background:var(--mark)}.acceptance .chip.band-low{background:var(--ok)}.risk-chart{margin-bottom:8px}.risk-tip{font-size:.84375rem;color:var(--body);max-width:70ch;min-height:2.8em;margin:12px 0 8px}table.matrix{border-collapse:collapse;width:100%;max-width:28rem;font-size:.8125rem}table.matrix caption{text-align:left;color:var(--muted);font-size:.8125rem;padding-bottom:8px;caption-side:top}table.matrix td,table.matrix th{border:1px solid var(--rule);padding:0;text-align:center}table.matrix th[scope=row],table.matrix thead th{background:var(--tint);font-size:.75rem;font-weight:600;padding:8px}.matrix-cell{font:inherit;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:100%;min-height:44px;padding:8px;cursor:pointer;background:transparent;border:0;color:inherit}.matrix-cell:focus,.matrix-cell:hover{outline:2px solid var(--accent);outline-offset:-2px}.acceptance{display:grid;grid-gap:6px;gap:6px;margin:16px 0 10px}.acceptance div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.acceptance dt{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.875rem;flex:0 0 96px;color:var(--ink)}.acceptance dd{margin:0;font-size:.875rem;color:var(--muted)}.acceptance .chip{width:12px;height:12px;border-radius:2px;display:inline-block}.rating{font-size:.875rem;padding:8px 12px;border-radius:var(--radius);display:inline-flex;gap:8px;align-items:baseline;flex-wrap:wrap;color:inherit}.choice-row.scale.tight{grid-template-columns:repeat(5,minmax(44px,1fr));max-width:20rem}.choice-row.scale.tight .choice{justify-content:center;padding:10px 8px}.field select{font:inherit;color:var(--ink);background:var(--board);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 12px;width:100%;min-height:44px}.site-foot{background:#0a0e10;color:#dce6ea;border-top:1px solid #1d262c}.foot-track{display:flex;align-items:center;height:10px}.foot-track .t-red{flex:0 0 18%;height:4px;background:#e5484d}.foot-track .t-dot{width:10px;height:10px;border-radius:50%;background:#ff7a1a;flex:none}.foot-track .t-green{flex:1 1;height:4px;background:#27d86a}.site-foot .inner{max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px}body:not(:has(.kit-home)) .site-foot .inner{max-width:1040px;padding-left:28px;padding-right:28px}.foot-main{padding-top:48px;padding-bottom:20px;display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;font-size:.9375rem;color:#8a979d}.foot-brand{display:flex;flex-direction:column;gap:12px}.site-foot a{color:#a9b6bc;text-decoration:none}.site-foot a:hover{color:#27d86a}.site-foot a:focus-visible{outline:2px solid #27d86a;outline-offset:2px}.foot-links{display:flex;gap:8px 24px;flex-wrap:wrap;align-items:center;align-content:flex-start}.foot-links .btn{min-height:40px;padding:8px 18px;font-size:.9375rem}.site-foot .foot-links .btn,.site-foot .foot-links .btn:hover{color:var(--on-accent)}.foot-note{margin:0;padding:0 0 44px;font-size:.8125rem;line-height:1.5;color:#8a979d;max-width:70ch}.site-foot .foot-note a{color:#a9b6bc;text-decoration:underline;text-underline-offset:3px}.quiet-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}.quiet-link:hover{color:var(--ink)}.study-dashboard{width:100%;max-width:52rem;margin:0 auto;padding:6vh 0 20px}.dashboard-intro{display:grid;grid-gap:14px;gap:14px;padding:0 0 clamp(40px,8vh,80px)}.dashboard-intro>.mono{color:var(--muted)}.dashboard-intro h1{font-size:clamp(2.5rem,8vw,4.75rem);line-height:.98;max-width:11ch}.dashboard-intro .lede{max-width:44rem}.next-session{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px 24px;gap:18px 24px;align-items:flex-end;padding:26px 0 28px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.dashboard-continue-wrap{position:relative;justify-self:end}.dashboard-track{position:absolute;right:0;top:-30px;width:120px;height:36px;pointer-events:none}.next-session h2{font-size:clamp(1.5rem,5vw,2.2rem);margin-bottom:6px}.next-session-copy>p:last-child{color:var(--muted);font-size:.9375rem}.dashboard-progress{grid-column:1/-1;max-width:none;margin:0}.dashboard-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:32px 0;border-top:0}.dashboard-summary h2{margin:5px 0 6px}.dashboard-summary p:not(.mono):not(.dashboard-total){color:var(--muted);font-size:.9375rem}.dashboard-total{font-family:var(--display);font-size:clamp(2rem,8vw,4rem);font-weight:700;line-height:1;color:var(--ink);white-space:nowrap}.dashboard-routes{padding:8px 0 0}.dashboard-routes a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:16px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}.dashboard-routes a:hover{color:var(--accent-ink)}.dashboard-routes a span:first-child{display:grid;grid-gap:2px;gap:2px}.dashboard-routes small{color:var(--muted);font-size:.84375rem;font-weight:400}.catalogue-header{padding-top:4px;margin-bottom:18px;border-bottom:1px solid var(--rule)}.catalogue-header .hero{display:grid;grid-gap:10px;gap:10px;padding-top:12px}.catalogue-header .learn-toolbar{padding:18px 0}.course-overview{width:100%;max-width:52rem;margin:0 auto}.course-hero{display:grid;grid-gap:28px;gap:28px;padding:22px 0 34px}.course-hero .lede{margin-top:14px}.course-progress{min-width:9rem}.course-progress .num{margin-bottom:8px;color:var(--muted)}.course-progress .num strong{font-size:1.8rem}.course-progress .bar{max-width:none}.course-continue{display:grid;grid-gap:22px;gap:22px;align-items:flex-end;padding:26px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.course-continue h2{margin-bottom:5px}.course-continue p:last-child{color:var(--muted);font-size:.9375rem}.course-continue .btn{justify-self:start}.course-complete{padding:20px 0;border-top:1px solid var(--ink)}.course-sequence{padding-top:34px}.section-heading{display:grid;grid-gap:5px;gap:5px;margin-bottom:18px}.sequence-item+.sequence-item{border-top:1px solid color-mix(in srgb,var(--rule) 65%,transparent)}.course-row[aria-disabled=true]{cursor:not-allowed}body:has(.lesson-route) .mast-bar{display:none}body:has(.lesson-route) .page{max-width:900px;min-height:100svh;padding-top:0;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.lesson-route{min-height:calc(100svh - 78px)}.lesson-context{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 0 20px;margin-bottom:clamp(24px,5vh,54px);border-bottom:1px solid var(--rule)}.lesson-context>div{min-width:0}.lesson-context h1{font-size:clamp(1.35rem,5vw,2.2rem);line-height:1.08;max-width:23ch}.lesson-context .course-line{display:inline-block;margin-bottom:6px;text-decoration:none}.lesson-close{min-height:44px;flex-shrink:0;display:inline-flex;align-items:center;color:var(--muted);font:500 .8125rem var(--mono);text-decoration:none}.lesson-close:hover{color:var(--ink)}.lesson-session{width:100%;max-width:46rem;margin:0 auto}.lesson-session .lesson-panes{min-height:clamp(15rem,42vh,30rem)}.lesson-panes>[hidden]{display:none!important}.lesson-session .lesson-panes>div{display:grid;grid-gap:18px;gap:18px}.lesson-session .check-q legend,.lesson-session .duo-say,.lesson-session .fill-prompt{font-family:var(--display);font-size:clamp(1.3rem,4vw,1.8rem);line-height:1.22;letter-spacing:-.02em;margin-bottom:18px}.lesson-session .board-shell,.lesson-session .tool-stage{margin:0;padding:12px 0 24px;background:transparent;box-shadow:none;border-top:1px solid var(--rule)}.lesson-session .tool-stage:before{margin-bottom:18px}.lesson-session .board-prompt,.lesson-session .fill-prompt{font-family:var(--display);font-size:clamp(1.3rem,4vw,1.8rem);line-height:1.22}.lesson-session .duo-say{padding:0;background:transparent;box-shadow:none}.lesson-session .chip,.lesson-session .choice,.lesson-session .match-item,.lesson-session .slot{background:color-mix(in srgb,var(--board) 70%,transparent)}.lesson-session .chip.on,.lesson-session .choice.on,.lesson-session .city-row button.on,.lesson-session .match-item.on{background:var(--select-fill);border-color:var(--accent);color:var(--select-ink);box-shadow:inset 4px 0 0 var(--accent)}.lesson-session .chip.ok,.lesson-session .choice.ok,.lesson-session .match-item.matched{background:var(--ok-tint);border-color:var(--ok);color:var(--ok)}.lesson-session .chip.bad,.lesson-session .choice.bad,.lesson-session .match-item.bad{background:var(--wrong-tint);border-color:var(--wrong);color:var(--wrong)}.lesson-session .chip:hover,.lesson-session .choice:hover,.lesson-session .match-item:hover{border-color:var(--ink)}.lesson-sources{margin:clamp(28px,6vh,54px) 0 6px;border-top:1px solid var(--rule);color:var(--muted);font-size:.8125rem}.lesson-sources summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted);font:500 .75rem var(--mono)}.lesson-sources p{font-size:inherit}.lesson-sources ul{margin:10px 0 0;padding-left:18px}.lesson-sources a{color:var(--accent-ink)}.lesson-session .lesson-rail{max-width:900px;margin:0 auto}@media (hover:hover) and (pointer:fine){.btn,.chip,.choice,.icon-btn,.match-item,.slot{transition:transform var(--dur-press) var(--ease-out)}.btn:active,.chip:active,.choice:active,.icon-btn:active,.match-item:active,.slot:active{transform:scale(.97)}}@media (max-width:900px){.mast,.page,.site-foot .inner{padding-left:20px;padding-right:20px}body:has(.lesson-rail) .lesson-rail{padding-left:20px;padding-right:20px}.g3{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.course-row{grid-template-columns:64px minmax(0,1fr) auto}.imsafe-grid{grid-template-columns:1fr 1fr}.org-boxes{grid-template-columns:1fr}}@media (max-width:560px){.g2,.g3{grid-template-columns:1fr}.mast{gap:12px}.foot-brand{flex-direction:column;align-items:flex-start;gap:12px}.foot-nav{justify-content:flex-start}.mast .logo-mark{font-size:.8125rem}.mast nav .nav-icon{padding:4px 6px;font-size:.625rem}.study-dashboard{padding-top:4vh}.next-session{grid-template-columns:1fr;align-items:start}.dashboard-continue{width:100%;justify-content:center}.dashboard-summary{align-items:flex-start}.dashboard-total{font-size:2rem}}@media (min-width:720px){.course-hero{grid-template-columns:minmax(0,1fr) 11rem;align-items:flex-end}.course-continue{grid-template-columns:minmax(0,1fr) auto}.course-continue .btn{justify-self:end}}@media (min-width:1024px){.kit-sheet{left:auto;right:0;top:0;bottom:0;width:min(26rem,34vw);max-height:none;padding:20px 24px 24px;border-top:0;border-left:1px solid var(--rule);transform:translateX(100%)}.kit-sheet.is-open{transform:translateX(0)}.kit-sheet .kit-close-btn{width:100%;justify-content:center}.kit-scrim{background:color-mix(in srgb,var(--foot) 24%,transparent)}@keyframes kit-sheet-in{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.sat-map{height:min(64vh,600px)}.phys-stage{height:min(56vh,480px)}.chart-stage{height:clamp(260px,40vh,460px)}.lesson-session{max-width:52rem}body:has(.lesson-route) .page{max-width:1040px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-row.next:after,.icon-spin,.learn-band,.pane-in,.reveal,.saved-swap,.syllabus a.next:after{animation:none}.btn,.chip,.choice,.icon-btn,.match-item,.step-count .count-fill>span{transition:none}.course-row.next:after,.syllabus a.next:after{background:none}.flight-track.flourish{display:none}.flight-track .craft{offset-path:none}.kit-scrim,.kit-sheet,.kit-sheet.is-dragging,.kit-sheet.is-open{transform:none;transition:opacity .16s var(--ease-out);animation:none}.kit-scrim.is-open,.kit-sheet.is-open{animation:kit-fade-in .16s var(--ease-out)}}@keyframes kit-fade-in{0%{opacity:0}to{opacity:1}}.hero:not(.tight) h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0;line-height:.95}.app-type .hero:not(.tight) h1,.page .hero:not(.tight) h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:.95}.hero .eyebrow,.kicker{font-family:var(--mono);letter-spacing:.14em}.page:has(.kit-home){max-width:none;padding:0}body:has(.kit-home){background:#0a0e10;background-image:none;overflow-x:clip}.kit-home{color:#dce6ea;font-size:1.0625rem}.kit-home p{max-width:none}.kit-home a{text-decoration:none}.k-wrap{max-width:1280px;margin:0 auto;padding:0 32px}.k-sec{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}.k-kicker{font-family:var(--mono);font-size:.875rem;letter-spacing:.16em;color:#27d86a}.k-kicker,.kit-home .k-h1{text-transform:uppercase;margin:0}.kit-home .k-h1{font-family:var(--display);font-weight:800;font-size:clamp(64px,9vw,128px);line-height:.85;color:#fff;letter-spacing:0;max-width:none}.kit-home .k-h1 span{color:#27d86a}.k-h2{font-weight:800;font-size:clamp(48px,6vw,84px);line-height:.88}.k-h2,.k-h3{margin:0;font-family:var(--display);text-transform:uppercase;color:#fff;letter-spacing:0}.k-h3{font-weight:700;line-height:1}.k-lede{margin:0;font-size:1.1875rem;line-height:1.55;color:#a9b6bc;max-width:820px}.k-head{display:flex;flex-direction:column;gap:16px;max-width:820px}.k-btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:600;font-size:1.125rem;padding:16px 24px;border-radius:10px;border:0;cursor:pointer;white-space:nowrap;min-height:44px;background:#27d86a;color:#0a0e10}.k-btn:hover{background:#1fbf5c;color:#0a0e10}.k-btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #3a4852;padding:14px 22px}.k-btn.ghost:hover{background:#141a1e;color:#fff}.k-btn.dark{background:#0a0e10;color:#fff}.k-btn.dark:hover{background:#1d262c;color:#fff}.k-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}.k-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));grid-gap:48px;gap:48px;align-items:center;padding-top:clamp(48px,8vw,104px);padding-bottom:56px}.k-hero-copy{display:flex;flex-direction:column;gap:28px}.k-hero-copy .k-lede{font-size:1.25rem;max-width:560px}.k-actions{gap:14px}.k-actions,.k-chips{display:flex;flex-wrap:wrap}.k-chips{gap:10px}.k-chip{font-family:var(--mono);font-size:.8125rem;font-weight:600;padding:6px 10px;border-radius:6px;background:#141a1e;color:#dce6ea;text-transform:uppercase}.k-track{display:flex;align-items:center;height:14px}.k-track .t-red{flex:0 0 18%;height:6px;background:#e5484d}.k-track .t-dot{width:14px;height:14px;border-radius:50%;background:#ff7a1a;flex:none}.k-track .t-green{flex:1 1;height:6px;background:#27d86a}.k-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:2px;gap:2px;background:#1d262c;margin-top:56px}.k-trio>div{background:#0a0e10;padding:32px;display:flex;flex-direction:column;gap:16px}.k-trio>div:first-child{padding-left:0}.k-num{font-family:var(--mono);font-size:.875rem;color:#ff7a1a;margin:0;text-transform:uppercase}.k-trio .k-h3{font-size:36px}.k-cond p,.k-trio p,.k-who p{margin:0;font-size:1.0625rem;line-height:1.55;color:#a9b6bc}.k-band{background:#141a1e}.k-band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}.k-meta{font-family:var(--mono);font-size:.8125rem;letter-spacing:.12em;color:#8a979d;margin:0;text-transform:uppercase}.k-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:20px;gap:20px}.k-tile{all:unset;cursor:pointer;position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#0a0e10;box-sizing:border-box}.k-tile,.k-tile img{display:block;width:100%}.k-tile img{height:100%;object-fit:cover;transition:transform .24s var(--ease-out)}.k-tile:hover img{transform:scale(1.03)}.k-tile:focus-visible{outline:2px solid #27d86a;outline-offset:3px}.k-tile i{position:absolute;width:18px;height:18px;border:0 solid #27d86a}.k-tile i:first-of-type{left:12px;top:12px;border-left-width:3px;border-top-width:3px}.k-tile i:nth-of-type(2){right:12px;top:12px;border-right-width:3px;border-top-width:3px}.k-tile i:nth-of-type(3){left:12px;bottom:12px;border-left-width:3px;border-bottom-width:3px}.k-tile i:nth-of-type(4){right:12px;bottom:12px;border-right-width:3px;border-bottom-width:3px}.k-tile b{position:absolute;left:22px;bottom:22px;right:40px;font:600 .75rem var(--mono);color:#27d86a;text-transform:uppercase}.k-tile b span{background:#0a0e10;padding:4px 8px;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.k-locs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));grid-gap:20px;gap:20px;margin-top:56px}.k-loc{background:#141a1e;border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:12px}.k-loc .k-meta{color:#8a979d;letter-spacing:0;font-size:.8125rem}.k-loc .k-h3{font-size:38px}.k-loc p{margin:0;font-size:1.0625rem;line-height:1.5;color:#a9b6bc}.k-rows{margin:56px 0 0;padding:0;list-style:none;border-top:1px solid #26313a}.k-row{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1.4fr);grid-gap:24px;gap:24px;padding:28px 0;border-bottom:1px solid #26313a;align-items:baseline}.k-row>span{font-family:var(--mono);font-size:1rem;color:#27d86a}.k-row .k-h3{font-size:clamp(28px,3.4vw,44px)}.k-row p{margin:0;font-size:1.0625rem;line-height:1.5;color:#a9b6bc}@media (max-width:720px){.k-row{grid-template-columns:44px minmax(0,1fr);gap:8px 16px}.k-row p{grid-column:2}}.k-cond{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:20px;gap:20px;margin-top:56px}.k-cond>div{display:flex;flex-direction:column;gap:10px;border-top:3px solid #ff7a1a;padding-top:20px}.k-cond .k-num{font-size:.8125rem}.k-bundle-band{background:#27d86a;color:#0a0e10}.k-bundle{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));grid-gap:48px;gap:48px;align-items:center}.k-bundle-copy{display:flex;flex-direction:column;gap:24px}.k-bundle .k-kicker{color:#0a0e10;font-weight:600}.k-bundle .k-h2{color:#0a0e10;font-size:clamp(52px,6.4vw,92px);line-height:.86}.k-bprice{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.k-bprice strong{font-family:var(--display);font-weight:800;font-size:72px;line-height:1;color:#0a0e10}.k-bprice span{font-family:var(--mono);font-size:1rem;font-weight:600;text-transform:uppercase}.k-kit{margin:0;padding:0;list-style:none;border-top:2px solid #0a0e10}.k-kit li{padding:12px 0;border-bottom:1px solid rgba(10,14,16,.25);font-size:1.125rem;font-weight:500;color:#0a0e10}.k-bundle-art{background:#0a0e10;border-radius:20px;padding:24px}.k-bundle-art img{width:100%;height:auto;display:block}.k-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:20px;gap:20px;margin-top:48px}.k-plan{background:#141a1e;border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:18px}.k-plan.lead{box-shadow:inset 0 0 0 2px #27d86a}.k-plan-top{display:flex;justify-content:space-between;align-items:center;min-height:28px}.k-plan-top span:first-child{font-size:.875rem;color:#27d86a}.k-plan-tag,.k-plan-top span:first-child{font-family:var(--mono);text-transform:uppercase}.k-plan-tag{font-size:.75rem;font-weight:600;padding:5px 9px;border-radius:6px;background:#27d86a;color:#0a0e10}.k-plan-price{display:flex;align-items:baseline;gap:8px}.k-plan-price strong{font-family:var(--display);font-weight:800;font-size:64px;line-height:1;color:#fff}.k-plan-price span{color:#8a979d}.k-plan p{margin:0;font-size:1.0625rem;line-height:1.5;color:#a9b6bc;flex:1 1}.k-plan .k-btn{font-size:1.0625rem;padding:12px 20px;width:100%}.k-plan .k-btn:not(.ghost){padding:14px 20px}.k-plan-price{flex-wrap:wrap}.k-plan .k-plan-list{flex:none;font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:#27d86a;text-transform:uppercase}.k-price-group{margin-top:64px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;border-top:1px solid #26313a;padding-top:24px}.k-price-group .k-num{color:#27d86a;font-size:.875rem}.k-price-group p:last-child{margin:0;color:#a9b6bc;font-size:1.0625rem}.k-price-group+.k-plans{margin-top:24px}.k-seats{width:100%;border-collapse:collapse;font-size:.9375rem;color:#dce6ea}.k-seats caption{text-align:left;font-family:var(--mono);font-size:.75rem;color:#8a979d;text-transform:uppercase;padding-bottom:8px}.k-seats td,.k-seats th{text-align:left;padding:8px 8px 8px 0;border-bottom:1px solid #26313a;font-weight:500}.k-seats thead th{font-family:var(--mono);font-size:.75rem;color:#8a979d;text-transform:uppercase;font-weight:600}.k-seats td:nth-child(2){color:#27d86a;font-weight:600}.k-seats td:last-child{color:#8a979d}.k-agency{margin-top:20px;background:#141a1e;border-radius:16px;padding:24px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}.k-agency p{margin:0;flex:1 1 420px;font-size:1.0625rem;line-height:1.5;color:#a9b6bc}.k-agency strong{color:#fff}.k-partner{margin-top:20px;border-radius:16px;padding:32px;background:#1a1206;box-shadow:inset 0 0 0 2px #ff7a1a;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px}.k-partner-copy{flex:1 1 480px;display:flex;flex-direction:column;gap:12px}.k-partner .k-h3{font-size:clamp(32px,4vw,48px)}.k-partner p{margin:0;font-size:1.0625rem;line-height:1.55;color:#d6c8b8}.k-partner .k-btn{background:#ff7a1a;color:#0a0e10}.k-partner .k-btn:hover{background:#ff9447;color:#0a0e10}@media (max-width:560px){.k-agency,.k-partner{padding:24px 20px}.k-agency .k-btn,.k-partner .k-btn{width:100%}.k-plan{padding:24px 20px}.k-plan-price strong{font-size:52px}}.k-fine{margin:48px 0 0;font-size:.875rem;line-height:1.5;color:#8a979d;max-width:900px}.k-who-wrap{border-top:1px solid #1d262c}.k-who{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:40px;gap:40px;margin-top:48px}.k-who>div{display:flex;flex-direction:column;gap:12px}.k-who .k-h3{font-size:32px}.k-learn{background:#dce6ea;color:#0a0e10}.k-learn .k-kicker{color:#137a3b;font-weight:600}.k-learn .k-h2{color:#0a0e10}.k-learn .k-lede{color:#33424a}.k-learn .k-head{margin-bottom:48px}.carousel{position:relative}.carousel-track{list-style:none;margin:0;padding:2px 0 6px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline:2px solid #137a3b;outline-offset:2px}.carousel-track li{flex:none;width:min(18.5rem,80vw);scroll-snap-align:start}.carousel-tile{display:flex;flex-direction:column;gap:10px;height:100%;min-height:14rem;padding:22px;background:#fff;color:#0a0e10;border-radius:12px;text-decoration:none}a.carousel-tile:hover{color:#0a0e10;box-shadow:inset 0 0 0 2px #0a0e10}.carousel-tile .tile-top{display:flex;justify-content:space-between;align-items:center}.carousel-tile .code{font:600 1.125rem var(--mono);color:#137a3b}.carousel-tile .tag{font:600 .6875rem var(--mono);padding:4px 8px;border-radius:5px;background:#0a0e10;color:#fff;text-transform:uppercase}.carousel-tile .tag.free{background:#27d86a;color:#0a0e10}.carousel-tile strong{font-family:var(--display);font-weight:700;font-size:1.625rem;line-height:1;text-transform:uppercase}.carousel-tile .covers{color:#33424a;font-size:.9375rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.carousel-tile .meta{margin-top:auto;font:500 .75rem var(--mono);color:#55636a}.carousel-tile.soon{opacity:.7}.carousel-nav{display:flex;gap:8px;margin-top:16px}.carousel-nav .icon-btn{color:#0a0e10;background:#fff;border-radius:10px}.carousel-nav .icon-btn:disabled{opacity:.4}.study-faq{display:grid;grid-gap:0;gap:0;max-width:62ch;margin-top:8px;border-bottom:1px solid var(--rule)}.study-faq details{border-top:1px solid var(--rule)}.study-faq summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.study-faq summary::-webkit-details-marker{display:none}.study-faq summary h3{margin:0;font-size:1.05rem}.study-faq summary:after{content:"+";flex:none;font-family:var(--mono);font-size:1.375rem;color:var(--accent)}.study-faq details[open] summary:after{content:"–"}.study-faq .faq-a{padding:0 0 18px;color:var(--body)}.k-faq{max-width:960px;margin:0 auto;padding-left:32px;padding-right:32px}.k-faq .study-faq{max-width:none;margin-top:40px;border-bottom-color:#26313a}.k-faq .study-faq details{border-top-color:#26313a}.k-faq .study-faq summary{padding:24px 0}.k-faq .study-faq summary h3{font-family:var(--display);font-weight:700;font-size:28px;text-transform:uppercase;color:#fff;letter-spacing:0}.k-faq .study-faq summary:after{color:#27d86a;font-size:1.375rem}.k-faq .study-faq .faq-a{padding-bottom:24px;font-size:1.0625rem;line-height:1.6;color:#a9b6bc;max-width:760px}.k-faq .study-faq .faq-a p{color:#a9b6bc}.k-quote{background:#141a1e}.k-quote-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));grid-gap:48px;gap:48px;padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(64px,9vw,112px)}.k-quote-copy{display:flex;flex-direction:column;gap:20px}.k-quote .k-h2{font-size:clamp(52px,6.4vw,92px);line-height:.86}.qf{display:flex;flex-direction:column;gap:14px}.qf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:14px;gap:14px}.qf input,.qf textarea{background:#0a0e10;border:1px solid #26313a;border-radius:10px;padding:16px;color:#fff;font:inherit;font-size:1.0625rem;width:100%;min-height:44px}.qf textarea{resize:vertical}.qf input::placeholder,.qf textarea::placeholder{color:#6e7b82}.qf input:focus-visible,.qf textarea:focus-visible{outline:2px solid #27d86a;outline-offset:1px}.qf-pills{display:flex;gap:10px;flex-wrap:wrap}.qf-pill{font:inherit;font-weight:500;font-size:1rem;padding:10px 16px;border-radius:999px;background:transparent;color:#dce6ea;box-shadow:inset 0 0 0 1.5px #3a4852;border:0;cursor:pointer;min-height:44px}.qf-pill[aria-pressed=true]{background:#27d86a;color:#0a0e10}.qf .k-btn{align-self:flex-start}.qf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.qf-done{background:#0a0e10;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.qf-done .k-num{color:#27d86a;font-size:.875rem}.qf-done p{margin:0;font-size:1.125rem;color:#fff}.quote-dialog{border:0;padding:0;border-radius:16px;background:#141a1e;color:#fff;width:min(34rem,calc(100vw - 32px));max-height:calc(100vh - 32px)}.quote-dialog::-webkit-backdrop{background:rgba(8,12,14,.7)}.quote-dialog::backdrop{background:rgba(8,12,14,.7)}.quote-in{padding:24px;display:grid;grid-gap:16px;gap:16px}.quote-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-head h2{margin:0;font-family:var(--display);font-weight:800;font-size:2.25rem;text-transform:uppercase;color:#fff;letter-spacing:0;line-height:1}.quote-head .icon-btn{color:#fff}.shot-dialog{border:0;padding:0;background:#0a0e10;color:#fff;border-radius:14px;width:min(1100px,calc(100vw - 24px));max-height:calc(100vh - 24px)}.shot-dialog::-webkit-backdrop{background:rgba(8,12,14,.85)}.shot-dialog::backdrop{background:rgba(8,12,14,.85)}.shot-in{display:grid;grid-gap:10px;gap:10px;padding:12px 14px 16px}.shot-bar{display:flex;align-items:center;justify-content:space-between;color:#8a979d}.shot-bar .icon-btn,.shot-stage .icon-btn{color:#fff}.shot-stage{position:relative;display:grid;align-items:center}.shot-stage img{width:100%;height:auto;max-height:calc(100vh - 190px);object-fit:contain;display:block}.shot-next,.shot-prev{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,12,14,.6)}.shot-prev{left:6px}.shot-next{right:6px}.shot-cap{margin:0;max-width:none;font-size:.9375rem;color:#dce6ea}.shot-cap b{font-weight:600}.consent{margin:14px 0 0;color:var(--muted);font-size:.8125rem;max-width:40ch}@media (max-width:700px){.mast nav .nav-opt{display:none}.k-faq,.k-wrap,.mast,.site-foot .inner{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){.k-tile img{transition:none}.k-tile:hover img{transform:none}}:root{--card:#ffffff}[data-theme=dark]{--card:#141a1e}.catalogue-header{border-bottom:0;margin-bottom:8px}.catalogue-header .hero.tight h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:clamp(2.6rem,6vw,4rem);line-height:.9;color:var(--ink)}.catalogue-header .lede{color:var(--muted);font-size:1.0625rem}.quiet-link{font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em}.learn-filter select{border-radius:10px;background:var(--card);font-weight:500}.learn-count{font-family:var(--mono);font-size:.8125rem}.course-group h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:2rem;letter-spacing:0;margin-bottom:14px}.course-group+.course-group{border-top:0;padding-top:12px}.course-rows{grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:14px}.course-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"code state" "meta meta";gap:12px 10px;align-items:center;padding:20px;min-height:11rem;height:100%;background:var(--card);border-radius:12px;align-content:start}.course-row:hover{background:var(--card);box-shadow:inset 0 0 0 2px var(--ink)}.course-row .code{grid-area:code;font-weight:600;font-size:1.125rem;color:var(--accent)}.course-row .state,.course-row .step-box{grid-area:state;justify-self:end}.course-meta{grid-area:meta;gap:6px;align-self:stretch;align-content:start}.course-meta strong{font-family:var(--display);font-weight:700;font-size:1.625rem;line-height:1;text-transform:uppercase;color:var(--ink)}.course-meta span{font-size:.875rem;color:var(--muted)}.course-meta .bar{margin-top:10px;max-width:none;height:5px}.course-meta .bar,.course-meta .bar span{border-radius:99px}.course-row .state{font:600 .6875rem var(--mono);padding:4px 8px;border-radius:5px;text-transform:uppercase;background:var(--ink);color:var(--bg)}.course-row .state.live{background:#27d86a;color:#0a0e10}.course-row.next,.course-row.next:hover{background:var(--card);box-shadow:inset 0 0 0 2px #27d86a;overflow:visible}.course-row.next:after{display:none}.course-row.done .code{color:var(--muted)}.course-row.is-gated,.course-row.is-locked{opacity:1}.course-row.is-locked .code,.course-row.is-locked .course-meta strong{opacity:.55}.course-row .step-box{width:28px;height:28px;border-radius:99px}.course-overview{max-width:56rem}.course-line{color:var(--accent);font-weight:600;font-size:.9375rem;letter-spacing:.04em}.course-hero h1{margin-top:2px}.course-progress .num strong{font-family:var(--display);font-weight:800;font-size:2.4rem;color:var(--ink)}.bar,.course-progress .bar{display:block;height:6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 14%,transparent)}.bar span,.course-progress .bar span{border-radius:99px;background:#27d86a}.course-continue{grid-template-columns:minmax(0,1fr);align-items:center;padding:28px;margin-bottom:8px;background:#0a0e10;color:#dce6ea;border:0;border-radius:16px}.course-continue .kicker{color:#27d86a}.course-continue h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.75rem,4vw,2.4rem);line-height:.95;color:#fff;letter-spacing:0}.course-continue p:last-child{color:#a9b6bc}.course-continue .btn.outline,.course-continue .btn.outline:hover{background:#27d86a;color:#0a0e10;box-shadow:none}@media (min-width:640px){.course-continue{grid-template-columns:minmax(0,1fr) auto}}.course-complete{padding:18px 20px;border:0;border-radius:12px;background:var(--tint);color:var(--accent-ink);font-weight:500}.course-sequence.major{border-top:0}.section-heading h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:2rem;letter-spacing:0}.section-heading .mono{color:var(--mark);letter-spacing:.14em;text-transform:uppercase}.syllabus.marks{gap:10px}.syllabus.marks a,.syllabus.marks li>span{padding:16px 18px;background:var(--card);border-radius:12px;min-height:60px}.syllabus.marks a:hover{background:var(--card);box-shadow:inset 0 0 0 2px var(--ink)}.syllabus.marks a.next,.syllabus.marks a.next:hover{box-shadow:inset 0 0 0 2px #27d86a;background:var(--card)}.syllabus.marks a.next:after{display:none}.syllabus.marks strong{font-weight:600;color:var(--ink)}.syllabus.marks .step-box{border-radius:99px;background:transparent}.syllabus.marks .step-box.done{background:#27d86a;color:#0a0e10;box-shadow:none}.quiz-list{margin:6px 0 4px 22px;gap:6px}.quiz-list a{padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--card) 70%,transparent)}.course-path .path-join{display:none}.course-path .path-node{border-radius:12px}body:has(.lesson-route){overflow-x:clip}body:has(.lesson-route) .page{max-width:1180px;padding-left:28px;padding-right:28px}.lesson-context{position:relative;align-items:center;gap:20px;margin:0 calc(50% - 50vw) clamp(20px,4vh,36px);padding:22px max(28px,calc(50vw - 562px)) 26px;background:#0a0e10;border:0}.lesson-context:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#e5484d 0 18%,#ff7a1a 18% 19%,#27d86a 19% 100%)}.lesson-context .course-line{color:#27d86a;font-weight:600;letter-spacing:.06em;margin-bottom:8px}.lesson-context h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:.95;max-width:none;color:#fff}.lesson-close{padding:8px 16px;border-radius:8px;color:#dce6ea;box-shadow:inset 0 0 0 1.5px #3a4852}.lesson-close:hover{color:#fff;background:#141a1e}.lesson-session{max-width:none;margin:0}.lesson-session .lesson-panes{background:var(--card);border-radius:16px;padding:clamp(20px,4vw,44px);min-height:clamp(18rem,48vh,34rem)}.lesson-session .lesson-panes>div{gap:22px}.lesson-session .lesson-panes p{max-width:72ch}.lesson-session .lesson-sources{margin-top:18px;border-top:0}.lesson-session .lesson-rail,body:has(.lesson-rail) .lesson-rail{max-width:none;margin:0;background:#0a0e10;color:#dce6ea;box-shadow:none;padding:10px max(28px,calc(50vw - 562px)) calc(12px + env(safe-area-inset-bottom))}.lesson-rail .step-count{color:#a9b6bc}.lesson-rail .step-count strong{color:#fff}.lesson-rail .step-count .count-fill{background:rgba(255,255,255,.2)}.lesson-rail .step-count .count-fill>span{background:#27d86a}.lesson-rail .icon-btn{color:#fff;background:transparent;box-shadow:inset 0 0 0 1.5px #3a4852}.lesson-rail .icon-btn:disabled{opacity:.4}.lesson-rail .icon-btn:hover{background:rgba(255,255,255,.12)}.lesson-rail .icon-btn.primary,.lesson-rail .icon-btn.primary:hover{background:#27d86a;color:#0a0e10;box-shadow:none}@media (max-width:700px){.lesson-context{padding-left:20px;padding-right:20px}.lesson-session .lesson-rail,body:has(.lesson-rail) .lesson-rail{padding-left:20px;padding-right:20px}}.k-art{position:relative;width:100%;aspect-ratio:100/82}.k-screen{position:absolute;left:0;top:0;width:80%;background:#05080a;padding:1.2%;border-radius:10px;box-shadow:inset 0 0 0 1px #26313a}.k-screen img{display:block;width:100%;height:auto;border-radius:4px}.k-screen:after{content:"";position:absolute;left:50%;bottom:-6%;width:14%;height:6%;transform:translateX(-50%);background:#1d262c}.k-ctrl{position:absolute;right:0;bottom:0;width:58%;height:auto;display:block}.k-art-chip{position:absolute;font:600 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:6px;background:#141a1e;color:#27d86a;box-shadow:inset 0 0 0 1px #26313a}.k-art-chip.a{left:0;top:60%}.k-art-chip.b{right:0;top:44%}@media (max-width:520px){.k-art-chip{font-size:.6875rem;padding:4px 8px}}.k-stage{margin-top:56px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}.k-stage+.k-rows{margin-top:16px}.k-stage .k-num{color:#27d86a;font-size:.875rem}.k-stage p:last-child{margin:0;color:#a9b6bc;font-size:1.0625rem}.hub-next,.page-band{--ink:#ffffff;--body:#dce6ea;--muted:#a9b6bc;--rule:#26313a;--accent:#27d86a;--accent-ink:#5be28f;--mark:#ff7a1a;--card:#141a1e;--tint:#12261b}body:has(.page-band){overflow-x:clip}.page:has(.page-band){padding-top:0}.page-band{position:relative;color:var(--body);background:#0a0e10;margin:0 calc(50% - 50vw) 28px;padding:clamp(24px,4vw,44px) max(28px,calc(50vw - 492px)) clamp(32px,5vw,52px)}.page-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#e5484d 0 18%,#ff7a1a 18% 19%,#27d86a 19% 100%)}.page-band-inner{display:grid;grid-gap:28px;gap:28px}@media (min-width:760px){.page-band-inner:has(.page-band-aside){grid-template-columns:minmax(0,1fr) minmax(13rem,17rem);align-items:end}}.page-band h1{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:.9;color:#fff;max-width:20ch}.band-back{display:flex;width:max-content;align-items:center;min-height:32px;margin:0 0 14px;font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em;color:#8a979d;text-decoration:none}.band-back:hover{color:#fff}.band-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;font-family:var(--mono);font-size:.8125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#27d86a}.band-kicker .cat-badge{letter-spacing:.1em}.band-lede{margin-top:16px;color:#a9b6bc;font-size:1.125rem;line-height:1.5;max-width:60ch}.band-lede+.band-lede{margin-top:10px}.band-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:28px}.band-actions .btn{min-height:48px;padding:12px 24px;border-radius:10px;font-size:1.0625rem}.band-note{color:#a9b6bc}.band-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.band-chips li{font:600 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:6px;background:#141a1e;color:#dce6ea;box-shadow:inset 0 0 0 1px #26313a}.hub-charge,.page-band .course-progress{display:grid;grid-gap:10px;gap:10px;min-width:0}.hub-charge .num,.page-band .course-progress .num{margin:0;font-family:var(--mono);font-size:.8125rem;color:#a9b6bc}.hub-charge .num strong,.page-band .course-progress .num strong{font-family:var(--display);font-weight:800;font-size:2.8rem;line-height:1;color:#fff;margin-right:4px}.hub-charge-meta{margin:0;font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8a979d}@media (max-width:900px){.page-band{padding-left:20px;padding-right:20px}}.cat-badge{--cat:#9aa7ad;display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap;font:600 .6875rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px 5px 8px;border-radius:99px;color:color-mix(in srgb,var(--cat) var(--badge-mix,58%),var(--ink));background:color-mix(in srgb,var(--cat) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat) 38%,transparent)}[data-theme=light]{--badge-mix:40%}.hub-next,.page-band{--badge-mix:58%}.cat-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cat)}[data-cat=free],[data-cat=introductions]{--cat:#27d86a}[data-cat=rules]{--cat:#e5484d}[data-cat=airspace]{--cat:#3ec8e8}[data-cat=knowledge]{--cat:#ff7a1a}[data-cat=aircraft]{--cat:#f5b83d}[data-cat=operations]{--cat:#e84aa0}[data-cat=all],[data-cat=packs]{--cat:#9aa7ad}.battery{--batt-case:color-mix(in srgb,var(--ink) 42%,transparent);--batt-empty:color-mix(in srgb,var(--ink) 9%,transparent);--batt-fill:#27d86a;display:inline-flex;align-items:center;flex:none;vertical-align:middle;width:8rem;height:18px}.battery[data-level=low]{--batt-fill:#e5484d}.battery[data-level=mid]{--batt-fill:#ff7a1a}.battery[data-level=full]{--batt-case:#27d86a}.battery-cells{flex:1 1;height:100%;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:2px;gap:2px;padding:2px;border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--batt-case)}.battery-cells>span{border-radius:1.5px;background:var(--batt-empty)}.battery-cells>span.on{background:var(--batt-fill)}.battery-nub{width:3px;height:44%;margin-left:1.5px;border-radius:0 2px 2px 0;background:var(--batt-case)}.battery.sm{width:5.5rem;height:14px}.battery.sm .battery-cells{gap:1.5px;padding:2px;border-radius:3px}.battery.lg{width:100%;max-width:17rem;height:28px}.battery.lg .battery-cells{gap:3px;padding:3px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--batt-case)}.battery.lg .battery-cells>span{border-radius:2px}.battery.lg .battery-nub{width:4px;margin-left:2px}@media (prefers-reduced-motion:no-preference){.battery:not([data-level=full]) .battery-cells>span.on:not(:has(+.on)){animation:batt-charge 1.8s ease-in-out infinite}}@keyframes batt-charge{50%{opacity:.45}}.step-count:has(.step-battery){padding-bottom:0;display:grid;justify-items:center;grid-gap:5px;gap:5px}.step-count .step-battery{width:clamp(4.5rem,14vw,8rem);height:12px;--batt-fill:#27d86a}.step-count .step-battery[data-level=full]{--batt-case:#27d86a}.lesson-rail .battery{--batt-case:rgba(255,255,255,0.45);--batt-empty:rgba(255,255,255,0.12)}.learn-toolbar{padding:0 0 22px;gap:14px 20px}.seg{display:flex;gap:4px;padding:4px;max-width:100%;overflow-x:auto;scrollbar-width:none;background:var(--card);border-radius:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.seg::-webkit-scrollbar{display:none}@media (max-width:1000px){.seg{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:28px}}.seg-opt{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:40px;padding:8px 14px;border:0;border-radius:9px;background:transparent;cursor:pointer;font:inherit;font-size:.9375rem;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}.seg-opt[data-cat]:not([data-cat=all]):before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cat)}.seg-opt:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.seg-opt.on,.seg-opt.on:hover{background:#0a0e10;color:#fff}[data-theme=dark] .seg-opt.on,[data-theme=dark] .seg-opt.on:hover{background:#27d86a;color:#0a0e10}.seg-count{font:500 .75rem var(--mono);padding:1px 6px;border-radius:99px;background:color-mix(in srgb,currentColor 14%,transparent)}.learn-count{display:flex;align-items:center;gap:10px;color:var(--muted)}.course-group,.course-group.plain{padding:0 0 36px}.course-group+.course-group{margin-top:0;padding-top:0}.course-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:4px 16px;gap:4px 16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.course-group-head h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.875rem;line-height:1}.course-group-head h2:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--cat,#27d86a);flex:none}.course-group-head p{grid-column:1;margin:0;color:var(--muted);font-size:.9375rem}.course-group-head .mono{grid-column:2;grid-row:1/span 2;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.course-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 20px 20px;min-height:12.5rem;transition:box-shadow var(--dur-swap) var(--ease-out),transform var(--dur-swap) var(--ease-out)}a.course-row:hover{transform:translateY(-2px)}.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:6px}.course-row .code{font-size:.875rem;letter-spacing:.04em}.course-row .state,.course-row .step-box{justify-self:auto;align-self:center;margin-left:auto}.course-row .course-meta{display:grid;grid-gap:6px;gap:6px}.course-charge{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px}.course-charge .battery{flex:1 1;width:auto;max-width:12rem;height:16px}.course-charge .num{font:500 .75rem var(--mono);color:var(--muted);white-space:nowrap}@media (prefers-reduced-motion:reduce){a.course-row:hover{transform:none}}.course-overview{max-width:none}[data-theme=dark] .course-continue{background:#141a1e;box-shadow:inset 0 0 0 1px #26313a}.unit-study{padding:8px 0 40px;border-top:0}.unit-lessons{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.unit-lessons li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;min-height:64px;padding:14px 18px;background:var(--card);border-radius:12px}.unit-lessons strong{font-weight:600;color:var(--ink);line-height:1.3}.unit-lesson-n{color:var(--mark);font-weight:600}.unit-lessons li>.mono:last-child{color:var(--muted);white-space:nowrap}.notice{border-radius:12px;max-width:none;margin:0 0 24px;padding:16px 18px}.pay-notice{display:grid;grid-gap:6px;gap:6px}.pay-notice h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.5rem;letter-spacing:0;line-height:1}.hub{width:100%}.hub-head{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap}.hub-head h2{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.75rem;letter-spacing:0;line-height:1}.hub-more{font:600 .8125rem var(--mono);letter-spacing:.04em;color:var(--accent-ink);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.hub-more:hover{color:var(--accent)}.hub-sub{color:var(--muted);font-size:.9375rem}.hub-top{display:grid;grid-gap:16px;gap:16px;margin-bottom:44px}@media (min-width:860px){.hub-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.hub-next{position:relative;display:flex;flex-direction:column;gap:10px;min-height:17rem;padding:clamp(22px,3vw,32px);border-radius:16px;background:#0a0e10;color:var(--body);box-shadow:inset 0 0 0 2px #27d86a}[data-theme=dark] .hub-next{background:#141a1e}.hub-next:after,.hub-next:before{content:"";position:absolute;width:18px;height:18px;border:0 solid #27d86a;pointer-events:none}.hub-next:before{right:14px;top:14px;border-right-width:3px;border-top-width:3px}.hub-next:after{left:14px;bottom:14px;border-left-width:3px;border-bottom-width:3px}.hub-next-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-right:28px}.hub-next .band-kicker{margin:0}.hub-next-course{color:var(--muted);font-size:.875rem;margin:6px 0 0}.hub-next h2{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:clamp(2rem,4.4vw,3rem);line-height:.92;color:#fff;margin:0;max-width:18ch}.hub-next-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:22px}.hub-next-foot .course-charge{margin:0;padding:0;flex:1 1;min-width:12rem}.hub-next-foot .btn{min-height:48px;padding:12px 24px;border-radius:10px;font-size:1.0625rem}.hub-quiz{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,3vw,26px);border-radius:16px;background:var(--card)}.quiz-tiles{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.quiz-tile{display:flex;align-items:center;gap:16px;padding:16px 16px 16px 18px;border-radius:12px;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--ink) 4%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);transition:box-shadow var(--dur-swap) var(--ease-out)}.quiz-tile:hover{box-shadow:inset 0 0 0 2px #27d86a}.quiz-tile-body{display:grid;grid-gap:4px;gap:4px;flex:1 1;min-width:0}.quiz-tile strong{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.5rem;line-height:1;color:var(--ink)}.quiz-tile-copy{color:var(--muted);font-size:.875rem;line-height:1.4}.quiz-tile-side{display:flex;align-items:center;gap:12px;flex:none}.quiz-tile-side .mono{font-size:.75rem;color:var(--muted);white-space:nowrap}.quiz-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#27d86a;color:#0a0e10;font-weight:700;transition:transform var(--dur-swap) var(--ease-out)}.quiz-tile:hover .quiz-go{transform:translateX(2px)}.hub-section{padding:0 0 44px}.hub-section>.hub-head{margin-bottom:16px}.hub-cats{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.hub-cat{display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:100%;padding:18px 18px 20px;border-radius:12px;background:var(--card);color:inherit;text-decoration:none;box-shadow:inset 3px 0 0 var(--cat,#27d86a);transition:box-shadow var(--dur-swap) var(--ease-out)}.hub-cat:hover{box-shadow:inset 3px 0 0 var(--cat,#27d86a),inset 0 0 0 2px var(--ink)}.hub-cat strong{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.5rem;line-height:1;color:var(--ink)}.hub-cat .mono{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hub-cat strong:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--cat,#27d86a);margin-right:10px;vertical-align:.12em}.hub-cat>span:last-child{color:var(--muted);font-size:.875rem;line-height:1.4}.hub-cat.all{--cat:#27d86a}.account{width:100%}.account-grid{display:grid;grid-gap:16px;gap:16px;padding-bottom:40px;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.account-card{display:flex;flex-direction:column;gap:14px;padding:clamp(20px,3vw,26px);border-radius:16px;background:var(--card);border-top:0}.account-card>p,.account-num{color:var(--muted)}.account-num{margin:0;font-family:var(--mono);font-size:.8125rem}.account-num strong{font-family:var(--display);font-weight:800;font-size:2.8rem;line-height:1;color:var(--ink);margin-right:4px}.account-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:6px}.theme-toggle{margin:0;gap:10px}.theme-seg{width:max-content}.theme-toggle .duo-hint{margin:0;color:var(--muted);font-size:.875rem}.places-layout{display:grid;grid-gap:16px;gap:16px;padding-bottom:40px}@media (min-width:960px){.places-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start}}.places-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}.place-card{transition:box-shadow var(--dur-swap) var(--ease-out)}.place-card[data-picked=true]{box-shadow:inset 0 0 0 2px #27d86a}.place-note{margin:0;font-size:.875rem;color:var(--muted)}.basket-lines{list-style:none;margin:0;padding:0}.basket-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}.basket-lines li>span:last-child{font:500 .8125rem var(--mono);color:var(--muted);white-space:nowrap}.basket-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-family:var(--mono);font-size:.8125rem;color:var(--muted)}.basket-total strong{font-family:var(--display);font-weight:800;font-size:2.2rem;line-height:1;color:var(--ink)}