:root{--madar-space-900:#0B1030;--madar-space-800:#141A3C;--madar-space-700:#1B2147;--madar-space-600:#232A54;--madar-space-500:#2E3766;--madar-indigo-300:#A5B4FC;--madar-indigo-400:#818CF8;--madar-indigo-500:#6366F1;--madar-indigo-600:#4F46E5;--madar-indigo-700:#4338CA;--madar-indigo-50:#EEF2FF;--madar-indigo-950:#1E1B4B;--madar-cyan-300:#67E8F9;--madar-cyan-400:#22D3EE;--madar-cyan-600:#0891B2;--madar-cyan-50:#ECFEFF;--madar-cyan-950:#083344;--madar-orange-300:#FDBA74;--madar-orange-500:#F97316;--madar-orange-700:#C2410C;--madar-orange-50:#FFF7ED;--madar-orange-950:#431407;--madar-cloud:#F8FAFC;--madar-ink:#0F172A;--madar-slate-100:#F1F5F9;--madar-slate-200:#E2E8F0;--madar-slate-300:#CBD5E1;--madar-slate-400:#94A3B8;--madar-slate-500:#64748B;--madar-slate-600:#475569;--madar-white:#FFFFFF;--madar-green-600:#15803D;--madar-green-300:#86EFAC;--madar-green-50:#F0FDF4;--madar-green-950:#052E16;--madar-amber-600:#B45309;--madar-amber-300:#FCD34D;--madar-amber-50:#FFFBEB;--madar-amber-950:#451A03;--madar-red-600:#DC2626;--madar-red-700:#B91C1C;--madar-red-300:#FCA5A5;--madar-red-50:#FEF2F2;--madar-red-950:#450A0A;--color-bg-base:var(--madar-cloud);--color-surface:var(--madar-white);--color-surface-sunk:var(--madar-slate-100);--color-text-primary:var(--madar-ink);--color-text-secondary:var(--madar-slate-600);--color-text-tertiary:var(--madar-slate-500);--color-border:var(--madar-slate-200);--color-border-strong:var(--madar-slate-300);--color-interactive:var(--madar-indigo-600);--color-interactive-hover:var(--madar-indigo-700);--color-on-interactive:var(--madar-white);--color-interactive-soft:var(--madar-indigo-50);--color-accent:var(--madar-cyan-600);--color-attention:var(--madar-orange-700);--color-success:var(--madar-green-600);--color-success-soft:var(--madar-green-50);--color-warning:var(--madar-amber-600);--color-warning-soft:var(--madar-amber-50);--color-danger:var(--madar-red-700);--color-danger-soft:var(--madar-red-50);--color-focus:var(--madar-indigo-600);--paper:var(--color-bg-base);--surface:var(--color-surface);--well:var(--color-surface-sunk);--ink:var(--color-text-primary);--ink-2:var(--color-text-secondary);--ink-3:var(--color-text-tertiary);--line:var(--color-border);--line-strong:var(--color-border-strong);--accent:var(--color-interactive);--accent-ink:var(--color-on-interactive);--accent-soft:var(--color-interactive-soft);--bronze:var(--color-accent);--ok:var(--color-success);--ok-soft:var(--color-success-soft);--warn:var(--color-warning);--warn-soft:var(--color-warning-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--font-display:system-ui,sans-serif;--font-prose:system-ui,sans-serif;--font-ui:system-ui,sans-serif;--text-2xs:0.7rem;--text-xs:0.78rem;--text-sm:0.85rem;--text-md:0.92rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.7rem;--text-3xl:2.2rem;--text-prose:1.0625rem;--display-sm:1.5rem;--display-md:1.9rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--radius:var(--radius-sm);--gutter:clamp(20px,4.5vw,64px);--page-max:74rem;--page-max-wide:96rem;--topbar-h:58px;--shadow-card:0 1px 2px rgb(15 23 42/0.04),0 1px 3px rgb(15 23 42/0.06);--shadow-popover:0 4px 12px rgb(15 23 42/0.08),0 2px 4px rgb(15 23 42/0.04);--shadow-modal:0 16px 48px rgb(15 23 42/0.16);--ease-standard:cubic-bezier(0.2,0,0,1);--ease-orbital:cubic-bezier(0.34,1.2,0.34,1);--dur-micro:120ms;--dur-standard:200ms;--dur-entrance:320ms}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-base:var(--madar-space-800);--color-surface:var(--madar-space-700);--color-surface-sunk:var(--madar-space-900);--color-text-primary:var(--madar-cloud);--color-text-secondary:var(--madar-slate-300);--color-text-tertiary:var(--madar-slate-400);--color-border:var(--madar-space-500);--color-border-strong:#3D4680;--color-interactive:var(--madar-indigo-400);--color-interactive-hover:var(--madar-indigo-300);--color-on-interactive:var(--madar-space-900);--color-interactive-soft:var(--madar-indigo-950);--color-accent:var(--madar-cyan-400);--color-attention:var(--madar-orange-300);--color-success:var(--madar-green-300);--color-success-soft:var(--madar-green-950);--color-warning:var(--madar-amber-300);--color-warning-soft:var(--madar-amber-950);--color-danger:var(--madar-red-300);--color-danger-soft:var(--madar-red-950);--color-focus:var(--madar-indigo-300);--shadow-card:0 1px 2px rgb(0 0 0/0.3);--shadow-popover:0 4px 12px rgb(0 0 0/0.4);--shadow-modal:0 16px 48px rgb(0 0 0/0.5)}}:root[data-theme=dark]{--color-bg-base:var(--madar-space-800);--color-surface:var(--madar-space-700);--color-surface-sunk:var(--madar-space-900);--color-text-primary:var(--madar-cloud);--color-text-secondary:var(--madar-slate-300);--color-text-tertiary:var(--madar-slate-400);--color-border:var(--madar-space-500);--color-border-strong:#3D4680;--color-interactive:var(--madar-indigo-400);--color-interactive-hover:var(--madar-indigo-300);--color-on-interactive:var(--madar-space-900);--color-interactive-soft:var(--madar-indigo-950);--color-accent:var(--madar-cyan-400);--color-attention:var(--madar-orange-300);--color-success:var(--madar-green-300);--color-success-soft:var(--madar-green-950);--color-warning:var(--madar-amber-300);--color-warning-soft:var(--madar-amber-950);--color-danger:var(--madar-red-300);--color-danger-soft:var(--madar-red-950);--color-focus:var(--madar-indigo-300);--shadow-card:0 1px 2px rgb(0 0 0/0.3);--shadow-popover:0 4px 12px rgb(0 0 0/0.4);--shadow-modal:0 16px 48px rgb(0 0 0/0.5)}:root{color-scheme:light dark}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3{font-family:var(--font-display);font-weight:560;line-height:1.12;margin:0 0 .45em;text-wrap:balance}h1{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.022em}h2{font-size:clamp(1.4rem,2.3vw,1.85rem);letter-spacing:-.016em}h3{font-size:var(--text-lg);letter-spacing:-.008em}p{margin:0 0 12px}.prose{font-family:var(--font-prose);font-size:var(--text-prose);line-height:1.6;max-width:68ch}.prose p{margin:0 0 1em}.eyebrow{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);display:block;margin-bottom:10px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:var(--text-sm)}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}hr.rule{border:0;border-top:1px solid var(--line);margin:28px 0}.band{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}.band.tight{max-width:720px;padding-inline:20px}.band.full{max-width:none}.topbar{display:flex;align-items:center;gap:24px;min-height:var(--topbar-h);padding:8px var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);position:-webkit-sticky;position:sticky;top:0;z-index:40;padding-top:max(8px,env(safe-area-inset-top))}.topbar .brand{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--ink);letter-spacing:.01em}.topbar .brand:hover{text-decoration:none}.topbar nav{display:flex;gap:20px;align-items:center;-webkit-margin-start:auto;margin-inline-start:auto;flex-wrap:wrap}.topbar nav a{color:var(--ink-2);font-size:var(--text-md);font-weight:500}.topbar nav a:hover{color:var(--ink);text-decoration:none}.topbar .who{color:var(--ink-3);font-size:var(--text-sm)}@media (max-width:48rem){.topbar{gap:10px}.topbar nav{gap:12px;flex-wrap:nowrap}.topbar .who{display:none}}.studio-page{min-height:calc(100vh - var(--topbar-h) * 2)}.studio-page>.content{padding:28px var(--gutter) 90px;min-width:0}.studio-page>.content>*{max-width:var(--page-max-wide);margin-inline:auto}.studio-page>.content.is-wide>*{max-width:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5) var(--space-5)}.card.flush{padding:0;overflow:hidden}.grid{display:grid;grid-gap:18px;gap:18px}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.row{gap:12px}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:14px}.stack{display:flex;flex-direction:column;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:10px 18px;min-height:44px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .12s ease,color .12s ease}.btn:hover{text-decoration:none}.btn.primary,.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.1)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--well);border-color:var(--ink-3);color:var(--ink)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--line);font-weight:500}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.small{min-height:34px;padding:5px 12px;font-size:var(--text-xs)}.btn.quiet{background:transparent;border-color:transparent;color:var(--accent)}.btn.quiet:hover{background:var(--accent-soft)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}label{display:block;font-size:var(--text-2xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 6px}input:not([type]),input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--text-md);font-family:var(--font-ui);background:var(--surface);color:var(--ink)}textarea{min-height:130px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.inline-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.inline-form label{margin:0 0 6px}.inline-form>div{flex:1 1;min-width:150px}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:20px 18px;gap:20px 18px}.form-grid .field{grid-column:span 12;min-width:0}@media (min-width:720px){.form-grid .field.span-3{grid-column:span 3}.form-grid .field.span-4{grid-column:span 4}.form-grid .field.span-6{grid-column:span 6}.form-grid .field.span-8{grid-column:span 8}.form-grid .field.span-9{grid-column:span 9}}.field>label{margin:0 0 7px}.field-hint{font-size:var(--text-xs);line-height:1.45;color:var(--ink-3);margin:7px 0 0}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-padding-end:38px;padding-inline-end:38px;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%238a8275' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.input-money{position:relative;display:block}.input-money>.mark{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:var(--text-md);pointer-events:none}.input-money input{-webkit-padding-start:30px;padding-inline-start:30px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.form-actions .note{color:var(--ink-3);font-size:var(--text-sm)}.pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink-2);white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.ok,.pill.warn{border-color:currentColor}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.accent{background:var(--accent-soft);color:var(--accent);border-color:currentColor}.alert{border:1px solid var(--warn);border-inline-start-width:3px;border-radius:var(--radius);background:var(--warn-soft);color:var(--ink);padding:12px 16px;margin-bottom:18px;font-size:var(--text-md)}.alert.ok{border-color:var(--ok);background:var(--ok-soft)}table.list{border-collapse:collapse;width:100%;font-size:var(--text-sm)}table.list th{text-align:start;font-size:var(--text-2xs);font-weight:650;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line-strong)}table.list td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}table.list td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.progressbar{height:4px;background:var(--line);border-radius:100px;overflow:hidden}.progressbar>div{height:100%;background:var(--accent);border-radius:100px;transition:width .3s ease}.player{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);min-height:calc(100vh - var(--topbar-h));max-width:var(--page-max-wide);margin-inline:auto}.player .outline{-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:24px 20px 60px;position:-webkit-sticky;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;background:var(--paper)}.player .lesson-stage{padding:40px clamp(24px,6vw,96px) 120px;min-width:0}.lesson-stage .lesson-body{max-width:74ch}.outline .module{margin-bottom:4px}.outline .module-title{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:8px 10px 8px 0;font-size:var(--text-2xs);font-weight:650;text-transform:uppercase;letter-spacing:.12em;color:var(--bronze);border-radius:var(--radius)}.outline .module-title::-webkit-details-marker{display:none}.outline .module-title:hover{color:var(--ink)}.outline .module-name{flex:1 1;min-width:0}.outline .module-meta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink-3);flex-shrink:0}.outline .module-caret{width:0;height:0;flex-shrink:0;border-block:4px solid transparent;-webkit-border-start:5px solid currentColor;border-inline-start:5px solid currentColor;transition:transform .12s ease}.outline .module[open]>.module-title>.module-caret{transform:rotate(90deg)}.outline .lockmark{font-size:var(--text-2xs);opacity:.55;flex-shrink:0}.outline a.blocklink,.outline span.blocklink{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;min-height:40px;border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-2)}.outline .blocklink-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.outline .blocklink-meta{font-size:var(--text-2xs);color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.outline a.blocklink:hover{background:var(--well);color:var(--ink);text-decoration:none}.outline .blocklink.is-current{background:var(--well);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:550}.outline .blocklink.locked{color:var(--ink-3)}.outline .dot{width:7px;height:7px;margin-top:6px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;flex-shrink:0}.outline .dot.done{background:var(--ok);border-color:var(--ok)}@media (max-width:880px){.player{grid-template-columns:1fr}.player .outline{position:static;height:auto;max-height:42vh;-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid var(--line)}.player .lesson-stage{padding:24px 20px 100px}}.quiz-option{gap:12px;border:1px solid var(--line-strong);padding:13px 15px;margin-bottom:10px;font-family:var(--font-prose);font-size:var(--text-base)}.quiz-option:hover{border-color:var(--accent)}.quiz-option input{margin-top:4px;accent-color:var(--accent)}.flashcard{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:56px 32px;text-align:center;font-family:var(--font-prose);font-size:var(--text-xl);min-height:190px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:16px}.flashcard .hint{display:block;font-family:var(--font-ui);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:14px}.landing-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px)}@media (max-width:880px){.landing-cols{grid-template-columns:1fr}.landing-cols aside .card{position:static!important}}.hero{padding:clamp(48px,9vh,110px) var(--gutter) clamp(40px,7vh,80px);border-bottom:1px solid var(--line)}.hero h1{max-width:22ch}.hero .lede{font-family:var(--font-prose);font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;color:var(--ink-2);max-width:58ch}.certificate{border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:4px;border-radius:2px;background:var(--surface);padding:clamp(40px,7vw,72px) clamp(28px,6vw,64px);text-align:center;max-width:680px;margin:48px auto}.certificate .title{font-size:var(--text-2xs);letter-spacing:.3em;text-transform:uppercase;color:var(--bronze)}.certificate .name{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.8rem);font-weight:600;margin:18px 0 6px}.certificate .course{font-family:var(--font-prose);font-size:var(--text-xl);margin-top:14px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.steps-wrap{margin-bottom:30px}.steps-wrap .steps{margin-bottom:0}.steps-progress{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.steps-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text-secondary)}.steps-progress b{color:var(--color-text-primary);font-weight:600}.steps-num:empty{opacity:.5}.steps{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:0;gap:0;margin:0 0 30px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.steps-item>a,.steps-item>span{display:flex;align-items:center;gap:11px;padding:14px 16px;min-height:62px;color:var(--ink-3);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);height:100%}.steps-item:last-child>a,.steps-item:last-child>span{-webkit-border-end:0;border-inline-end:0}.steps-item>a:hover{background:var(--well);text-decoration:none}.steps-num{flex-shrink:0;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);font-size:var(--text-xs);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.steps-text{display:flex;flex-direction:column;min-width:0}.steps-label{font-size:var(--text-sm);font-weight:600;line-height:1.25}.steps-hint{font-size:var(--text-2xs);color:var(--ink-3);line-height:1.3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps-item.done>a,.steps-item.done>span{color:var(--ink-2)}.steps-item.done .steps-num{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.steps-item.current>a,.steps-item.current>span{color:var(--ink);background:var(--well);box-shadow:inset 0 -2px 0 var(--accent)}.steps-item.current .steps-num{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steps-item.current .steps-label{color:var(--ink)}@media (max-width:820px){.steps{grid-auto-flow:row;grid-auto-columns:auto}.steps-item>a,.steps-item>span{-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid var(--line);min-height:52px}.steps-item:last-child>a,.steps-item:last-child>span{border-bottom:0}.steps-item.current>a,.steps-item.current>span{box-shadow:inset 3px 0 0 var(--accent)}}.rail-sep{display:block;height:1px;background:var(--line);margin:10px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.toolbar form{flex:1 1;min-width:220px;max-width:420px}.toolbar .count{color:var(--ink-3);font-size:var(--text-sm);white-space:nowrap}table.list tr.rowlink:hover td{background:var(--well)}table.list td a.rowtitle{color:var(--ink);font-weight:600}.segmented{display:inline-flex;margin-bottom:16px;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.segmented button{padding:8px 16px;font-size:var(--text-sm);font-family:var(--font-ui);background:var(--surface);color:var(--ink-2);border:0;cursor:pointer}.segmented button+button{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.qcard{padding:16px 18px;margin-bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.optrow{display:flex;align-items:center;gap:10px;margin-bottom:8px}.optrow input[type=checkbox]{width:auto;min-height:auto;flex:none;accent-color:var(--accent)}.optrow input[type=text]{flex:1 1}.optrow .btn.quiet{flex:none;padding:4px 9px;font-size:var(--text-base);line-height:1}.cardrow{display:grid;grid-template-columns:1fr 1fr 40px;grid-gap:10px;gap:10px;align-items:center;margin-bottom:8px}.cardrow.head{margin-bottom:4px}.cardrow .btn.quiet{padding:4px 9px;font-size:var(--text-base);line-height:1;justify-self:start}@media (max-width:640px){.cardrow{grid-template-columns:1fr}.cardrow.head{display:none}}.academy-bar{border-bottom:2px solid var(--accent)}.academy-bar nav.academy-nav{display:flex;align-items:center;gap:20px;-webkit-margin-start:auto;margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}.academy-links{gap:18px;min-width:0}.academy-links,.academy-tools{display:flex;align-items:center}.academy-tools{gap:14px}@media (max-width:64rem){.academy-bar{flex-wrap:wrap;row-gap:8px}.academy-bar nav.academy-nav{width:100%;-webkit-margin-start:0;margin-inline-start:0;justify-content:space-between;gap:12px}.academy-links{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.academy-links::-webkit-scrollbar{display:none}.academy-links a{white-space:nowrap}.academy-name{white-space:normal}}.academy-brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);min-width:0}.academy-brand,.academy-brand:hover{text-decoration:none}.academy-logo{height:30px;width:auto;max-width:148px;object-fit:contain;display:block}.academy-mark{display:grid;place-items:center;width:30px;height:30px;flex:none;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);line-height:1}.academy-mark,.academy-name{font-family:var(--font-display);font-size:var(--text-base)}.academy-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:560px){.academy-name{display:none}}.brand-preview{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.brand-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:2px solid var(--accent)}.brand-preview-body{padding:20px 16px 22px;background:var(--well)}.swatch{width:26px;height:26px;padding:0;cursor:pointer;border:1px solid var(--line-strong);border-radius:50%}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink-3)}.swatch:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.teacher-head{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.teacher-photo{width:96px;height:96px;flex:none;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.teacher-photo.placeholder{display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-size:var(--text-3xl);border-color:transparent}.profile-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.credentials{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.credentials li{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);-webkit-border-start:3px solid var(--accent);border-inline-start:3px solid var(--accent)}.credentials li:last-child{border-bottom:0}.cred-subject{font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.cred-meta{margin:7px 0 0;font-size:var(--text-md);color:var(--ink-2)}.cred-meta .pill{-webkit-margin-end:8px;margin-inline-end:8px}.cred-ref{margin:8px 0 0;word-break:break-all}@media (max-width:560px){.teacher-photo{width:72px;height:72px}}.tutor{margin-top:34px;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column}.tutor-head{display:flex;align-items:center;gap:11px;padding:13px 18px;background:var(--well);border-bottom:1px solid var(--line)}.tutor-head strong{display:block;font-size:var(--text-md)}.tutor-head em{display:block;font-style:normal;font-size:var(--text-2xs);color:var(--ink-3)}.tutor-badge{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:var(--text-sm)}.tutor-log{display:flex;flex-direction:column;gap:10px;padding:18px;max-height:420px;overflow-y:auto}.tutor-msg{margin:0;padding:10px 14px;max-width:82%;border-radius:var(--radius);font-size:var(--text-md);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.tutor-msg.model{background:var(--well);color:var(--ink);-webkit-border-start:2px solid var(--accent);border-inline-start:2px solid var(--accent);align-self:start}.tutor-msg.user{background:var(--accent);color:var(--accent-ink);align-self:end}.tutor-msg.thinking{color:var(--ink-3);font-style:italic}.tutor-compose{display:flex;gap:10px;padding:0 18px 18px;align-items:flex-end}.tutor-compose textarea{flex:1 1;min-height:0;resize:vertical}.tutor-compose .btn{flex:none}@media (max-width:560px){.tutor-msg{max-width:92%}}.plain-list{margin:10px 0 14px;-webkit-padding-start:1.15em;padding-inline-start:1.15em;display:flex;flex-direction:column;gap:6px}.plain-list li{font-size:var(--text-md);color:var(--ink-2)}.transcript{margin-top:20px}.transcript-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.transcript-cues{list-style:none;margin:0;padding:14px 16px;max-height:380px;overflow-y:auto;background:var(--well);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:9px}.transcript-cues li{display:grid;grid-template-columns:3.6rem 1fr;grid-gap:12px;gap:12px;align-items:baseline}.cue-time{color:var(--ink-3);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cue-text{font-size:var(--text-md);line-height:1.6;color:var(--ink-2)}.warn-text{color:var(--warn)}.draft-lessons{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.draft-lessons li{display:grid;grid-template-columns:1fr 34px;grid-gap:8px;gap:8px;align-items:center}.draft-lessons li .field-hint{grid-column:1/-1;margin:0}.chapter-rows{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.chapter-rows li{display:grid;grid-template-columns:5.5rem 1fr 34px;grid-gap:8px;gap:8px;align-items:center}.chapter-time{text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chapters{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.chapters a{display:grid;grid-template-columns:4.4rem 1fr;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 12px;border-radius:var(--radius);color:var(--ink-2);text-decoration:none;font-size:var(--text-md)}.chapters a:hover{background:var(--well);color:var(--ink);text-decoration:none}.chapter-at{color:var(--accent);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draft-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px;padding:11px 14px;background:var(--accent-soft);border-radius:var(--radius)}.source-box{padding:13px 15px;margin-bottom:14px;background:var(--well);border:1px solid var(--line);border-radius:var(--radius)}.source-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}.source-list li{display:grid;grid-template-columns:1fr auto 30px;grid-gap:10px;gap:10px;align-items:center;font-size:var(--text-sm);color:var(--ink-2)}.discussion{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}.thread-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.thread-list>li{border-bottom:1px solid var(--line);overflow:hidden}.thread-list>li:last-child{border-bottom:0}.thread-list>li.pinned{border-color:var(--line-strong)}.thread-head{width:100%;text-align:start;cursor:pointer;background:transparent;border:0;padding:13px 16px;display:flex;flex-direction:column;gap:5px;font-family:var(--font-ui)}.thread-head:hover{background:var(--well)}.thread-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--text-md);font-weight:600;color:var(--ink)}.thread-meta{display:block}.post-tools,.thread-tools{display:flex;gap:6px;padding:0 16px 10px}.post-tools{padding:6px 0 0}.thread-open{padding:4px 16px 16px;border-top:1px solid var(--line)}.post{padding:12px 0;border-bottom:1px solid var(--line);position:relative}.post.answer,.post:last-of-type{border-bottom:0}.post.answer{background:var(--ok-soft);border-radius:var(--radius);padding-inline:14px;margin:8px 0}.answer-flag{display:inline-block;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin-bottom:6px}.post-by{margin:0 0 5px;font-size:var(--text-xs);color:var(--ink-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.post-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-md);line-height:1.65}.reply-box{display:flex;gap:9px;align-items:flex-end;margin-top:12px}.reply-box textarea{flex:1 1;min-height:0;resize:vertical}.reply-box .btn{flex:none}.btn.google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);font-weight:500}.btn.google:hover{background:var(--well);border-color:var(--ink-3);color:var(--ink)}.auth-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em}.auth-or:after,.auth-or:before{content:"";flex:1 1;height:1px;background:var(--line)}.stat-row{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat-row li{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stat-n{font-size:var(--display-sm);font-weight:600;color:var(--ink);line-height:1.1}.stat-l{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3)}.home-search{margin-bottom:26px;max-width:560px}.home-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-gap:30px;gap:30px}.home-h{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:0 0 12px;font-family:var(--font-ui);font-weight:650}.lcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:14px;gap:14px}.lcard{display:flex;flex-direction:column;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.lcard-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lcard h3{font-size:var(--text-base);line-height:1.3}.lcard h3 a{color:var(--ink);text-decoration:none}.lcard h3 a:hover{color:var(--accent)}.lcard-bar{display:flex;align-items:center;gap:10px;margin-top:12px}.lcard-bar .progressbar{flex:1 1;position:relative}.lcard-meta{margin:7px 0 0;font-size:var(--text-xs);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:5px}.pace-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink-3);opacity:.65;border-radius:1px}.due-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.due-list li{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);-webkit-border-start:3px solid var(--line-strong);border-inline-start:3px solid var(--line-strong)}.due-list li:last-child{border-bottom:0}.due-list li.overdue{border-inline-start-color:var(--warn);background:var(--warn-soft)}.due-list li.due-soon{border-inline-start-color:var(--accent)}.due-module{font-size:var(--text-md);font-weight:600}.due-meta{margin:4px 0 0;font-size:var(--text-xs);color:var(--ink-3)}.due-meta a{color:var(--ink-2)}.done-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.done-list li{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-md)}.done-list li:last-child{border-bottom:0}.done-list li a{color:var(--ink)}@media (max-width:900px){.home-grid{grid-template-columns:1fr;gap:26px}}@media (max-width:560px){.stat-row{grid-template-columns:repeat(2,1fr)}}.flow-bar{position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 12px;margin-bottom:8px;background:linear-gradient(var(--paper) 78%,transparent)}.flow-bar-where{display:flex;flex-direction:column;min-width:0}.flow-bar-mod{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-bar-progress{display:flex;align-items:center;gap:10px;flex:0 0 190px}.flow-bar-progress .progressbar{flex:1 1}.flow-block{padding:30px 0 34px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--topbar-h) + 56px)}.flow-block:first-of-type{border-top:0;padding-top:6px}.flow-block.is-done>.flow-head h2{color:var(--ink-2)}.flow-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.flow-head h2{margin:2px 0 14px;font-size:clamp(1.25rem,2.2vw,1.6rem)}.video-frame{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.flow-end,.flow-gate{margin-top:10px;padding:22px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}.lesson-qs{margin-top:20px}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.flip{display:flex;flex-direction:column}.flip-face{flex:1 1;width:100%;min-height:130px;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px;text-align:start;cursor:pointer;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}.flip-face:hover{border-color:var(--line-strong)}.flip.revealed .flip-face{border-color:var(--accent)}.flip.rated .flip-face{background:var(--ok-soft);border-color:var(--ok);cursor:default}.flip-front{font-weight:600;line-height:1.35}.flip-back{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5;padding-top:8px;border-top:1px solid var(--line)}.flip-hint{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.flip-rate{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.flip-rate .btn{flex:1 1;padding-inline:8px}.flip-done{margin-top:8px;font-size:var(--text-xs);color:var(--ok)}@media (max-width:700px){.flow-bar{flex-direction:column;align-items:stretch;gap:8px}.flow-bar-progress{flex:1 1}.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 4px;padding:14px 16px;background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius)}.verify-title{margin:0;font-weight:600;font-size:var(--text-md)}.verify-body{margin:4px 0 0;font-size:var(--text-sm);color:var(--ink-2);max-width:68ch}.access-modes{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.access-mode{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-size:var(--text-md)}.access-mode:hover{border-color:var(--line-strong)}.access-mode.on{border-color:var(--accent);background:var(--accent-soft)}.access-mode input{margin-top:3px}.stack-24{gap:30px}.applicant-list,.stack-24{display:flex;flex-direction:column}.applicant-list{list-style:none;margin:0;padding:0}.applicant-list li{border-bottom:1px solid var(--line);-webkit-border-start:3px solid var(--accent);border-inline-start:3px solid var(--accent);padding:var(--space-4)}.applicant-list li:last-child{border-bottom:0}.applicant-list li.picked{background:var(--accent-soft);border-color:var(--accent)}.applicant-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;cursor:pointer}.applicant-head>span:nth-child(3){-webkit-margin-start:auto;margin-inline-start:auto}.applicant-msg{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:var(--text-md);color:var(--ink-2);max-width:70ch;white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.quiz-bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.quiz-score{font-size:var(--text-base);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-pips{display:flex;gap:4px;margin-bottom:18px}.quiz-pips .pip{height:4px;flex:1 1;border-radius:2px;background:var(--line);transition:background .16s ease}.quiz-pips .pip.right{background:var(--ok)}.quiz-pips .pip.wrong{background:var(--danger)}.quiz-pips .pip.here{outline:1px solid var(--ink-3);outline-offset:1px}.quiz-prompt{font-family:var(--font-prose);font-size:var(--text-lg);line-height:1.5;margin:0 0 12px;max-width:62ch}.quiz-options{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:8px}.quiz-option{width:100%;display:flex;align-items:flex-start;gap:11px;text-align:start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-md);line-height:1.45}.quiz-option:hover:not(:disabled){border-color:var(--line-strong)}.quiz-option:disabled{cursor:default}.quiz-option .box{flex:none;width:17px;height:17px;margin-top:1px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:var(--text-2xs);color:var(--accent)}.quiz-option .box.multi{border-radius:2px}.quiz-option.chosen{background:var(--accent-soft)}.quiz-option.chosen,.quiz-option.chosen .box{border-color:var(--accent)}.quiz-option.right{border-color:var(--ok);background:var(--ok-soft)}.quiz-option.wrong{border-color:var(--danger);background:var(--danger-soft)}.quiz-review{margin-top:20px}.quiz-review-q{-webkit-border-start:3px solid var(--line-strong);border-inline-start:3px solid var(--line-strong);padding:2px 0 2px 14px;margin-bottom:16px}.quiz-review-q.right{border-inline-start-color:var(--ok)}.quiz-review-q.wrong{border-inline-start-color:var(--danger)}.quiz-review-prompt{margin:0;font-weight:600;font-size:var(--text-md)}.quiz-review-prompt .mark{color:var(--ink-3)}.quiz-review-q.right .mark{color:var(--ok)}.quiz-review-q.wrong .mark{color:var(--danger)}.quiz-review-answer{margin:5px 0 0;font-size:var(--text-md);color:var(--ink-2)}.quiz-review-why{margin:4px 0 0;font-size:var(--text-sm);color:var(--ink-3);max-width:68ch}.revisit{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);-webkit-border-start:3px solid var(--color-accent);border-inline-start:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface)}.revisit-head{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.revisit ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.revisit a{display:flex;align-items:baseline;gap:var(--space-3);font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-text-primary);text-decoration:none}.revisit a:hover{color:var(--color-interactive)}.revisit-type{flex:none;min-width:4.5rem;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.field-hint.hint-warn{color:var(--color-warning)}.item-quiz-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-family:var(--font-ui);font-weight:600;font-size:var(--text-md)}.list tr.row-flag{background:var(--color-warning-soft)}.list tr.row-flag td:first-child{box-shadow:inset 3px 0 0 var(--color-warning)}.streak{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-4) 0 var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.streak.at-risk{border-color:var(--color-attention)}.streak-figure{display:flex;align-items:baseline;gap:var(--space-2)}.streak-n{font-family:var(--font-display);font-size:var(--display-md);font-weight:600;line-height:1;color:var(--color-interactive);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.streak-unit{font-size:var(--text-xs);color:var(--color-text-tertiary)}.streak-body{flex:1 1;min-width:14rem}.streak-title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--text-md)}.streak-note{margin:3px 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);max-width:62ch}.streak-off .streak-title{font-weight:600}.auth{min-height:82vh;display:grid;align-items:center}.auth-card,.auth-foot{margin-top:var(--space-4)}.auth-crossdoor{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.auth-crossdoor a{color:var(--color-text-tertiary)}.auth-crossdoor a:hover{color:var(--color-interactive)}.auth-learn .auth-inner{width:min(30rem,100%);margin-inline:auto;padding:var(--space-7) var(--gutter)}.auth-learn h1{font-size:clamp(1.7rem,4vw,2.3rem);margin:var(--space-2) 0 0}.auth-lede{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--text-base);max-width:40ch}.auth-studio .auth-split{width:min(64rem,100%);margin-inline:auto;padding:var(--space-7) var(--gutter);display:grid;grid-template-columns:1.1fr .9fr;grid-gap:var(--space-8);gap:var(--space-8);align-items:center}.auth-pitch h1{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.12;margin:var(--space-2) 0 var(--space-5);max-width:16ch}.auth-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.auth-points li{position:relative;-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-md)}.auth-points li:before{content:"";position:absolute;inset-inline-start:0;top:.6em;width:10px;height:2px;background:var(--color-accent)}.auth-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.auth-panel h2{margin:0 0 var(--space-4);font-size:var(--text-lg)}.auth-admin{background:var(--madar-space-900);color:var(--madar-cloud);min-height:100vh}.auth-console{width:min(24rem,100%);margin-inline:auto;padding:var(--space-7) var(--gutter)}.console-mark{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:.32em;color:var(--madar-indigo-400)}.console-label{margin:var(--space-2) 0 var(--space-6);font-size:var(--text-xs);color:var(--madar-slate-400)}.auth-admin label,.console-label{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.auth-admin label{font-size:var(--text-2xs);color:var(--madar-slate-300)}.auth-admin input{background:var(--madar-space-800);border-color:var(--madar-space-500);color:var(--madar-cloud)}.auth-admin input:focus{border-color:var(--madar-indigo-400)}.auth-admin .btn.primary{background:var(--madar-indigo-500);border-color:var(--madar-indigo-500);color:var(--madar-white)}.auth-admin .btn.primary:hover{background:var(--madar-indigo-400);border-color:var(--madar-indigo-400)}.auth-admin a{color:var(--madar-indigo-300)}.auth-admin .auth-or,.console-note{color:var(--madar-slate-400)}.console-note{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--madar-space-500);font-size:var(--text-xs);line-height:1.6}@media (max-width:860px){.auth-studio .auth-split{grid-template-columns:1fr;gap:var(--space-6)}.auth-pitch h1{max-width:none}}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.team-person{border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.team-person:last-child{border-bottom:0}.team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.team-name{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--text-base)}.team-email{margin:2px 0 0;color:var(--color-text-tertiary)}.team-blurb,.team-email{font-size:var(--text-sm)}.team-blurb{margin:var(--space-3) 0 0;color:var(--color-text-secondary);max-width:62ch}.team-scopes{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.scope-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.scope-chips li{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 6px 4px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-sm)}.scope-chips button{border:0;background:transparent;cursor:pointer;color:var(--color-text-tertiary);font-size:var(--text-base);line-height:1;padding:0 4px}.scope-chips button:hover{color:var(--color-danger)}.scope-add{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.scope-add select{min-width:12rem}.settings-grid{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.settings-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-decoration:none;color:inherit}.settings-card:hover{border-color:var(--color-interactive)}.settings-title{font-family:var(--font-ui);font-weight:600;font-size:var(--text-base)}.settings-note{font-size:var(--text-sm);color:var(--color-text-secondary)}.landing{--lead-gap:clamp(32px,5vw,64px)}.lead{max-width:var(--page-max);margin-inline:auto;padding:clamp(40px,8vh,88px) var(--gutter) clamp(32px,6vh,64px);display:grid;grid-template-columns:1.05fr .95fr;grid-gap:var(--lead-gap);gap:var(--lead-gap);align-items:center}.lead-text h1{font-size:clamp(2.3rem,6vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:var(--space-3) 0 0;max-width:12ch}.lead-text h1 em{font-style:normal;color:var(--color-interactive);position:relative}.lead-text h1 em:after{content:"";position:absolute;inset-inline:0;bottom:.08em;height:.06em;background:var(--color-accent);opacity:.55}.lead-lede{margin:var(--space-5) 0 0;max-width:44ch;font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.6;color:var(--color-text-secondary)}.lead-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.lead-foot{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.demo{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-popover);padding:var(--space-5);flex-direction:column}.demo,.demo-steps{display:flex;gap:var(--space-4)}.demo-steps{list-style:none;margin:0;padding:0;flex-wrap:wrap;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.demo-steps li{display:inline-flex;align-items:center;gap:var(--space-2)}.demo-pip{width:7px;height:7px;border-radius:50%;background:var(--color-border-strong);transition:background var(--dur-standard) var(--ease-standard),transform var(--dur-standard) var(--ease-orbital)}.demo-steps li.on{color:var(--color-text-primary);font-weight:600}.demo-steps li.on .demo-pip{background:var(--color-interactive);transform:scale(1.5)}.demo-steps li.done .demo-pip{background:var(--color-accent)}.demo-stage{min-height:13.5rem;display:grid;align-items:center}.demo-panel{display:flex;flex-direction:column;gap:var(--space-3);animation:demo-in var(--dur-entrance) var(--ease-orbital) both}@keyframes demo-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.demo-video{align-items:stretch}.demo-play{display:grid;place-items:center;height:6.5rem;border-radius:var(--radius-md);color:var(--color-interactive);font-size:var(--text-2xl)}.demo-bar,.demo-play{background:var(--color-surface-sunk)}.demo-bar{height:5px;border-radius:3px;overflow:hidden}.demo-bar span{display:block;height:100%;width:0;background:var(--color-accent);animation:demo-fill 3s var(--ease-standard) forwards}@keyframes demo-fill{to{width:95%}}.demo-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.demo-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);min-height:5.4rem;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);font-size:var(--text-md);animation:demo-in var(--dur-entrance) var(--ease-orbital) both}.demo-card-back{font-size:var(--text-xs);color:var(--color-text-tertiary)}.demo-q{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--text-base)}.demo-opts{display:flex;flex-direction:column;gap:var(--space-2)}.demo-opts span{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;font-size:var(--text-md)}.demo-opts .right{border-color:var(--color-success);background:var(--color-success-soft)}.demo-score{margin:0;font-family:var(--font-display);font-size:var(--display-sm);font-weight:600;color:var(--color-interactive)}.demo-score span{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:400;color:var(--color-text-tertiary)}.demo-pass{align-items:flex-start}.demo-tick{margin:0;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--color-success-soft);color:var(--color-success);font-size:var(--text-lg)}.demo-note{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.capability{max-width:var(--page-max);margin-inline:auto;padding:clamp(32px,6vh,64px) var(--gutter) 0;border-top:1px solid var(--color-border)}.capability-head{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(20px,4vh,34px)}.capability-head h2{margin:0;font-size:clamp(1.5rem,3.6vw,2rem);line-height:1.15}.capability>.proof{border-top:0;padding:0 0 clamp(32px,6vh,64px);max-width:none}.proof{max-width:var(--page-max);margin-inline:auto;padding:clamp(32px,6vh,64px) var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));grid-gap:var(--space-6) var(--space-6);gap:var(--space-6) var(--space-6);border-top:1px solid var(--color-border)}.proof h2{font-size:var(--text-lg);margin:0 0 var(--space-2);padding-top:var(--space-3);border-top:2px solid var(--color-accent);display:inline-block}.proof p{margin:0;color:var(--color-text-secondary);font-size:var(--text-md);line-height:1.62}.teachers{background:var(--color-surface-sunk);border-top:1px solid var(--color-border)}.teachers-inner{max-width:56rem;margin-inline:auto;padding:clamp(40px,7vh,80px) var(--gutter)}.teachers h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.14;margin:var(--space-2) 0 var(--space-5);max-width:20ch}.teachers-note{margin:0 0 var(--space-5);color:var(--color-text-secondary);max-width:58ch}@media (max-width:900px){.lead{grid-template-columns:1fr}.lead-text h1{max-width:none}.demo-cards{grid-template-columns:1fr}.demo-card{min-height:0;flex-direction:row;align-items:baseline;justify-content:space-between}}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--gutter);background:var(--color-warning-soft);border-bottom:1px solid var(--color-warning)}.preview-title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--text-md)}.preview-note{margin:2px 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);max-width:64ch}.quiz-preview-q{padding-bottom:var(--space-4)}.quiz-preview .quiz-option{cursor:default;opacity:.85}.portfolio{padding-bottom:var(--space-8)}.portfolio-inner{max-width:var(--page-max);margin-inline:auto;padding:var(--space-6) var(--gutter) 0}.section-h{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin:var(--space-7) 0 var(--space-3)}.topnav{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--gutter);border-bottom:1px solid var(--color-border);background:var(--color-surface);position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:30}.topnav-group{position:relative}.topnav-btn{display:inline-flex;align-items:center;gap:6px;padding:14px 12px;border:0;background:transparent;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent}.topnav-btn.on,.topnav-btn:hover{color:var(--color-text-primary)}.topnav-btn.on{border-bottom-color:var(--color-interactive);font-weight:600}.topnav-btn.open{color:var(--color-text-primary)}.topnav-caret{font-size:.7em;color:var(--color-text-tertiary);flex:0 0 auto}.topnav-name{min-width:0}.topnav-menu{position:absolute;z-index:40;inset-inline-start:0;top:100%;min-width:15rem;max-height:70vh;overflow-y:auto;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);display:flex;flex-direction:column;animation:menu-in var(--dur-micro) var(--ease-standard)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.topnav-menu a{padding:8px 10px;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-text-primary);text-decoration:none}.topnav-menu a:hover{background:var(--color-surface-sunk)}.topnav-menu a.on{color:var(--color-interactive);font-weight:600}.topnav-label{margin:var(--space-2) 10px 4px;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.topnav-sep{display:block;height:1px;background:var(--color-border);margin:var(--space-2) 0}@media (max-width:48rem){.topnav{overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav-group,.topnav>.topnav-btn{flex:0 0 auto}.topnav-btn{white-space:nowrap;padding-inline:10px;max-width:11rem;overflow:hidden}.topnav-name{overflow:hidden;text-overflow:ellipsis}.topnav-menu{position:fixed;inset-inline:var(--gutter) auto;width:min(20rem,calc(100vw - var(--gutter) * 2));min-width:0}}.insight-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.insight-tiles li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4);display:flex;flex-direction:column;gap:2px}.tile-n{font-family:var(--font-display);font-size:var(--display-md);font-weight:600;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-l{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600}.tile-note{font-size:var(--text-xs);color:var(--color-text-tertiary)}.attention{margin-top:var(--space-6);border:1px solid var(--color-warning);border-inline-start-width:3px;background:var(--color-warning-soft);border-radius:var(--radius-md);padding:var(--space-4)}.attention .section-h{margin:0 0 var(--space-2)}.attention ul{margin:0;-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:6px}.attention li{font-size:var(--text-md)}.academy-grid{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.academy-card{padding:var(--space-4)}.academy-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.academy-head h3{margin:0;font-size:var(--text-base)}.academy-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-4) 0 var(--space-3)}.academy-stats div{display:flex;flex-direction:column;gap:1px}.academy-stats dt{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.academy-stats dd{margin:0;font-size:var(--text-lg);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.academy-progress{position:relative;height:6px;border-radius:3px;background:var(--color-surface-sunk);overflow:hidden}.academy-progress span{position:absolute;inset-block:0;inset-inline-start:0;border-radius:3px}.bar-active{background:var(--color-accent);opacity:.35}.bar-done{background:var(--color-interactive)}.academy-legend{margin:6px 0 0;font-size:var(--text-2xs);color:var(--color-text-tertiary);display:flex;align-items:center;gap:6px}.key{width:9px;height:9px;border-radius:2px;display:inline-block}.key-done{background:var(--color-interactive)}.key-active{background:var(--color-accent);opacity:.35;-webkit-margin-start:var(--space-3);margin-inline-start:var(--space-3)}.earnings-card{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-6);gap:var(--space-6);align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-5)}.earnings-n{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.earnings-note{font-size:var(--text-md);color:var(--color-text-secondary);max-width:62ch}.earnings-note p{margin-bottom:var(--space-3)}.rail-group{margin-top:var(--space-4)}.rail-group-label{margin:0 0 4px;-webkit-padding-start:10px;padding-inline-start:10px;font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}@media (max-width:720px){.earnings-card{grid-template-columns:1fr;gap:var(--space-3)}.academy-stats{grid-template-columns:repeat(2,1fr)}.topnav{overflow-x:auto}}.portal-hero{position:relative;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),var(--color-bg-base)}.portal-hero:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--accent)}.portal-hero-inner{max-width:var(--page-max);margin-inline:auto;padding:clamp(40px,8vh,84px) var(--gutter) clamp(32px,6vh,56px)}.portal-hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.06;letter-spacing:-.015em;margin:var(--space-2) 0 0;max-width:18ch}.portal-tagline{margin:var(--space-4) 0 0;max-width:52ch;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.55;color:var(--color-text-secondary)}.portal-teachers{list-style:none;margin:var(--space-6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-5)}.portal-teachers li{display:flex;align-items:center;gap:var(--space-3)}.teacher-mark{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:600;font-size:var(--text-base)}.teacher-mark img{width:100%;height:100%;object-fit:cover}.teacher-name{display:block;font-family:var(--font-ui);font-weight:600;font-size:var(--text-md)}.teacher-headline{display:block;font-size:var(--text-sm);color:var(--color-text-tertiary);max-width:30ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.brand-fill{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.brand-fill:hover{filter:brightness(1.08)}.course-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.course-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);height:100%;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-decoration:none;color:inherit;transition:border-color var(--dur-standard) var(--ease-standard),transform var(--dur-standard) var(--ease-orbital)}.course-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.course-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.course-rule{position:absolute;inset-block:-1px;inset-inline-start:-1px;width:3px;background:var(--accent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.course-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.course-level{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}.course-badge,.course-level{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600}.course-badge{padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.course-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.25}.course-sub{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.5}.course-scale{margin-top:auto;padding-top:var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.course-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.course-go{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-interactive)}.portal-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-6);max-width:56ch}.notify-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.done-card{margin-top:var(--space-7);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),var(--color-surface)}.done-eyebrow{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-success)}.done-card h2{margin:0;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.2}.done-sub{margin:var(--space-2) 0 0;color:var(--color-text-secondary)}.done-cert{margin:var(--space-5) 0 0}.done-next{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.done-next-head{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-tertiary)}.done-next-card{display:grid;grid-gap:3px;gap:3px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);text-decoration:none;color:inherit}.done-next-card+.done-next-card{margin-top:var(--space-2)}.done-next-card:hover{border-color:var(--color-border-strong)}.done-next-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-base)}.done-next-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.done-next-card .course-go{margin-top:var(--space-2)}.tabbar{display:none}@media (max-width:48rem){.tabbar{position:fixed;inset-inline:0;bottom:0;z-index:50;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:grid;justify-items:center;grid-gap:3px;gap:3px;padding:9px 4px 8px;text-decoration:none;color:var(--color-text-tertiary);font-family:var(--font-ui);font-size:var(--text-2xs);letter-spacing:.02em;min-width:0}.tabbar a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar a.is-on{color:var(--color-text-primary);box-shadow:inset 0 2px 0 0 var(--accent)}.academy-bar .academy-links{display:none}.academy-bar{flex-wrap:nowrap;row-gap:0}.academy-bar nav.academy-nav{width:auto;-webkit-margin-start:auto;margin-inline-start:auto;justify-content:flex-end}.acct-caret,.acct-name{display:none}.acct-trigger{padding:2px}.academy-name{display:block}.academy{padding-bottom:4.75rem}}.acct{position:relative}.acct-trigger{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:1px solid transparent;cursor:pointer;padding:4px 8px;border-radius:var(--radius-pill);color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-sm)}.acct-trigger:hover{border-color:var(--color-border);color:var(--color-text-primary)}.acct-mark{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:var(--text-xs)}.acct-name{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-caret{font-size:var(--text-2xs)}.acct-menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);min-width:13rem;z-index:60;display:grid;grid-gap:1px;gap:1px;padding:5px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:0 10px 30px rgb(0 0 0/.18)}.acct-menu a,.acct-menu button{display:block;width:100%;text-align:start;padding:8px 11px;border:0;background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-primary);text-decoration:none;border-radius:var(--radius-sm)}.acct-menu a:hover,.acct-menu button:hover{background:var(--color-bg-subtle)}.acct-menu form{margin:0}.acct-sep{height:1px;background:var(--color-border);margin:4px 0}.audio{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.audio-el{width:100%;display:block}.audio-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.audio-speeds{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.audio-speed{border:0;background:none;cursor:pointer;padding:4px 10px;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-secondary)}.audio-speed+.audio-speed{-webkit-border-start:1px solid var(--color-border);border-inline-start:1px solid var(--color-border)}.audio-speed:hover{color:var(--color-text-primary)}.audio-speed.is-on{background:var(--accent);color:var(--accent-ink)}.builder{display:grid;grid-template-columns:minmax(0,21rem) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:start;margin-top:var(--space-4)}.builder-tree{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) * 2 + var(--space-3));max-height:calc(100vh - var(--topbar-h) * 2 - var(--space-5))}.builder-tree,.canvas{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.canvas{min-height:26rem;transition:border-color var(--dur-quick) var(--ease-standard),background var(--dur-quick) var(--ease-standard)}@media (max-width:80rem){.builder{grid-template-columns:minmax(0,18rem) minmax(0,1fr)}}@media (max-width:62rem){.builder{grid-template-columns:minmax(0,1fr)}.builder-tree{position:static;order:1;max-height:40vh}.canvas{order:2;min-height:0}}@media (min-width:62rem){.studio-page>.content.is-workspace{height:calc(100vh - var(--topbar-h) * 2);display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.content.is-workspace>.build-head,.content.is-workspace>.build-top{flex:0 0 auto}.content.is-workspace>.builder{flex:1 1 auto;min-height:0;align-items:stretch;padding-bottom:var(--space-4);margin-inline:0;width:100%;align-self:stretch}.content.is-workspace .pane{min-height:0;max-height:100%;position:static}}.pane{display:flex;flex-direction:column}.pane-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:10px var(--space-4);border-bottom:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);background:var(--color-surface)}.pane-count{font-weight:500;letter-spacing:.04em;text-transform:none}.pane-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.canvas>.pane-body{padding:var(--space-5)}.canvas>.pane-body>*{max-width:52rem}.canvas>.pane-body>.panel-head{max-width:none;position:-webkit-sticky;position:sticky;top:calc(var(--space-5) * -1);z-index:2;margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pane-body{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.pane-body::-webkit-scrollbar{width:10px}.pane-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:6px;border:3px solid transparent;background-clip:content-box}.pane-body::-webkit-scrollbar-thumb:hover{background-clip:content-box;background-color:var(--color-text-tertiary)}.otree-module+.otree-module{border-top:1px solid var(--color-border)}.otree-row{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:baseline;padding:7px var(--space-4);-webkit-border-start:2px solid transparent;border-inline-start:2px solid transparent}.otree-row.is-module{background:var(--color-bg-subtle);font-family:var(--font-display);font-weight:600}.otree-row.is-block{-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);font-size:var(--text-sm)}.otree-row.is-on{border-inline-start-color:var(--color-interactive);background:var(--color-bg-subtle)}.otree-name{color:inherit;text-decoration:none;min-width:0;overflow-wrap:anywhere}.otree-name:hover{color:var(--color-interactive)}.otree-icon,.otree-n{font-size:var(--text-xs);text-align:center}.otree-icon,.otree-n,.otree-tag{color:var(--color-text-tertiary)}.otree-tag{-webkit-margin-start:7px;margin-inline-start:7px;font-family:var(--font-ui);font-weight:500;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.07em}.otree-tag.is-free{color:var(--color-success)}.otree-tools{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity var(--dur-quick) var(--ease-standard)}.otree-row:focus-within .otree-tools,.otree-row:hover .otree-tools{opacity:1}.otree-tools form{margin:0}.otree-move{border:0;background:none;cursor:pointer;padding:2px 5px;color:var(--color-text-tertiary);font-size:var(--text-xs);line-height:1}.otree-move:hover:not(:disabled){color:var(--color-interactive)}a.otree-move{text-decoration:none;line-height:1}.otree-move:disabled{opacity:.25;cursor:default}.otree-newmodule{display:block;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--color-interactive);text-decoration:none}.otree-newmodule:hover{background:var(--color-bg-subtle)}.build-top{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.build-top h1{margin:0;font-size:var(--display-sm);line-height:1.2;min-width:0;overflow-wrap:anywhere}.build-back{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;flex:0 0 auto}.build-back:hover{color:var(--color-interactive)}.build-top .btn{-webkit-margin-start:auto;margin-inline-start:auto;align-self:center}.build-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.build-head .steps{margin:0;flex:1 1 22rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.panel-head h2{margin:2px 0 0;font-size:var(--text-lg)}.panel-extra{margin-top:var(--space-4)}.panel-foot{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.panel-foot form{margin:0}.panel-empty{padding:var(--space-6) var(--space-4);text-align:center}.flow-stepped .flow-block{border-bottom:0;padding-bottom:var(--space-6)}.flow-step{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 var(--space-4)}.flow-nav{position:-webkit-sticky;position:sticky;bottom:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) 0;margin-top:var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg-base)}.flow-nav-mid{min-width:0;text-align:center}.flow-waiting{font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.4;color:var(--color-text-secondary)}.flow-nav-end{text-align:end}.flow-nav .btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:34rem){.flow-nav{grid-template-columns:1fr 1fr;row-gap:var(--space-3)}.flow-nav-mid{grid-row:1;grid-column:1/-1}}.pay-block{display:grid;grid-gap:var(--space-3);gap:var(--space-3);width:100%}.pay-note{margin:0;max-width:56ch;font-size:var(--text-sm);line-height:1.5;color:var(--color-text-secondary)}.pay-note .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:1px 5px;background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.comments{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.c-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.c-heading{margin:0;font-size:var(--text-lg)}.c-filters{display:flex;flex-wrap:wrap;gap:6px}.c-chip{border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-pill);padding:4px 12px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;cursor:pointer;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-chip:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.c-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.c-compose{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.c-compose.is-reply{margin-top:var(--space-3);background:var(--color-bg-subtle)}.c-compose textarea,.c-title{width:100%}.c-compose-foot{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.c-stream{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.c-thread{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.c-thread.is-pinned{border-color:var(--color-border-strong)}.c-context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.c-where{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.c-title-line{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.3}.c-post{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.c-post+.c-post{margin-top:var(--space-4)}.c-post.is-answer .c-post-main{-webkit-border-start:2px solid var(--color-success);border-inline-start:2px solid var(--color-success);-webkit-padding-start:var(--space-3);padding-inline-start:var(--space-3);-webkit-margin-start:calc(var(--space-3) * -1 - 2px);margin-inline-start:calc(var(--space-3) * -1 - 2px)}.c-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm)}.c-avatar.is-teacher{background:var(--accent);color:var(--accent-ink)}.c-post-main{min-width:0}.c-by{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 4px}.c-by,.c-name{font-size:var(--text-sm)}.c-name{font-family:var(--font-ui);font-weight:600;color:var(--color-text-primary)}.c-body{margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.c-removed{margin:0;color:var(--color-text-tertiary);font-size:var(--text-sm)}.c-actions,.c-thread-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.c-thread-foot{margin-top:var(--space-3)}.c-act{background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;color:var(--color-text-tertiary)}.c-act:hover{color:var(--color-interactive)}.c-like{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-tertiary);transition:color var(--dur-quick) var(--ease-standard)}.c-like.is-on,.c-like:hover{color:var(--color-danger)}.c-like-n{font-size:var(--text-xs)}.c-replies{margin-top:var(--space-4);-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);-webkit-border-start:1px solid var(--color-border);border-inline-start:1px solid var(--color-border)}.c-more{background:none;border:0;padding:0 0 var(--space-3);cursor:pointer;color:var(--color-interactive)}.c-more,.section-head{font-family:var(--font-ui);font-size:var(--text-xs)}.section-head{margin:var(--space-7) 0 var(--space-3);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}.path-admin,.path-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.path-admin-card,.path-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-4) calc(var(--space-5) + 3px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-decoration:none;color:inherit;transition:border-color var(--dur-standard) var(--ease-standard),transform var(--dur-standard) var(--ease-orbital)}.path-admin-card:before,.path-card:before{content:"";position:absolute;inset-block:-1px;inset-inline-start:-1px;width:3px;background:var(--accent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.path-admin-card:hover,.path-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.path-admin-card:focus-visible,.path-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.path-admin-head,.path-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.path-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.25}.path-chain{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-secondary)}.path-chain-item{display:inline-flex;align-items:center;gap:var(--space-2)}.path-arrow{color:var(--color-text-tertiary)}.path-progress{margin-top:var(--space-5);max-width:30rem}.ladder{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.rung{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);padding-block:var(--space-5)}.rung:before{content:"";position:absolute;inset-inline-start:18px;top:0;bottom:0;width:2px;background:var(--color-border)}.rung:first-child:before{top:50%}.rung:last-child:before{bottom:50%}.ladder>.rung:only-child:before{display:none}.rung-mark{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-ui);font-weight:600;font-size:var(--text-md);background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-tertiary)}.rung.is-open .rung-mark{border-color:var(--accent);color:var(--color-text-primary)}.rung.is-done .rung-mark{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg-base)}.rung-body{display:grid;grid-gap:var(--space-2);gap:var(--space-2);align-content:start;min-width:0}.rung-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.25}.rung-sub{margin:0;line-height:1.5}.rung-state,.rung-sub{color:var(--color-text-secondary)}.rung-state{margin:var(--space-2) 0 0;font-size:var(--text-md)}.rung-state.is-done,.rung.is-locked .rung-sub,.rung.is-locked .rung-title{color:var(--color-text-tertiary)}.rung.is-locked .rung-mark{border-style:dashed}.course-inpath{margin:var(--space-4) 0 0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-secondary)}.path-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);counter-reset:none}.path-steps>li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.path-step-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600}.path-step-body{display:grid;grid-gap:2px;gap:2px;min-width:0}.path-step-title{font-weight:600}.path-step-tools{display:flex;flex-wrap:wrap;gap:6px}.path-step-tools form{margin:0}@media (max-width:40rem){.path-steps>li{grid-template-columns:32px minmax(0,1fr)}.path-step-tools{grid-column:1/-1}}.check{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-md);color:var(--color-text-primary);text-transform:none;letter-spacing:0}.check input[type=checkbox]{width:auto;min-height:auto;margin:0}.announce-admin,.announce-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.announce-admin>li,.announce-list>li{position:relative;padding:var(--space-5) 0;border-bottom:1px solid var(--color-border)}.announce-admin>li:last-child,.announce-list>li:last-child{border-bottom:0}.announce-admin>li:before,.announce-list>li:before{content:"";position:absolute;inset-block:-1px;inset-inline-start:-1px;width:3px;background:var(--accent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.announce-title{display:block;font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.3}.announce-title .pill{-webkit-margin-end:8px;margin-inline-end:8px;vertical-align:middle}.announce-body{margin:var(--space-2) 0 0;line-height:1.55;color:var(--color-text-secondary);white-space:pre-wrap}.announce-admin-head .small,.announce-meta{display:block;margin-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.announce-admin>li{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.announce-admin-head{display:grid;grid-gap:2px;gap:2px}.announce-admin .row form{margin:0}.portal-hero.is-home .portal-hero-inner{padding-block:clamp(28px,5vh,48px) clamp(22px,4vh,36px)}.portal-hero.is-home h1{font-size:clamp(1.7rem,3.6vw,2.4rem)}.portal-hero.is-home .portal-teachers{margin-top:var(--space-4)}.desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);grid-gap:var(--space-8);gap:var(--space-8);padding-block:clamp(28px,5vh,48px) 0}.desk-main{display:grid;grid-gap:var(--space-7);gap:var(--space-7);align-content:start}.desk-block{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.desk-h{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}@media (max-width:56rem){.desk{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}}.continue-list,.desk-done,.peek-list,.pending-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.continue-card,.pending-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 3px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-decoration:none;color:inherit;transition:border-color var(--dur-standard) var(--ease-standard),transform var(--dur-standard) var(--ease-orbital)}.continue-card:before,.pending-card:before{content:"";position:absolute;inset-block:-1px;inset-inline-start:-1px;width:3px;background:var(--accent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.continue-card:hover,.pending-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.continue-card:focus-visible,.pending-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.continue-body,.pending-body{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0;flex:1 1}.continue-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.25}.continue-progress{display:block;height:6px;border-radius:var(--radius-pill);background:var(--color-bg-subtle);overflow:hidden;max-width:28rem}.continue-progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.continue-meta,.peek-meta,.pending-state{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.continue-go{flex:none;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-interactive);white-space:nowrap}.pending-list>li.is-admitted .pending-card:before{background:var(--color-warning)}.pending-list>li.is-admitted .pending-state{color:var(--color-text-secondary)}.pending-state{display:block}.desk-done li{display:flex;align-items:baseline;gap:var(--space-3);font-size:var(--text-md)}.desk-done li a:first-of-type{color:var(--color-text-primary);text-decoration:none}.desk-done li a:first-of-type:hover{text-decoration:underline}.desk-done li a.small{-webkit-margin-start:auto;margin-inline-start:auto}.done-mark{color:var(--color-success);font-weight:700}.forum-peek{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.forum-peek .peek-list{margin-top:var(--space-3)}.peek-thread{display:grid;grid-gap:4px;gap:4px;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);text-decoration:none;color:inherit}.peek-thread:hover{border-color:var(--color-border-strong)}.peek-title{font-family:var(--font-ui);font-weight:600;font-size:var(--text-md);line-height:1.35}.peek-title .pill{-webkit-margin-end:6px;margin-inline-end:6px;vertical-align:middle}.brand-label{color:color-mix(in srgb,var(--accent) 55%,var(--color-text-primary))}.course-hero{border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 75%),var(--color-bg-base)}.course-hero-inner{max-width:var(--page-max);margin-inline:auto;padding:clamp(36px,7vh,72px) var(--gutter) clamp(28px,5vh,48px)}.course-hero h1{font-size:clamp(1.9rem,4.6vw,2.9rem);line-height:1.08;letter-spacing:-.015em;margin:var(--space-2) 0 0;max-width:22ch}.course-lede{margin:var(--space-3) 0 0;max-width:56ch;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.55}.course-facts,.course-lede{color:var(--color-text-secondary)}.course-facts{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm)}.course-facts li:before{content:"·";-webkit-margin-end:var(--space-4);margin-inline-end:var(--space-4);color:var(--color-border-strong)}.course-facts li:first-child:before{content:none}.course-facts .fact-badge{padding:2px 9px;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-weight:600}.course-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.course-cta-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.outcomes{list-style:none;margin:0 0 var(--space-6);padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);max-width:62ch}.outcomes li{position:relative;-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);line-height:1.5}.outcomes li:before{content:"✓";position:absolute;inset-inline-start:0;top:.05em;color:var(--color-success);font-weight:700}.curriculum{list-style:none;margin:0;padding:0}.curriculum>li{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.curriculum-mod{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.curriculum-title{font-family:var(--font-ui);font-weight:600}.curriculum-lessons{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.curriculum-lessons li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);font-size:var(--text-md)}.curriculum-types{font-size:var(--text-xs);color:var(--color-text-tertiary)}.preview-chip{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-success-soft);color:var(--color-success);text-decoration:none}.preview-chip:hover{text-decoration:underline}.glance,.teacher-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4)}.glance{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 16px)}.teacher-card{margin-top:var(--space-3)}.glance-list{margin:var(--space-2) 0 0;display:flex;flex-direction:column}.glance-list div{display:flex;justify-content:space-between;gap:var(--space-3);padding:8px 0;border-top:1px solid var(--color-border);font-size:var(--text-md)}.glance-list dt{color:var(--color-text-secondary)}.glance-list dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-block+.teacher-block{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.teacher-row{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.teacher-bio{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.55;color:var(--color-text-secondary)}.teacher-creds{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.teacher-creds li{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);align-items:baseline}.cred-state{flex:none;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.cred-state.ok{color:var(--color-success)}.preview-bar-public{background:var(--color-success-soft);border-bottom-color:var(--color-success)}.preview-ask{margin-top:var(--space-7);padding:var(--space-5);border:1px solid var(--color-border);-webkit-border-start:3px solid var(--accent);border-inline-start:3px solid var(--accent);border-radius:var(--radius-md);background:var(--color-surface)}.preview-ask-title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.course-outcomes{list-style:none;margin:var(--space-1) 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.course-outcomes li{position:relative;-webkit-padding-start:var(--space-4);padding-inline-start:var(--space-4);font-size:var(--text-sm);line-height:1.45;color:var(--color-text-secondary)}.course-outcomes li:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--color-success);font-weight:700;font-size:.8em;top:.1em}.course-meta{margin-top:auto;padding-top:var(--space-3);display:flex;flex-wrap:wrap;gap:4px var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-tertiary)}.course-badge.is-free{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-soft)}.course-badge.is-mine{border-color:var(--color-interactive);color:var(--color-interactive);background:var(--color-interactive-soft)}.course-progress{display:block;height:4px;border-radius:2px;background:var(--color-surface-sunk);overflow:hidden;margin-top:var(--space-2)}.course-progress span{display:block;height:100%;background:var(--accent);border-radius:2px}.flow-back:before{content:"\2190\00a0"}.flow-next:after{content:"\00a0\2192"}.composer-kind{margin-bottom:var(--space-4)}.composer-kind select{font-weight:500}.focus-menu{display:none;flex:0 0 auto;width:30px;height:30px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-md);line-height:1}.focus-menu:hover{color:var(--color-text-primary);border-color:var(--color-border-strong,var(--color-text-tertiary))}body.build-full .focus-menu{display:inline-flex;align-items:center;justify-content:center}.focus-toggle{flex:0 0 auto;white-space:nowrap}body.build-full .content.is-workspace>.build-head,body.build-full .topbar,body.build-full .topnav{display:none}@media (min-width:62rem){body.build-full .studio-page>.content.is-workspace{height:100vh}}body.build-full .studio-page{min-height:100vh}.focus-scrim{position:fixed;inset:0;z-index:60;background:color-mix(in srgb,var(--color-bg) 60%,transparent)}.focus-drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:61;width:min(20rem,86vw);display:flex;flex-direction:column;background:var(--color-surface);-webkit-border-end:1px solid var(--color-border);border-inline-end:1px solid var(--color-border);box-shadow:var(--shadow-popover);animation:drawer-in var(--dur-quick) var(--ease-standard)}@keyframes drawer-in{0%{transform:translateX(-12px);opacity:0}to{transform:none;opacity:1}}.focus-drawer-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-4);border-bottom:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.focus-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.focus-drawer-body>a{padding:9px 10px;border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);text-decoration:none}.focus-drawer-body>a:hover{background:var(--color-bg-subtle)}.focus-drawer-label{margin:var(--space-3) 10px 4px;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.focus-drawer-body .steps{display:flex;flex-direction:column;border:0;background:none;margin:0}.focus-drawer-body .steps-item>a,.focus-drawer-body .steps-item>span{border:0;padding:9px 10px}body.build-full .hide-in-full{display:none}.addmenu{position:relative;display:inline-flex}.addmenu-pop{position:absolute;z-index:40;top:calc(100% + 4px);inset-inline-end:0;width:min(17rem,calc(100vw - 2rem));max-height:60vh;overflow-y:auto;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);display:flex;flex-direction:column;gap:2px;animation:menu-in var(--dur-micro) var(--ease-standard)}.addmenu-head{margin:4px 8px 6px;font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addmenu-pop a{display:flex;align-items:center;gap:var(--space-3);padding:8px;border-radius:var(--radius);color:var(--color-text-primary);text-decoration:none}.addmenu-pop a:hover{background:var(--color-bg-subtle)}.addmenu-pop strong{display:block;font-size:var(--text-sm);font-weight:600}.addmenu-pop em{display:block;font-style:normal;font-size:var(--text-2xs);color:var(--color-text-tertiary)}.addmenu-icon{flex:0 0 auto;width:26px;height:26px;border-radius:var(--radius);display:grid;place-items:center;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:var(--text-xs)}.otree-caret{display:inline-block;width:1em;-webkit-margin-end:2px;margin-inline-end:2px;color:var(--color-text-tertiary);font-size:.7em;vertical-align:1px}.otree-row.is-module.is-open .otree-caret{color:var(--color-text-secondary)}.sitefoot{border-top:1px solid var(--color-border);background:var(--color-surface-sunk);margin-top:clamp(40px,8vh,96px)}.sitefoot-inner{max-width:var(--page-max);margin-inline:auto;padding:clamp(32px,6vh,56px) var(--gutter) var(--space-6);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px)}@media (max-width:62rem){.sitefoot-inner{grid-template-columns:1fr}}.sitefoot-mark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.sitefoot-brand p{margin:var(--space-3) 0 0;max-width:34ch;color:var(--color-text-secondary);font-size:var(--text-md);line-height:1.6}.sitefoot-social{list-style:none;display:flex;gap:var(--space-4);margin:var(--space-4) 0 0;padding:0}.sitefoot-social a{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.sitefoot-social a:hover{color:var(--color-interactive)}.sitefoot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:var(--space-5) var(--space-4);gap:var(--space-5) var(--space-4)}.sitefoot-cols>div{display:flex;flex-direction:column;gap:8px}.sitefoot-cols h2{margin:0 0 2px;font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.sitefoot-cols a{font-size:var(--text-md);color:var(--color-text-secondary);text-decoration:none}.sitefoot-cols a:hover{color:var(--color-interactive)}.sitefoot-base{max-width:var(--page-max);margin-inline:auto;padding:var(--space-4) var(--gutter) clamp(28px,5vh,44px);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-tertiary)}.sitefoot-base p{margin:0}.sitefoot-contact{display:flex;flex-wrap:wrap;gap:var(--space-4)}.sitefoot-contact a{color:inherit}.sitefoot-contact a:hover{color:var(--color-interactive)}.page-prose{padding-block:clamp(32px,7vh,72px)}.page-prose h1{margin:var(--space-2) 0 var(--space-4)}.page-prose h2{margin:clamp(28px,5vh,44px) 0 var(--space-3);font-size:var(--text-lg)}.page-prose li,.page-prose p{color:var(--color-text-secondary);line-height:1.7}.page-prose .lede{font-size:var(--text-lg);color:var(--color-text-primary);max-width:60ch}.page-prose ul{-webkit-padding-start:1.15em;padding-inline-start:1.15em;display:flex;flex-direction:column;gap:var(--space-2)}.page-prose strong{color:var(--color-text-primary)}.page-note{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);font-size:var(--text-sm)}.page-cta,.page-note{margin-top:clamp(28px,5vh,44px)}.page-cta{display:flex;flex-wrap:wrap;gap:var(--space-3)}.price-card{margin:var(--space-5) 0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:center}.price-n{margin:0;font-size:clamp(2.6rem,8vw,3.6rem);line-height:1;color:var(--color-text-primary)}.price-card p+p{margin:var(--space-2) 0 0;color:var(--color-text-secondary)}.contact-list{margin:var(--space-5) 0 0;display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.contact-list dt{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.contact-list dd{margin:4px 0 0;color:var(--color-text-secondary)}.contact-list address{font-style:normal;display:flex;flex-direction:column}.portal-hero.has-banner{position:relative;isolation:isolate;overflow:hidden}.portal-banner{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.portal-hero.has-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,color-mix(in srgb,var(--color-bg) 72%,transparent),color-mix(in srgb,var(--color-bg) 92%,transparent))}.portal-hero.has-banner .portal-hero-inner{position:relative}.brand-preview-banner{display:block;width:100%;height:88px;object-fit:cover}.academy-grid{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.academy-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--dur-quick) var(--ease-standard)}.academy-card:hover{border-color:var(--color-interactive);text-decoration:none}.academy-card-banner{display:block;width:100%;height:84px;object-fit:cover}.academy-card-banner.is-blank{background:var(--color-bg-subtle)}.academy-card-body{display:flex;gap:var(--space-3);padding:var(--space-4)}.academy-card-mark{flex:0 0 auto;width:34px;height:34px;border-radius:var(--radius);display:grid;place-items:center;overflow:hidden;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-family:var(--font-display);font-weight:600}.academy-card-mark img{width:100%;height:100%;object-fit:cover}.academy-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.academy-card-text strong{font-size:var(--text-md);overflow-wrap:anywhere}.academy-card-text em{font-style:normal;font-size:var(--text-sm);color:var(--color-text-secondary);overflow-wrap:anywhere}.academy-card-n{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-1{margin-top:var(--space-1)}.mb-1{margin-bottom:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mb-3{margin-bottom:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-5{margin-bottom:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-6{margin-bottom:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mb-7{margin-bottom:var(--space-7)}.mt-auto{margin-top:auto}.pad-page{padding-block:clamp(48px,10vh,120px)}.pad-page-sm{padding-block:clamp(32px,6vh,56px)}.pad-page-xs{padding-block:clamp(28px,5vh,44px)}.tabrow{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5)}.tabrow-aside,.tabrow-tab{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:2px solid transparent;color:var(--color-text-secondary);text-decoration:none}.tabrow-tab:hover{color:var(--color-text-primary);text-decoration:none}.tabrow-tab.is-on{color:var(--color-text-primary);border-bottom-color:var(--color-interactive)}.tabrow-n{font-size:var(--text-lg);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabrow-l{font-size:var(--text-sm)}.tabrow-aside{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--color-text-tertiary)}.upnext{display:grid;grid-gap:2px;gap:2px;margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--color-bg-subtle)}.upnext-label{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.upnext-title{font-size:var(--text-md);font-weight:500;overflow-wrap:anywhere}.upnext-meta{font-size:var(--text-xs);color:var(--color-text-secondary)}.lcard-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3)}.howto{max-width:var(--page-max);margin-inline:auto;border-top:1px solid var(--color-border);padding:clamp(48px,8vh,88px) var(--gutter) clamp(40px,7vh,72px)}.howto-head{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(24px,4vh,40px)}.howto-head h2{margin:0;font-size:clamp(1.5rem,3.6vw,2rem);line-height:1.15}.howto-head p{margin:0;max-width:46ch;color:var(--color-text-secondary)}.hiw{display:grid;grid-template-columns:minmax(0,23rem) minmax(0,1fr);grid-gap:clamp(24px,4vw,56px);gap:clamp(24px,4vw,56px);align-items:start}.hiw-rail{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.hiw-rail li{position:relative;border-top:1px solid var(--color-border)}.hiw-rail li:last-child{border-bottom:1px solid var(--color-border)}.hiw-rail button{display:flex;gap:var(--space-3);width:100%;padding:var(--space-4) 0;background:none;border:0;text-align:start;cursor:pointer;color:var(--color-text-tertiary);font:inherit}.hiw-rail button:hover,.hiw-rail li.on button{color:var(--color-text-primary)}.hiw-num{flex-shrink:0;width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);font-size:var(--text-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:background .16s ease,border-color .16s ease,color .16s ease}.hiw-rail li.on .hiw-num{background:var(--color-interactive);border-color:var(--color-interactive);color:var(--color-on-interactive)}.hiw-rail-text{display:flex;flex-direction:column;gap:6px;min-width:0}.hiw-step{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-md);font-weight:600}.hiw-soon{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-pill);color:var(--color-warning);background:var(--color-warning-soft)}.hiw-blurb{font-size:var(--text-sm);line-height:1.55;color:var(--color-text-secondary);animation:hiw-open .26s ease both}.hiw-tick{position:absolute;inset-inline-start:0;bottom:-1px;height:2px;background:var(--color-interactive);animation:hiw-tick linear both}.hiw-stage{min-width:0}.hiw-frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;animation:hiw-open .3s ease both}.hiw-chrome{display:flex;align-items:center;gap:6px;padding:10px var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-sunk)}.hiw-chrome>span{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong)}.hiw-crumb{margin:0 0 0 auto;font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}.hiw-body{padding:clamp(16px,2.6vw,28px);min-height:19rem}.hiw-body .in{animation:hiw-in .42s cubic-bezier(.2,.7,.3,1) both}@keyframes hiw-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes hiw-open{0%{opacity:0}to{opacity:1}}@keyframes hiw-tick{0%{width:0}to{width:100%}}.hiw-build{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.hiw-tree{display:flex;flex-direction:column;gap:4px;-webkit-border-end:1px solid var(--color-border);border-inline-end:1px solid var(--color-border);-webkit-padding-end:var(--space-4);padding-inline-end:var(--space-4)}.hiw-tree-mod{margin:0;font-size:var(--text-2xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.hiw-tree-les+.hiw-tree-mod,.hiw-tree-mod+.hiw-tree-mod{margin-top:var(--space-3)}.hiw-tree-les{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary);padding:3px 0}.hiw-tree-les.on{color:var(--color-text-primary);font-weight:550}.hiw-canvas{display:flex;flex-direction:column;gap:var(--space-2)}.hiw-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);font-size:var(--text-sm)}.hiw-kind{flex-shrink:0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-interactive);background:var(--color-interactive-soft);padding:3px 8px;border-radius:var(--radius-pill)}.hiw-row-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hiw-row-meta{flex-shrink:0;font-size:var(--text-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hiw-add,.hiw-row-meta{color:var(--color-text-tertiary)}.hiw-add{padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);text-align:center;font-size:var(--text-sm)}.hiw-publish{display:flex;flex-direction:column;gap:var(--space-4)}.hiw-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(120deg,var(--color-interactive-soft),var(--color-surface-sunk))}.hiw-banner,.hiw-logo{border-radius:var(--radius-md)}.hiw-logo{width:2.6rem;height:2.6rem;flex-shrink:0;display:grid;place-items:center;background:var(--color-interactive);color:var(--color-on-interactive);font-family:var(--font-display);font-weight:700}.hiw-acad{display:flex;flex-direction:column;gap:2px;min-width:0}.hiw-acad b{font-family:var(--font-display);font-size:var(--text-md)}.hiw-acad i{font-style:normal;font-size:var(--text-xs);color:var(--color-text-secondary)}.hiw-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hiw-chips span{font-size:var(--text-xs);padding:5px 11px;border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text-tertiary)}.hiw-chips span.on{border-color:var(--color-interactive);background:var(--color-interactive-soft);color:var(--color-text-primary);font-weight:550}.hiw-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.hiw-card-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:600}.hiw-live{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius-pill);color:var(--color-success);background:var(--color-success-soft)}.hiw-foot{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.hiw-assist{display:flex;flex-direction:column;gap:var(--space-4)}.hiw-person{display:flex;align-items:center;gap:var(--space-3)}.hiw-av{width:2.4rem;height:2.4rem;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-bg-base);font-family:var(--font-display);font-weight:700}.hiw-person-text{display:flex;flex-direction:column;gap:1px}.hiw-person-text b{font-family:var(--font-display);font-size:var(--text-md)}.hiw-person-text i{font-style:normal;font-size:var(--text-xs);color:var(--color-text-secondary)}.hiw-label{margin:0;font-size:var(--text-2xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}.hiw-scope{display:flex;flex-direction:column;gap:var(--space-2)}.hiw-scope span{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.hiw-scope span:before{content:"\2713";width:1.15rem;height:1.15rem;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);font-size:var(--text-2xs)}.hiw-scope .yes:before{background:var(--color-success);color:var(--color-bg-base)}.hiw-scope .no{color:var(--color-text-tertiary);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.hiw-scope .no:before{content:"";border:1px solid var(--color-border-strong)}.hiw-queue{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunk);font-size:var(--text-sm);color:var(--color-text-secondary)}.hiw-queue b{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary)}.hiw-market{display:flex;flex-direction:column;gap:var(--space-4)}.hiw-post{display:grid;grid-template-columns:7rem minmax(0,1fr);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.hiw-cover{background:linear-gradient(140deg,var(--color-interactive),var(--color-accent));min-height:6.5rem}.hiw-post-text{display:flex;flex-direction:column;gap:5px;padding:var(--space-4)}.hiw-post-text b{font-family:var(--font-display);font-size:var(--text-md)}.hiw-post-text i{font-style:normal;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.hiw-link{font-size:var(--text-xs);color:var(--color-interactive)}.hiw-dests{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hiw-dests span{font-size:var(--text-xs);padding:5px 11px;border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text-secondary)}.hiw-soon-note{margin:0;font-size:var(--text-xs);color:var(--color-warning)}.hiw-connect{display:flex;flex-direction:column;gap:var(--space-2)}.hiw-conn{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.hiw-conn-name{font-weight:550}.hiw-conn-state{font-size:var(--text-xs);color:var(--color-text-tertiary)}.hiw-conn.on{border-color:var(--color-success)}.hiw-conn.on .hiw-conn-state{color:var(--color-success);font-weight:600}.hiw-publish-btn{margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);background:var(--color-surface-sunk);color:var(--color-text-tertiary);font:inherit;font-weight:600;cursor:not-allowed}@media (max-width:860px){.hiw{grid-template-columns:1fr}.hiw-rail button{padding:var(--space-3) 0}.hiw-build{grid-template-columns:1fr}.hiw-tree{-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid var(--color-border);padding:0 0 var(--space-3)}.hiw-post{grid-template-columns:1fr}.hiw-cover{min-height:4.5rem}.hiw-body{min-height:0}}@media (prefers-reduced-motion:reduce){.hiw-blurb,.hiw-body .in,.hiw-frame{animation:none}.hiw-tick{display:none}}.composer-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius-md);background:var(--color-surface-sunk)}.crumbs{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 12px}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}.crumbs li{display:inline-flex;align-items:center;min-width:0}.crumbs li+li:before{content:"›";margin:0 8px;color:var(--color-text-tertiary)}.crumbs a{color:var(--color-text-secondary);text-decoration:none}.crumbs a:hover{color:var(--color-interactive);text-decoration:underline}.crumbs li[aria-current=page] span{color:var(--color-text-primary);font-weight:600}.crumbs a,.crumbs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}.crumbs-player{max-width:var(--page-max-wide);margin-inline:auto;padding:12px var(--gutter) 0}.minutes-field{gap:6px}.minutes-field input{width:4.5rem;padding:4px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.otree-steps{display:contents}.otree-empty{margin:0;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text-tertiary)}.lib-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.lib-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.lib-chip:hover{text-decoration:none}.lib-chip.on,.lib-chip:hover{color:var(--color-text-primary)}.lib-chip.on{border-color:var(--color-interactive);background:var(--color-interactive-soft);font-weight:550}.lib-n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}.lib-upload{margin-bottom:var(--space-5)}.lib-grid{list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.lib-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.lib-icon{width:2rem;height:2rem;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-surface-sunk);color:var(--color-interactive)}.lib-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.lib-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.lib-tools{display:flex;gap:var(--space-2);flex-shrink:0}.libpick{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:18rem;overflow-y:auto}.libpick li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-sm)}.libpick-icon{flex-shrink:0;color:var(--color-interactive)}.libpick-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.lib-card{flex-wrap:wrap}.lib-tools{width:100%}}.agent-fab{position:fixed;inset-block-end:var(--space-5);inset-inline-end:var(--space-5);z-index:40;padding:11px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--text-sm);font-weight:600;box-shadow:0 6px 24px rgb(0 0 0/.18);cursor:pointer}.agent-fab:hover{background:var(--color-surface-sunk)}.agent-panel{position:fixed;inset-block-end:var(--space-5);inset-inline-end:var(--space-5);z-index:40;width:min(26rem,calc(100vw - 2 * var(--space-4)));max-height:min(34rem,calc(100vh - 2 * var(--space-5)));display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 10px 40px rgb(0 0 0/.24);overflow:hidden}.agent-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-sunk)}.agent-log{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.agent-msg{margin:0;font-size:var(--text-sm);line-height:1.55;white-space:pre-wrap}.agent-msg.is-user{align-self:flex-end;max-width:85%;padding:8px 12px;border-radius:var(--radius-md);background:var(--color-interactive-soft)}.agent-msg.is-model{color:var(--color-text-secondary)}.agent-prop{border:1px solid var(--color-warning);border-inline-start-width:3px;border-radius:var(--radius-md);background:var(--color-warning-soft);padding:var(--space-3);display:flex;flex-direction:column;gap:7px}.agent-prop.done{border-color:var(--color-success);background:var(--color-success-soft)}.agent-prop.dropped{border-color:var(--color-border);background:var(--color-surface-sunk);opacity:.75}.agent-prop-label{font-size:var(--text-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.agent-prop-text{margin:0;font-size:var(--text-sm);line-height:1.5}.agent-ask{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border)}.agent-ask input{flex:1 1;min-width:0}@media (max-width:640px){.agent-panel{inset-inline:var(--space-3);width:auto}.agent-fab,.agent-panel{inset-block-end:var(--space-3)}.agent-fab{inset-inline-end:var(--space-3)}}