@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";@layer settings,base,layout,components,states;@layer settings{:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--duration-fast: .12s;--duration-ui: .18s;--ease-out: cubic-bezier(.215, .61, .355, 1);--color-canvas: #101113;--color-rail: #0b0d0e;--color-surface: #151719;--color-surface-raised: #1d2023;--color-surface-muted: #25292d;--color-text-primary: #f5f2ea;--color-text-secondary: #bdb8ad;--color-text-muted: #858176;--color-border: #2b3035;--color-border-strong: #3c4650;--color-accent: #3d8bfd;--color-accent-hover: #74abff;--color-accent-soft: rgba(61, 139, 253, .14);--color-teal: #58d5c5;--color-teal-soft: rgba(88, 213, 197, .12);--color-success: #35c96f;--color-warning: #f6b44b;--color-warning-soft: rgba(246, 180, 75, .13);--color-shadow: rgba(0, 0, 0, .34);--color-catchlight: rgba(255, 255, 255, .055);--font-display: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.625rem;--leading-tight: 1.12;--leading-normal: 1.5;--leading-relaxed: 1.72}}@layer base{*,*:before,*:after{box-sizing:border-box}html{color:var(--color-text-primary);background:var(--color-canvas);font-family:var(--font-body);line-height:var(--leading-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100dvh;margin:0;background:var(--color-canvas)}button,input{font:inherit}button{touch-action:manipulation}a{color:var(--color-accent-hover);text-decoration-thickness:.08em;text-underline-offset:.18em}::selection{color:var(--color-rail);background:var(--color-teal)}}@layer layout{.skip-link{position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);z-index:20;padding:var(--space-2) var(--space-3);color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transform:translateY(-150%);transition:transform var(--duration-ui) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.academy-shell{display:grid;grid-template-columns:minmax(21rem,26rem) minmax(0,1fr);min-height:100dvh;background:var(--color-canvas)}.academy-sidebar{position:sticky;inset-block-start:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:var(--space-4);height:100dvh;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-3);background:var(--color-rail);border-inline-end:1px solid var(--color-border)}.academy-main{min-width:0;height:100dvh;overflow:auto;padding:var(--space-6) clamp(var(--space-5),4vw,var(--space-7)) var(--space-7)}.mobile-topbar{display:none}}@layer components{.academy-brand{display:flex;gap:var(--space-3);align-items:center;min-width:0}.academy-brand__mark{display:grid;width:3.25rem;height:3.25rem;flex:0 0 auto;place-items:center;color:var(--color-teal);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 var(--color-catchlight),0 1rem 2.5rem var(--color-shadow)}.academy-brand__copy{min-width:0}.academy-brand__copy span,.search-box__label,.course-outline__section-header span{color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.academy-brand h1,.academy-brand h2{margin:0;overflow:hidden;font-family:var(--font-display);font-size:clamp(1.65rem,2.1vw,2.15rem);font-weight:800;line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}.mobile-topbar{color:var(--color-text-primary);background:#0b0d0ef5;border-block-end:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-topbar__copy{display:grid;min-width:0;gap:.05rem}.mobile-topbar__copy span,.mobile-topbar__copy strong{overflow:hidden;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap}.mobile-topbar__copy span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.mobile-topbar__copy strong{font-size:var(--text-base);font-weight:800}.mobile-topbar__copy small{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.mobile-topbar__button,.mobile-outline__close{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;font-weight:800}.mobile-topbar__button{flex:0 0 auto;padding-inline:var(--space-3)}.mobile-outline{position:fixed;inset:0;z-index:60;display:grid;align-items:end}.mobile-outline__scrim{position:absolute;inset:0;background:#00000094;border:0;cursor:pointer}.mobile-outline__sheet{position:relative;z-index:1;display:grid;width:100%;max-height:min(84dvh,48rem);grid-template-rows:auto auto auto minmax(0,1fr);gap:var(--space-4);overflow:hidden;padding:var(--space-5) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-rail);border:1px solid var(--color-border-strong);border-block-end:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:inset 0 1px 0 var(--color-catchlight),0 -2rem 4rem #0000006b}.mobile-outline__close{position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3);width:2.75rem;padding:0}.mobile-outline__sheet .academy-brand{padding-inline-end:3.4rem}.mobile-outline__sheet .academy-brand h2{font-size:1.45rem;white-space:normal}.mobile-outline__sheet .course-outline-frame{padding-block-end:0}.course-progress{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.course-progress span{font-variant-numeric:tabular-nums}.course-progress progress{width:100%;height:.45rem;overflow:hidden;appearance:none;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm)}.course-progress progress::-webkit-progress-bar{background:var(--color-surface-muted)}.course-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--color-accent),var(--color-teal))}.course-progress progress::-moz-progress-bar{background:linear-gradient(90deg,var(--color-accent),var(--color-teal))}.search-box{display:grid;gap:var(--space-2)}.search-box__control{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;min-height:3rem;padding-inline:var(--space-3);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 var(--color-catchlight)}.search-box__control input{width:100%;min-width:0;color:var(--color-text-primary);background:transparent;border:0;outline:0;font-size:var(--text-base)}.search-box__control input::placeholder{color:var(--color-text-muted)}.course-outline-frame{min-height:0;overflow:auto;padding-block-end:var(--space-5)}.course-outline{display:grid;gap:var(--space-5)}.course-outline__section{display:grid;gap:var(--space-2)}.course-outline__section-header{display:grid;gap:.15rem;padding-inline:var(--space-1)}.course-outline__section-header h2{margin:0;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:800;line-height:var(--leading-tight);text-wrap:balance}.course-outline__lessons{display:grid;gap:var(--space-1)}.lesson-row{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:3.35rem;padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:start;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.lesson-row__state{display:grid;width:1.4rem;height:1.4rem;place-items:center;color:var(--color-teal)}.lesson-row__copy{display:grid;min-width:0;gap:.1rem}.lesson-row__title{overflow:hidden;font-size:var(--text-sm);font-weight:700;line-height:1.24;text-overflow:ellipsis}.lesson-row__meta{color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.empty-state{display:grid;justify-items:start;gap:var(--space-3);padding:var(--space-5);color:var(--color-text-secondary);background:var(--color-warning-soft);border:1px solid rgba(246,180,75,.3);border-radius:var(--radius-md)}.empty-state strong{color:var(--color-text-primary);font-family:var(--font-display)}.empty-state p{max-width:38ch;margin:0}.lesson-reader{width:min(100%,72rem);margin-inline:auto}.lesson-reader__chrome{position:sticky;inset-block-start:var(--space-4);z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;margin-block-end:var(--space-6);padding:var(--space-3);background:#151719eb;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 var(--color-catchlight),0 1rem 2.5rem #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lesson-pager{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);min-width:0}.lesson-actions{display:flex;gap:var(--space-2);align-items:center}.nav-button,.action-button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.nav-button{display:grid;grid-template-columns:auto minmax(0,auto) minmax(0,1fr);justify-content:start;min-width:0;padding:var(--space-2) var(--space-3);text-align:start}.nav-button--next{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;justify-content:end;text-align:end}.nav-button span,.action-button{font-weight:800}.nav-button small{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.nav-button:disabled{cursor:not-allowed;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface) 82%,black);border-color:var(--color-border)}.action-button{padding-inline:var(--space-3)}.action-button--primary{color:#07100c;background:var(--color-success);border-color:var(--color-success)}.lesson-reader__header{display:grid;gap:var(--space-4);max-width:76ch;padding-block:var(--space-2) var(--space-5)}.lesson-reader__eyebrow,.lesson-reader__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lesson-reader__eyebrow span,.tag-pill{min-height:1.85rem;padding:.35rem .55rem;color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs)}.lesson-reader__eyebrow span{color:var(--color-accent-hover);font-family:var(--font-display);font-weight:800;text-transform:uppercase}.lesson-reader__title{max-width:24ch;margin:0;color:var(--color-text-primary);font-family:var(--font-display);font-size:clamp(2.1rem,4.8vw,var(--text-3xl));font-weight:800;line-height:var(--leading-tight);text-wrap:balance}.lesson-reader__outcome{max-width:68ch;margin:0;color:var(--color-text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.patch-note{max-width:68ch;margin:0;padding:var(--space-3);color:var(--color-text-secondary);background:var(--color-warning-soft);border:1px solid rgba(246,180,75,.28);border-radius:var(--radius-md)}.patch-note strong{color:var(--color-warning)}.lesson-reader__footer{max-width:76ch;padding-block:var(--space-6)}.markdown-view{display:grid;gap:var(--space-4);max-width:76ch;padding-block:var(--space-2) var(--space-3)}.markdown-view__heading{margin:var(--space-4) 0 0;color:var(--color-text-primary);font-family:var(--font-display);line-height:var(--leading-tight);scroll-margin-top:7rem;text-wrap:balance}.markdown-view__heading--level-1{font-size:var(--text-2xl)}.markdown-view__heading--level-2{font-size:var(--text-xl)}.markdown-view__heading--level-3,.markdown-view__heading--level-4{font-size:var(--text-lg)}.markdown-view__paragraph{margin:0;color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.markdown-view__paragraph code,.markdown-view__list code{padding:.1rem .25rem;color:var(--color-teal);background:var(--color-teal-soft);border:1px solid rgba(88,213,197,.16);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.88em}.markdown-view__list{display:grid;gap:var(--space-2);margin:0;padding-inline-start:var(--space-5);color:var(--color-text-secondary)}.markdown-view__list li::marker{color:var(--color-teal);font-weight:800}.markdown-view__table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.markdown-view__table{width:100%;min-width:34rem;border-collapse:collapse;background:var(--color-surface-raised);font-size:var(--text-sm)}.markdown-view__table th,.markdown-view__table td{padding:var(--space-3);border-block-end:1px solid var(--color-border);text-align:start;vertical-align:top}.markdown-view__table th{color:var(--color-text-primary);background:var(--color-surface-muted);font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase}.markdown-view__code{overflow:auto;margin:0;padding:var(--space-4);color:var(--color-text-primary);background:var(--color-rail);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-sm)}}@layer states{.search-box__control:focus-within{border-color:var(--color-accent);box-shadow:inset 0 1px 0 var(--color-catchlight),0 0 0 3px var(--color-accent-soft)}.lesson-row.is-active{color:var(--color-text-primary);background:var(--color-accent-soft);border-color:#3d8bfd75}.action-button.is-active{color:var(--color-text-primary);background:var(--color-accent-soft);border-color:#3d8bfd61}.action-button--primary.is-active{color:#07100c;background:var(--color-teal);border-color:var(--color-teal)}.lesson-row:focus-visible,.nav-button:focus-visible,.action-button:focus-visible,.mobile-topbar__button:focus-visible,.mobile-outline__close:focus-visible,.mobile-outline__scrim:focus-visible,.search-box__control input:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:2px}.nav-button:not(:disabled):active,.action-button:active,.mobile-topbar__button:active,.mobile-outline__close:active,.lesson-row:active{transform:scale(.98)}}@media(hover:hover)and (pointer:fine){.lesson-row:hover{color:var(--color-text-primary);background:#ffffff0d;border-color:var(--color-border)}.nav-button:not(:disabled):hover,.action-button:hover,.mobile-topbar__button:hover,.mobile-outline__close:hover{border-color:var(--color-accent);transform:translateY(-1px)}}@media(max-width:980px){.academy-shell{display:block;min-height:100dvh}.academy-sidebar{display:none}.mobile-topbar{position:sticky;inset-block-start:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:4.45rem;padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-3)}.academy-main{height:auto;min-height:100dvh;overflow:visible;padding:var(--space-4) var(--space-4) 0}.lesson-reader{width:100%;padding-block-end:calc(8.75rem + env(safe-area-inset-bottom,0px))}.lesson-reader__chrome{position:fixed;inset-block-start:auto;inset-block-end:0;inset-inline:0;z-index:45;grid-template-columns:1fr;gap:.55rem;margin:0;padding:.7rem max(var(--space-3),env(safe-area-inset-left,0px)) calc(.7rem + env(safe-area-inset-bottom,0px)) max(var(--space-3),env(safe-area-inset-right,0px));background:#151719fa;border-inline:0;border-block-end:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.lesson-pager{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nav-button{min-height:2.55rem;justify-content:center;padding:var(--space-2);text-align:center}.nav-button--next{justify-content:center;text-align:center}.nav-button span,.action-button{font-size:var(--text-sm)}.nav-button small{display:none}.lesson-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.lesson-actions .action-button{width:100%;min-height:2.55rem;padding-inline:.65rem}.lesson-reader__header{padding-block:var(--space-4) var(--space-5)}.lesson-reader__title{max-width:100%;font-size:var(--text-2xl)}.lesson-reader__outcome{font-size:var(--text-base)}.lesson-reader__footer{display:none}.markdown-view__heading{scroll-margin-top:5rem}}@media(max-width:620px){.academy-main{padding:var(--space-3)}.mobile-topbar{padding-inline:var(--space-3)}.mobile-topbar__copy small,.mobile-topbar__button span{display:none}.academy-brand h1,.academy-brand h2{font-size:1.55rem}.lesson-reader{padding-block-end:calc(8.5rem + env(safe-area-inset-bottom,0px))}.lesson-reader__title{font-size:1.9rem}.patch-note,.markdown-view__code{padding:var(--space-3)}.markdown-view__table-wrap{margin-inline:calc(-1 * var(--space-3));border-inline:0;border-radius:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
