/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--text-xs:var(--text-xs);--text-sm:var(--text-sm);--text-base:var(--text-base);--text-lg:var(--text-lg);--text-xl:var(--text-xl);--text-2xl:var(--text-2xl);--text-2xl--line-height:calc(2 / 1.5);--text-3xl:var(--text-3xl);--text-4xl:var(--text-4xl);--text-5xl:var(--text-5xl);--leading-tight:var(--leading-tight);--leading-normal:var(--leading-normal);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--color-primary);--color-primary-hover:var(--color-primary-hover);--color-primary-subtle:var(--color-primary-subtle);--color-on-primary:var(--color-on-primary);--color-bg:var(--color-bg);--color-surface:var(--color-surface);--color-surface-alt:var(--color-surface-alt);--color-surface-raised:var(--color-surface-raised);--color-text:var(--color-text);--color-text-secondary:var(--color-text-secondary);--color-text-muted:var(--color-text-muted);--color-border:var(--color-border);--color-border-strong:var(--color-border-strong);--color-focus:var(--color-focus);--color-success:var(--color-success);--color-success-subtle:var(--color-success-subtle);--color-warning:var(--color-warning);--color-warning-subtle:var(--color-warning-subtle);--color-danger:var(--color-danger);--color-danger-subtle:var(--color-danger-subtle);--color-info:var(--color-info);--color-info-subtle:var(--color-info-subtle);--color-brand-accent:var(--color-brand-accent);--radius-full:var(--radius-full)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:var(--leading-normal)}a,button,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}:focus-visible{outline:calc(var(--space-unit) / 2) solid var(--color-focus);outline-offset:var(--space-unit)}.container{width:100%;max-width:var(--container-max);padding-inline:calc(var(--space-unit) * 4);margin-inline:auto}.site-header{z-index:10;min-height:var(--header-height);background:var(--color-surface);border-bottom:var(--stroke) solid var(--color-border);position:sticky;top:0}.brand{color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--weight-bold)}.select{padding:calc(var(--space-unit) * 2);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.hero-card{padding:calc(var(--space-unit) * 8);background:var(--color-primary-subtle);border-radius:var(--radius-lg)}.panel{padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.button{justify-content:center;align-items:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 5);font-weight:var(--weight-semibold);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;display:inline-flex}.button:hover{background:var(--color-primary-hover)}.step-number{width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 10);border-radius:var(--radius-full);background:var(--color-primary-subtle);font-weight:var(--weight-bold);justify-content:center;align-items:center;display:inline-flex}.skip-link,.step-number{color:var(--color-primary)}.skip-link{top:calc(var(--space-unit) * 2);left:calc(var(--space-unit) * 2);z-index:20;padding:calc(var(--space-unit) * 3);background:var(--color-surface);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.skeleton{min-height:var(--header-height);background:var(--color-surface-alt);border-radius:var(--radius-lg)}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-6{margin-top:calc(var(--space-unit) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--space-unit) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.py-12{padding-block:calc(var(--space-unit) * 12)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.font-bold{--tw-font-weight:var(--weight-bold);font-weight:var(--weight-bold)}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--font-sans:"Object Sans","Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--color-primary:#0056d2;--color-primary-hover:#00419e;--color-primary-subtle:#f0f6ff;--color-on-primary:#fff;--color-bg:#fff;--color-surface:#fff;--color-surface-alt:#f5f7f8;--color-surface-raised:#fff;--color-text:#1f1f1f;--color-text-secondary:#5b6780;--color-text-muted:#8a94a6;--color-border:#dae1ed;--color-border-strong:#b4bfd0;--color-focus:#0056d2;--color-success:#1f8354;--color-success-subtle:#e8f5ee;--color-warning:#b65302;--color-warning-subtle:#fff4e5;--color-danger:#d30001;--color-danger-subtle:#fdecec;--color-info:#0056d2;--color-info-subtle:#f0f6ff;--color-brand-accent:#e85a1f;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 8px 24px #0000001f;--space-unit:4px;--container-max:1280px;--header-height:64px;--sidebar-width:280px;--sidebar-collapsed-width:144px;--dialog-width:640px;--popover-width:320px;--logo-width:160px;--z-topbar:30;--z-dialog:1100;--text-display:clamp(2.75rem,5.2vw,4.75rem);--text-section:clamp(1.8rem,3vw,2.75rem);--tracking-display:-.055em;--tracking-heading:-.035em;--stroke:1px;--radius-card:20px;--radius-hero:32px;--motion-fast:.18s;--motion-normal:.35s;--motion-enter:.65s;--motion-float:6s;--motion-orbit:28s;--ease-out:cubic-bezier(.2,.7,.2,1);--lift-distance:-6px;--reveal-distance:24px;--color-art-violet:#6355c8;--color-art-teal:#17796b;--color-art-rose:#b24971;--color-art-ink:#152a52;--color-art-white:#fff;--shadow-float:0 28px 65px #152a5224;--gradient-hero:radial-gradient(ellipse at 75% 35%,var(--color-primary-subtle),transparent 65%)}[data-theme=dark]{--color-primary:#4d8eff;--color-primary-hover:#7aaaff;--color-primary-subtle:#14223a;--color-on-primary:#0b1220;--color-bg:#0f1114;--color-surface:#171a1f;--color-surface-alt:#1e2228;--color-surface-raised:#23272e;--color-text:#f2f4f7;--color-text-secondary:#a9b2c3;--color-text-muted:#7c8698;--color-border:#2e343d;--color-border-strong:#454d59;--color-focus:#7aaaff;--color-success:#4cc38a;--color-success-subtle:#12261c;--color-warning:#f0a050;--color-warning-subtle:#2a1e10;--color-danger:#ff6b6b;--color-danger-subtle:#2a1414;--color-info:#4d8eff;--color-info-subtle:#14223a;--shadow-sm:none;--shadow-md:0 2px 8px #0006;--shadow-lg:0 8px 24px #00000080}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) * 2)}body{overflow-wrap:break-word}svg{flex-shrink:0}a,button,select{transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-normal) var(--ease-out),box-shadow var(--motion-normal)}.container{padding-inline:calc(var(--space-unit) * 6)}.utility-bar{background:var(--color-art-ink);color:var(--color-art-white);font-size:var(--text-xs)}.utility-inner{min-height:calc(var(--space-unit) * 9);justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 4);display:flex}.utility-inner a{align-items:center;gap:var(--space-unit);display:flex}.utility-inner svg{width:calc(var(--space-unit) * 3)}.site-header{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--color-surface) 92%,transparent)}}.site-header{-webkit-backdrop-filter:blur(calc(var(--space-unit) * 4));backdrop-filter:blur(calc(var(--space-unit) * 4))}.header-inner{align-items:center;gap:calc(var(--space-unit) * 6);padding-block:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:calc(var(--space-unit) * 2);color:var(--color-text);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);white-space:nowrap;display:inline-flex}.brand-mark{width:calc(var(--space-unit) * 9);height:calc(var(--space-unit) * 9);color:var(--color-art-white);background:var(--color-brand-accent);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex;transform:rotate(-8deg)}.brand-mark svg{width:calc(var(--space-unit) * 6)}.main-nav{gap:calc(var(--space-unit) * 5);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.login-link:hover,.main-nav a:hover{color:var(--color-primary)}.header-search{align-items:center;gap:calc(var(--space-unit) * 2);background:var(--color-surface-alt);border-radius:var(--radius-full);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);flex:1;min-width:0;display:flex}.header-search svg{width:calc(var(--space-unit) * 4);color:var(--color-text-secondary)}.header-search input{width:100%;min-width:0;font-size:var(--text-sm);outline:none}.header-search:focus-within{outline:calc(var(--stroke) * 2) solid var(--color-focus)}.header-tools{align-items:center;gap:calc(var(--space-unit) * 4);margin-left:auto;display:flex}.header-tools .select{font-size:var(--text-xs);padding:calc(var(--space-unit) * 2);max-width:calc(var(--space-unit) * 25);background:0 0;border-color:#0000}.login-link{align-items:center;gap:var(--space-unit);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.login-link svg{width:calc(var(--space-unit) * 4)}.hero-section{gap:calc(var(--space-unit) * 16);padding-block:calc(var(--space-unit) * 22);background:var(--gradient-hero);grid-template-columns:1.05fr 1fr;align-items:center;display:grid;overflow:clip}.eyebrow{align-items:center;gap:calc(var(--space-unit) * 2);color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:var(--weight-bold);margin-bottom:calc(var(--space-unit) * 5);display:inline-flex}.status-dot{width:calc(var(--space-unit) * 2);height:calc(var(--space-unit) * 2);border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 var(--space-unit) var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.status-dot{box-shadow:0 0 0 var(--space-unit) color-mix(in srgb,var(--color-primary) 12%,transparent)}}.hero-copy h1{font-size:var(--text-display);line-height:1.04;font-weight:var(--weight-bold);letter-spacing:var(--tracking-display)}.hero-copy h1>span{color:var(--color-primary)}.hero-description{max-width:calc(var(--space-unit) * 130);margin-top:calc(var(--space-unit) * 7);font-size:var(--text-lg);color:var(--color-text-secondary)}.hero-actions{gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 8);flex-wrap:wrap;display:flex}.button{min-height:calc(var(--space-unit) * 13);border-radius:var(--radius-full);font-size:var(--text-sm);border:var(--stroke) solid transparent}.button svg{width:calc(var(--space-unit) * 4)}.button:hover{transform:translateY(calc(var(--lift-distance) / 2));box-shadow:var(--shadow-md)}.button.secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.hero-footnote{align-items:center;gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 6);color:var(--color-text-secondary);font-size:var(--text-xs);display:flex}.hero-footnote svg{width:calc(var(--space-unit) * 4);color:var(--color-primary)}.ai-scene{padding:calc(var(--space-unit) * 10) calc(var(--space-unit) * 5);min-width:0;position:relative}.scene-orbit{border:var(--stroke) dashed var(--color-border-strong);pointer-events:none;animation:orbit var(--motion-orbit) linear infinite;border-radius:50%;position:absolute;inset:0}.orbit-two{inset:calc(var(--space-unit) * 7) calc(var(--space-unit) * -3);animation-direction:reverse;transform:rotate(22deg)}.demo-window{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-float);transition:transform var(--motion-normal);position:relative;overflow:hidden;transform:rotate(-3deg)}.demo-window:hover{transform:rotate(0)}.window-bar{padding:calc(var(--space-unit) * 4);border-bottom:var(--stroke) solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.window-bar>svg{width:calc(var(--space-unit) * 4)}.window-dots{gap:var(--space-unit);display:flex}.window-dots i{width:calc(var(--space-unit) * 2);height:calc(var(--space-unit) * 2);border-radius:var(--radius-full);background:var(--color-border-strong)}.window-dots i:first-child{background:var(--color-brand-accent)}.window-content{padding:calc(var(--space-unit) * 6)}.demo-tag{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 4);display:flex}.window-content h2{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading)}.window-content>p{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 2)}.mini-project{margin-top:calc(var(--space-unit) * 5);padding:calc(var(--space-unit) * 5);min-height:calc(var(--space-unit) * 44);background:var(--color-primary-subtle);border-radius:var(--radius-lg);transition:background var(--motion-normal);position:relative;overflow:hidden}.mini-title{font-weight:var(--weight-bold);max-width:55%;font-size:var(--text-base);display:block;position:relative}.mini-lines{gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 4);width:45%;display:grid}.mini-lines span{height:calc(var(--space-unit) * 2);background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.mini-lines span{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}}.mini-lines span{border-radius:var(--radius-full)}.mini-lines span:nth-child(2){width:80%}.mini-lines span:nth-child(3){width:60%}.mini-planet{right:calc(var(--space-unit) * 6);top:calc(var(--space-unit) * 7);width:calc(var(--space-unit) * 22);height:calc(var(--space-unit) * 22);background:linear-gradient(135deg,var(--color-primary),var(--color-art-violet));box-shadow:var(--shadow-lg);transition:transform var(--motion-enter);border-radius:50%;position:absolute}.mini-planet span{border:calc(var(--stroke) * 2) solid var(--color-art-white);position:absolute;inset:22% -25%}@supports (color:color-mix(in lab,red,red)){.mini-planet span{border:calc(var(--stroke) * 2) solid color-mix(in srgb,var(--color-art-white) 60%,transparent)}}.mini-planet span{border-radius:50%;transform:rotate(-25deg)}.mini-planet span:nth-child(2){inset:5% 20%;transform:rotate(35deg)}.mini-planet span:nth-child(3){border-color:var(--color-brand-accent);inset:40% -35%;transform:rotate(-25deg)}.is-generated .mini-planet{transform:rotate(35deg)scale(1.05)}.variation-2.is-generated .mini-planet{background:linear-gradient(135deg,var(--color-art-teal),var(--color-primary));transform:rotate(-25deg)}.variation-0.is-generated .mini-planet{background:linear-gradient(135deg,var(--color-brand-accent),var(--color-art-rose));transform:rotate(70deg)}.mini-ready{align-items:center;gap:var(--space-unit);margin-top:calc(var(--space-unit) * 4);font-size:var(--text-xs);color:var(--color-success);display:inline-flex}.mini-ready svg{width:calc(var(--space-unit) * 3)}.prompt-box{align-items:center;gap:calc(var(--space-unit) * 2);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);width:100%;margin-top:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 3);font-size:var(--text-xs);text-align:left;cursor:pointer;display:flex}.prompt-box:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.prompt-box>svg{width:calc(var(--space-unit) * 4);color:var(--color-primary)}.prompt-submit{width:calc(var(--space-unit) * 7);height:calc(var(--space-unit) * 7);color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-md);justify-content:center;align-items:center;margin-left:auto;display:flex}.prompt-submit svg{width:calc(var(--space-unit) * 4)}.demo-disclaimer{min-height:calc(var(--space-unit) * 8)}.floating-label{align-items:center;gap:calc(var(--space-unit) * 2);border:var(--stroke) solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:var(--weight-semibold);z-index:1;animation:float var(--motion-float) ease-in-out infinite;display:flex;position:absolute}.floating-label svg{width:calc(var(--space-unit) * 4);color:var(--color-brand-accent)}.label-top{top:calc(var(--space-unit) * 3);left:0}.label-bottom{bottom:calc(var(--space-unit) * 5);animation-delay:-3s;right:0}.facts-strip{border-block:var(--stroke) solid var(--color-border)}.facts-inner{justify-content:space-between;gap:calc(var(--space-unit) * 5);padding-block:calc(var(--space-unit) * 6);flex-wrap:wrap}.facts-inner,.facts-inner>span{align-items:center;display:flex}.facts-inner>span{gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.facts-inner svg{color:var(--color-primary);width:calc(var(--space-unit) * 5)}.section-space{padding-block:calc(var(--space-unit) * 22)}.section-heading{justify-content:space-between;align-items:flex-end;gap:calc(var(--space-unit) * 8);margin-bottom:calc(var(--space-unit) * 9);display:flex}h2:not(.window-content h2):not(.footer-grid h2):not(.course-summary h2):not(.panel h2){letter-spacing:var(--tracking-heading)}.alignment-layout h2,.contact-section h2,.faq-layout h2,.grade-inner h2,.school-assurance h2,.school-banner h2,.school-explainer h2,.section-heading h2{font-size:var(--text-section);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.section-heading .eyebrow{margin-bottom:calc(var(--space-unit) * 3)}.section-heading>p{max-width:calc(var(--space-unit) * 85);font-size:var(--text-sm);color:var(--color-text-secondary)}.catalog-controls{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.filter-tabs,.grade-filters{gap:calc(var(--space-unit) * 2);flex-wrap:wrap;display:flex}.filter-tabs{background:var(--color-surface-alt);border-radius:var(--radius-full);padding:var(--space-unit)}.filter-tabs button,.grade-filters button{cursor:pointer;font-size:var(--text-sm);border-radius:var(--radius-full);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);color:var(--color-text-secondary)}.filter-tabs .active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.grade-filters button{border:var(--stroke) solid var(--color-border)}.grade-filters .active{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.demo-notice{font-size:var(--text-xs);color:var(--color-text-secondary);border-left:calc(var(--stroke) * 2) solid var(--color-brand-accent);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);margin-block:calc(var(--space-unit) * 5);display:block}.course-grid{gap:calc(var(--space-unit) * 6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.course-card{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;transition:transform var(--motion-normal),box-shadow var(--motion-normal);flex-direction:column;display:flex;overflow:hidden}.course-card:hover{transform:translateY(var(--lift-distance));box-shadow:var(--shadow-lg)}.course-art{aspect-ratio:16/10;background:var(--color-art-ink);color:var(--color-art-white);position:relative;overflow:hidden}.art-explorer,.art-solutions{background:var(--color-art-teal)}.art-creative,.art-studio{background:var(--color-art-violet)}.art-coding{background:var(--color-primary)}.art-lab{background:var(--color-art-rose)}.art-grid{background-image:linear-gradient(var(--color-art-white) var(--stroke),transparent var(--stroke)),linear-gradient(90deg,var(--color-art-white) var(--stroke),transparent var(--stroke));position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.art-grid{background-image:linear-gradient(color-mix(in srgb,var(--color-art-white) 10%,transparent) var(--stroke),transparent var(--stroke)),linear-gradient(90deg,color-mix(in srgb,var(--color-art-white) 10%,transparent) var(--stroke),transparent var(--stroke))}}.art-grid{background-size:calc(var(--space-unit) * 8) calc(var(--space-unit) * 8);-webkit-mask-image:linear-gradient(transparent,var(--color-art-white));mask-image:linear-gradient(transparent,var(--color-art-white))}.art-index{top:calc(var(--space-unit) * 4);left:calc(var(--space-unit) * 5);font-family:var(--font-mono);font-size:var(--text-sm);opacity:.65;position:absolute}.art-object{aspect-ratio:1;border:var(--stroke) solid var(--color-art-white);justify-content:center;align-items:center;width:36%;display:flex;position:absolute;top:20%;left:32%}@supports (color:color-mix(in lab,red,red)){.art-object{border:var(--stroke) solid color-mix(in srgb,var(--color-art-white) 40%,transparent)}}.art-object{border-radius:var(--radius-card);background:var(--color-art-white)}@supports (color:color-mix(in lab,red,red)){.art-object{background:color-mix(in srgb,var(--color-art-white) 12%,transparent)}}.art-object{box-shadow:var(--shadow-lg);transition:transform var(--motion-normal);transform:rotate(-14deg)}.course-card:hover .art-object{transform:rotate(0)scale(1.07)}.art-object>svg{width:50%;height:50%}.art-object .art-spark{width:30%;color:var(--color-art-white);position:absolute;top:-20%;right:-20%}.art-caption{bottom:calc(var(--space-unit) * 5);left:calc(var(--space-unit) * 5);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;position:absolute}.card-arrow{bottom:calc(var(--space-unit) * 4);right:calc(var(--space-unit) * 4);width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8);background:var(--color-art-white);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.card-arrow{background:color-mix(in srgb,var(--color-art-white) 20%,transparent)}}.card-arrow svg{width:calc(var(--space-unit) * 4)}.course-card-body{padding:calc(var(--space-unit) * 6);flex-direction:column;flex:1;display:flex}.course-meta{gap:calc(var(--space-unit) * 2);color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.course-meta>span:first-child{background:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-full);padding-inline:calc(var(--space-unit) * 2)}.course-card h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight)}.course-card p{font-size:var(--text-sm);margin-block:calc(var(--space-unit) * 3) calc(var(--space-unit) * 5)}.course-card p,.course-card-foot{color:var(--color-text-secondary)}.course-card-foot{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 3);padding-top:calc(var(--space-unit) * 4);border-top:var(--stroke) solid var(--color-border);font-size:var(--text-xs);margin-top:auto;display:flex}.course-card-foot svg{width:calc(var(--space-unit) * 4)}.text-link{gap:calc(var(--space-unit) * 2);color:var(--color-primary);font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-top:calc(var(--space-unit) * 6);cursor:pointer;align-items:center;display:inline-flex}.text-link svg{width:calc(var(--space-unit) * 4)}.text-link:hover{gap:calc(var(--space-unit) * 3)}.grade-section{background:var(--color-surface-alt)}.grade-inner{gap:calc(var(--space-unit) * 16);padding-block:calc(var(--space-unit) * 14);grid-template-columns:1fr 1.2fr;align-items:center;display:grid}.grade-inner p{color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 4)}.grade-links{gap:calc(var(--space-unit) * 3);display:flex}.grade-links a{align-items:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 3);background:var(--color-surface);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;position:relative}.grade-links a>span:first-child{font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-primary);letter-spacing:var(--tracking-display)}.grade-links a>span:nth-child(2){color:var(--color-text-secondary);font-size:var(--text-xs)}.grade-links a>svg{width:calc(var(--space-unit) * 3);color:var(--color-text-secondary)}.grade-links a:hover{border-color:var(--color-primary);transform:translateY(var(--lift-distance))}.steps-grid{gap:calc(var(--space-unit) * 8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.step-index{color:var(--color-primary);font-size:var(--text-4xl);letter-spacing:var(--tracking-display);padding-bottom:calc(var(--space-unit) * 6);border-bottom:var(--stroke) solid var(--color-border);display:block}.steps-grid h3{font-weight:var(--weight-semibold);font-size:var(--text-lg);margin-top:calc(var(--space-unit) * 5)}.steps-grid p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 3)}.school-banner{align-items:center;gap:calc(var(--space-unit) * 12);background:var(--color-art-ink);color:var(--color-art-white);border-radius:var(--radius-hero);padding:calc(var(--space-unit) * 14);grid-template-columns:.65fr 1fr;display:grid;overflow:hidden}.school-banner .eyebrow{opacity:.75}.school-banner .eyebrow,.school-banner p{color:var(--color-art-white)}@supports (color:color-mix(in lab,red,red)){.school-banner p{color:color-mix(in srgb,var(--color-art-white) 75%,transparent)}}.school-banner p{margin-block:calc(var(--space-unit) * 5) calc(var(--space-unit) * 7);max-width:calc(var(--space-unit) * 130)}.school-banner .button{background:var(--color-art-white);color:var(--color-art-ink)}.school-banner-art{aspect-ratio:1.2;border-radius:var(--radius-card);background:linear-gradient(135deg,var(--color-primary),transparent);justify-content:center;align-items:center;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.school-banner-art{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 55%,transparent),transparent)}}.school-banner-art>svg{width:50%;height:50%;color:var(--color-art-white);transform:rotate(-12deg)}.banner-orbit{border:var(--stroke) solid var(--color-art-white);width:100%;height:50%;position:absolute}@supports (color:color-mix(in lab,red,red)){.banner-orbit{border:var(--stroke) solid color-mix(in srgb,var(--color-art-white) 30%,transparent)}}.banner-orbit{border-radius:50%;transform:rotate(-30deg)}.alignment-layout,.faq-layout{gap:calc(var(--space-unit) * 22);grid-template-columns:1fr 1fr;align-items:start;display:grid}.alignment-layout>div>p,.faq-layout>div>p{color:var(--color-text-secondary);margin-block:calc(var(--space-unit) * 5)}.alignment-check{gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 4);font-size:var(--text-sm);align-items:center;display:flex}.alignment-check svg{width:calc(var(--space-unit) * 5);color:var(--color-success)}.objective-example{padding:calc(var(--space-unit) * 7);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt)}.example-label{color:var(--color-text-secondary);font-size:var(--text-xs)}.objective-code{font-family:var(--font-mono);color:var(--color-primary);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);border-radius:var(--radius-md);background:var(--color-primary-subtle);margin:calc(var(--space-unit) * 4) 0;display:inline-block}.objective-example h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.objective-example p{font-size:var(--text-sm)}.objective-connector{width:var(--stroke);height:calc(var(--space-unit) * 8);background:var(--color-border-strong);margin:0 auto}.objective-lesson{align-items:center;gap:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 4);background:var(--color-surface);border-radius:var(--radius-lg);border:var(--stroke) solid var(--color-border);display:flex}.objective-lesson>svg{color:var(--color-primary);width:calc(var(--space-unit) * 5)}.objective-lesson>svg:last-child{margin-left:auto}.objective-lesson span{font-size:var(--text-xs);color:var(--color-text-secondary);display:block}.objective-lesson strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.objective-example small{margin-top:calc(var(--space-unit) * 4);font-size:var(--text-xs);color:var(--color-text-secondary);display:block}.faq-section{background:var(--color-surface-alt);padding-block:calc(var(--space-unit) * 20)}.faq-list details{border-bottom:var(--stroke) solid var(--color-border)}.faq-list summary{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 4);cursor:pointer;font-weight:var(--weight-medium);padding-block:calc(var(--space-unit) * 5);list-style:none;display:flex}summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--color-primary);font-size:var(--text-2xl);transition:transform var(--motion-normal)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:var(--text-sm);color:var(--color-text-secondary);padding-bottom:calc(var(--space-unit) * 5)}.contact-section{gap:calc(var(--space-unit) * 22);grid-template-columns:.85fr 1fr;display:grid}.contact-section>div>p{margin-block:calc(var(--space-unit) * 6);color:var(--color-text-secondary)}.contact-point{align-items:center;gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 4);font-size:var(--text-sm);display:flex}.contact-point svg{color:var(--color-success);width:calc(var(--space-unit) * 4)}.contact-form{padding:calc(var(--space-unit) * 7);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.form-grid{gap:calc(var(--space-unit) * 4);grid-template-columns:1fr 1fr;display:grid}.contact-form label,.login-card label{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:calc(var(--space-unit) * 4);flex-direction:column;display:flex}.contact-form input,.contact-form textarea,.draft-result textarea,.login-card input{width:100%;min-width:0;padding:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-weight:var(--weight-regular)}.form-note{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 5)}.draft-result{margin-top:calc(var(--space-unit) * 6);padding-top:calc(var(--space-unit) * 5);border-top:var(--stroke) solid var(--color-border)}.draft-result h3{font-weight:var(--weight-semibold)}.draft-result p{font-size:var(--text-xs);color:var(--color-text-secondary);margin-block:calc(var(--space-unit) * 3)}.site-footer{background:var(--color-surface-alt);border-top:var(--stroke) solid var(--color-border);padding-top:calc(var(--space-unit) * 14)}.footer-grid{gap:calc(var(--space-unit) * 10);padding-bottom:calc(var(--space-unit) * 12);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-intro>p{max-width:calc(var(--space-unit) * 75);margin-top:calc(var(--space-unit) * 4)}.footer-grid h2{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 5)}.footer-grid>div>a:not(.brand):not(.text-link){font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 3);display:block}.footer-grid a:hover{color:var(--color-primary)}.footer-grid p{font-size:var(--text-sm)}.footer-bottom,.footer-grid p{color:var(--color-text-secondary)}.footer-bottom{gap:calc(var(--space-unit) * 4);border-top:var(--stroke) solid var(--color-border);padding-block:calc(var(--space-unit) * 6);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;display:flex}.page-heading{max-width:calc(var(--space-unit) * 175);margin-bottom:calc(var(--space-unit) * 10)}.login-intro h1,.page-heading h1,.school-page-hero h1{font-size:var(--text-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.page-heading p,.school-page-hero>p{font-size:var(--text-lg);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 5)}.search-field{gap:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-full);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);align-items:center;display:flex}.search-field svg{color:var(--color-text-secondary);width:calc(var(--space-unit) * 4)}.search-field input{width:100%;min-width:0;font-size:var(--text-sm);outline:none}.search-field:focus-within{outline:calc(var(--stroke) * 2) solid var(--color-focus)}.empty-state{text-align:center;padding-block:calc(var(--space-unit) * 20);background:var(--color-surface-alt);border-radius:var(--radius-card)}.empty-state>svg{margin:0 auto calc(var(--space-unit) * 5);color:var(--color-primary)}.empty-state h3{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.empty-state p{color:var(--color-text-secondary);margin-block:calc(var(--space-unit) * 3) calc(var(--space-unit) * 5)}.course-hero{background:var(--color-primary-subtle);padding-block:calc(var(--space-unit) * 8) calc(var(--space-unit) * 16)}.breadcrumbs{gap:calc(var(--space-unit) * 3);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 10);display:flex}.course-hero-grid{align-items:center;gap:calc(var(--space-unit) * 16);grid-template-columns:1.4fr 1fr;display:grid}.course-hero h1{font-size:var(--text-section);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading)}.course-hero p{font-size:var(--text-lg);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 5)}.skill-chips{gap:calc(var(--space-unit) * 2);margin-block:calc(var(--space-unit) * 5) calc(var(--space-unit) * 7);flex-wrap:wrap;display:flex}.skill-chips span{background:var(--color-surface);border:var(--stroke) solid var(--color-border);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border-radius:var(--radius-full);font-size:var(--text-xs)}.detail-art{border-radius:var(--radius-card)}.course-detail-layout{gap:calc(var(--space-unit) * 16);margin-top:calc(var(--space-unit) * 10);grid-template-columns:1.8fr 1fr;align-items:start;display:grid}.course-detail-layout h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.learning-outcomes{gap:calc(var(--space-unit) * 5);margin-top:calc(var(--space-unit) * 6);grid-template-columns:1fr 1fr;display:grid}.learning-outcomes>div{align-items:flex-start;gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);display:flex}.learning-outcomes svg{color:var(--color-success);width:calc(var(--space-unit) * 5)}.curriculum-title{margin-block:calc(var(--space-unit) * 12) calc(var(--space-unit) * 6)}.module-accordion{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.module-accordion summary{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 5);cursor:pointer;background:var(--color-surface-alt);list-style:none;display:flex}.module-accordion summary span{font-size:var(--text-xs);color:var(--color-text-secondary)}.module-accordion summary h3{font-weight:var(--weight-semibold);margin-top:var(--space-unit)}.module-accordion li{gap:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 5);font-size:var(--text-sm);border-top:var(--stroke) solid var(--color-border);display:flex}.module-accordion li>span{color:var(--color-primary);font-family:var(--font-mono)}.course-summary{padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card)}.course-summary>div{gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);margin-top:calc(var(--space-unit) * 5);align-items:center;display:flex}.course-summary>div svg{color:var(--color-primary);width:calc(var(--space-unit) * 5)}.course-summary p{color:var(--color-text-secondary);font-size:var(--text-xs);margin-block:calc(var(--space-unit) * 6)}.school-page-hero{text-align:center;max-width:calc(var(--space-unit) * 220);margin-inline:auto;margin-bottom:calc(var(--space-unit) * 15)}.school-page-hero .button{margin-top:calc(var(--space-unit) * 8)}.school-benefits{gap:calc(var(--space-unit) * 4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.school-benefits .panel{border-radius:var(--radius-card)}.school-benefits svg{color:var(--color-primary);margin-bottom:calc(var(--space-unit) * 5)}.school-benefits h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.school-benefits p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 4)}.school-explainer{gap:calc(var(--space-unit) * 20);padding-block:calc(var(--space-unit) * 22);grid-template-columns:1fr 1fr;display:grid}.school-explainer p{margin-top:calc(var(--space-unit) * 4);color:var(--color-text-secondary)}.school-explainer li{align-items:flex-start;gap:calc(var(--space-unit) * 5);margin-bottom:calc(var(--space-unit) * 6);display:flex}.school-explainer h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.school-explainer li p{font-size:var(--text-sm)}.step-number{flex-shrink:0}.school-assurance{gap:calc(var(--space-unit) * 8);padding:calc(var(--space-unit) * 10);background:var(--color-primary-subtle);border-radius:var(--radius-card);margin-bottom:calc(var(--space-unit) * 20);display:flex}.school-assurance>svg{color:var(--color-primary);width:calc(var(--space-unit) * 12);height:calc(var(--space-unit) * 12)}.school-assurance p{margin-top:calc(var(--space-unit) * 4);color:var(--color-text-secondary)}.school-assurance span{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);margin-top:calc(var(--space-unit) * 5);display:inline-flex}.school-assurance span svg{color:var(--color-success);width:calc(var(--space-unit) * 4)}.login-page{gap:calc(var(--space-unit) * 22);padding-block:calc(var(--space-unit) * 22);grid-template-columns:1fr 1fr;align-items:center;display:grid}.login-intro p{color:var(--color-text-secondary);font-size:var(--text-lg);margin-top:calc(var(--space-unit) * 5)}.login-card{border:var(--stroke) solid var(--color-border);padding:calc(var(--space-unit) * 10);border-radius:var(--radius-card);box-shadow:var(--shadow-lg)}.login-lock{width:calc(var(--space-unit) * 12);height:calc(var(--space-unit) * 12);border-radius:var(--radius-lg);background:var(--color-primary-subtle);color:var(--color-primary);margin-bottom:calc(var(--space-unit) * 6);justify-content:center;align-items:center;display:flex}.login-card h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.login-card>p{color:var(--color-text-secondary);margin-block:calc(var(--space-unit) * 4) calc(var(--space-unit) * 8);font-size:var(--text-sm)}.password-field{border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-md);align-items:center;display:flex}.password-field input{border:none}.password-field button{padding:calc(var(--space-unit) * 3);cursor:pointer;color:var(--color-text-secondary);display:flex}.password-field svg{width:calc(var(--space-unit) * 5)}.login-decoration{gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 12);display:flex}.login-decoration span{width:calc(var(--space-unit) * 16);height:calc(var(--space-unit) * 16);border-radius:var(--radius-lg);background:var(--color-primary-subtle);transform:rotate(-12deg)}.login-decoration span:nth-child(2){background:var(--color-primary);transform:rotate(8deg)}.login-decoration span:nth-child(3){background:var(--color-brand-accent);transform:rotate(-5deg)}.reveal{opacity:1;transition:opacity var(--motion-enter) var(--ease-out),transform var(--motion-enter) var(--ease-out);transform:none}.reveal[data-pending]{opacity:0;transform:translateY(var(--reveal-distance))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--lift-distance) * 1.5))}}@keyframes orbit{to{transform:rotate(1turn)}}@media (max-width:72rem){.header-search{display:none}.header-inner{gap:calc(var(--space-unit) * 4)}.hero-section{gap:calc(var(--space-unit) * 8)}.alignment-layout,.contact-section,.faq-layout{gap:calc(var(--space-unit) * 12)}}@media (max-width:48rem){.header-inner{gap:calc(var(--space-unit) * 3)}.main-nav{margin-left:auto}.header-tools{justify-content:space-between;width:100%}.utility-inner>span{font-size:var(--text-xs)}.utility-inner>a{display:none}.alignment-layout,.contact-section,.course-detail-layout,.course-hero-grid,.faq-layout,.grade-inner,.hero-section,.login-page,.school-explainer{grid-template-columns:1fr}.hero-section{padding-block:calc(var(--space-unit) * 12);gap:calc(var(--space-unit) * 7)}.hero-copy h1{max-width:100%}.ai-scene{max-width:calc(var(--space-unit) * 135);width:100%;margin-inline:auto}.section-space{padding-block:calc(var(--space-unit) * 14)}.section-heading{align-items:flex-start;gap:calc(var(--space-unit) * 4);flex-direction:column}.section-heading>p{max-width:none}.facts-inner{gap:calc(var(--space-unit) * 5);grid-template-columns:1fr 1fr;display:grid}.facts-inner>span{font-size:var(--text-xs)}.course-grid{gap:calc(var(--space-unit) * 4);grid-template-columns:repeat(2,minmax(0,1fr))}.course-card-body{padding:calc(var(--space-unit) * 4)}.course-card h3{font-size:var(--text-lg)}.grade-inner{gap:calc(var(--space-unit) * 8)}.grade-links{gap:calc(var(--space-unit) * 2)}.grade-links a{padding-inline:calc(var(--space-unit) * 2)}.school-benefits,.steps-grid{gap:calc(var(--space-unit) * 6);grid-template-columns:1fr 1fr}.school-banner{padding:calc(var(--space-unit) * 8);gap:calc(var(--space-unit) * 6);grid-template-columns:.5fr 1fr}.school-banner-art{aspect-ratio:1}.alignment-layout,.contact-section,.faq-layout,.footer-grid{gap:calc(var(--space-unit) * 8)}.footer-grid{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}.course-hero-grid .detail-art{max-width:calc(var(--space-unit) * 120);width:100%}.school-explainer{gap:calc(var(--space-unit) * 8);padding-block:calc(var(--space-unit) * 14)}.login-page{gap:calc(var(--space-unit) * 10)}.login-decoration{display:none}}@media (max-width:32rem){.container{padding-inline:calc(var(--space-unit) * 4)}.brand{font-size:var(--text-base)}.main-nav{font-size:var(--text-xs);gap:calc(var(--space-unit) * 3)}.brand-mark{width:calc(var(--space-unit) * 7);height:calc(var(--space-unit) * 7)}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.ai-scene{padding-inline:calc(var(--space-unit) * 2)}.window-content{padding:calc(var(--space-unit) * 4)}.floating-label{font-size:var(--text-xs)}.course-grid{grid-template-columns:1fr}.steps-grid{gap:calc(var(--space-unit) * 4)}.steps-grid h3{font-size:var(--text-base)}.grade-links a>span:first-child{font-size:var(--text-3xl)}.school-banner{grid-template-columns:1fr}.school-banner-art{max-height:calc(var(--space-unit) * 40);aspect-ratio:2}.school-banner-art>svg{width:30%;height:70%}.form-grid,.learning-outcomes,.school-benefits{grid-template-columns:1fr}.contact-form,.login-card{padding:calc(var(--space-unit) * 5)}.filter-tabs{border-radius:var(--radius-lg)}.filter-tabs button{padding-inline:calc(var(--space-unit) * 3);font-size:var(--text-xs)}.search-field{width:100%}.school-assurance{padding:calc(var(--space-unit) * 6);gap:calc(var(--space-unit) * 4)}.school-assurance>svg{width:calc(var(--space-unit) * 7);height:calc(var(--space-unit) * 7)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}.reveal[data-pending]{opacity:1;transform:none}.demo-window{transform:none}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:calc(var(--space-unit) * 10);padding-block:calc(var(--space-unit) * 10);display:grid}.app-sidebar{top:calc(var(--header-height) * 2);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:calc(var(--space-unit) * 6);align-self:start;position:sticky}.user-avatar{width:calc(var(--space-unit) * 12);height:calc(var(--space-unit) * 12);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:calc(var(--space-unit) * 4);justify-content:center;align-items:center;display:flex}.app-sidebar>p{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:var(--space-unit)}.app-sidebar nav{gap:var(--space-unit);margin-block:calc(var(--space-unit) * 7);display:grid}.app-sidebar nav a{font-size:var(--text-sm);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md);color:var(--color-text-secondary)}.app-sidebar nav a.active{color:var(--color-primary);background:var(--color-primary-subtle);font-weight:var(--weight-semibold)}.logout-button{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;display:flex}.logout-button svg{width:calc(var(--space-unit) * 4)}.app-content{min-width:0;padding-bottom:calc(var(--space-unit) * 12)}.app-heading{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 5);margin-bottom:calc(var(--space-unit) * 8);display:flex}.app-heading .eyebrow{margin-bottom:calc(var(--space-unit) * 3)}.app-heading h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading)}.icon-button{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-full);padding:calc(var(--space-unit) * 3);cursor:pointer;justify-content:center;align-items:center;display:flex}.icon-button svg{width:calc(var(--space-unit) * 4)}.app-stats{gap:calc(var(--space-unit) * 5);margin-bottom:calc(var(--space-unit) * 8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-card{gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;display:flex}.stat-card>svg{width:calc(var(--space-unit) * 5);color:var(--color-primary)}.stat-card strong{font-size:var(--text-3xl);line-height:var(--leading-tight)}.stat-card span{color:var(--color-text-secondary);font-size:var(--text-sm)}.course-outline,.data-cards,.learning-courses,.lesson-blocks{gap:calc(var(--space-unit) * 5);display:grid}.learning-course{grid-template-columns:calc(var(--space-unit) * 22) minmax(0,1fr) auto;align-items:center;gap:calc(var(--space-unit) * 6);padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.course-thumb{aspect-ratio:1;border-radius:var(--radius-lg);width:100%;color:var(--color-art-white);justify-content:center;align-items:center;display:flex}.course-thumb svg{width:40%;height:40%}.data-card h2,.learning-course h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.data-card p,.learning-course p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:calc(var(--space-unit) * 2)}.progress-track{height:calc(var(--space-unit) * 2);background:var(--color-surface-alt);border-radius:var(--radius-full);margin-block:calc(var(--space-unit) * 4) calc(var(--space-unit) * 2);overflow:hidden}.progress-track>span{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.learning-course small{font-size:var(--text-xs);color:var(--color-text-secondary)}.data-card{align-items:center;gap:calc(var(--space-unit) * 5);padding:calc(var(--space-unit) * 5);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;display:flex}.data-card>div{flex:1;min-width:0}.data-card>svg{width:calc(var(--space-unit) * 5);color:var(--color-primary)}.data-card code{font-size:var(--text-xs);overflow-wrap:anywhere}.status-pill{border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--text-xs);padding:var(--space-unit) calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 2);display:inline-block}.row-actions{gap:calc(var(--space-unit) * 3);flex-wrap:wrap;justify-content:flex-end;display:flex}.row-actions .text-link{font-size:var(--text-xs);margin:0}.danger{color:var(--color-danger)}.contract-card,.record-card{flex-direction:column;align-items:flex-start}.record-card p{white-space:pre-wrap}.credential-dialog{gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 7);border:calc(var(--stroke) * 2) solid var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-card);margin-bottom:calc(var(--space-unit) * 7);display:grid}.credential-dialog>svg{color:var(--color-primary)}.credential-dialog code{font-family:var(--font-mono);background:var(--color-surface);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md)}.credential-dialog p{font-size:var(--text-sm);color:var(--color-text-secondary)}.api-error{padding:calc(var(--space-unit) * 5);border-radius:var(--radius-lg);color:var(--color-danger);background:var(--color-danger-subtle);margin-block:calc(var(--space-unit) * 4)}.api-error .button{margin-top:calc(var(--space-unit) * 3)}.learning-panel{padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);margin-bottom:calc(var(--space-unit) * 5)}.learning-panel>h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 4)}.learning-panel p{white-space:pre-wrap;margin-block:calc(var(--space-unit) * 3)}.learning-panel summary{cursor:pointer;font-weight:var(--weight-semibold)}.learning-panel>ul{padding-left:calc(var(--space-unit) * 5);list-style:outside}.learning-panel li{margin-block:calc(var(--space-unit) * 3)}.code-block pre,.review-answers{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);background:var(--color-surface-alt);padding:calc(var(--space-unit) * 5);border-radius:var(--radius-md);font-size:var(--text-sm);overflow:auto}.platform-form{gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 5);display:grid}.platform-form label{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);font-weight:var(--weight-medium);flex-direction:column;display:flex}.platform-form input:not([type=checkbox]),.platform-form select,.platform-form textarea,.quiz-questions input:not([type=radio]):not([type=checkbox]),.quiz-questions select,.quiz-questions textarea{width:100%;min-width:0;color:var(--color-text);background:var(--color-bg);border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-md);padding:calc(var(--space-unit) * 3);font-weight:var(--weight-regular)}.platform-form textarea{resize:vertical}.platform-form .button{justify-self:start}.platform-form .checkbox-label{flex-direction:row;align-items:center}.create-panel{margin-top:calc(var(--space-unit) * 8)}.quiz-questions{gap:calc(var(--space-unit) * 7);margin-block:calc(var(--space-unit) * 7);display:grid}.quiz-questions fieldset{border-bottom:var(--stroke) solid var(--color-border);padding-bottom:calc(var(--space-unit) * 6);min-width:0}.quiz-questions legend{font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 4)}.answer-options{gap:calc(var(--space-unit) * 3);display:grid}.answer-options label{align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.answer-options input{accent-color:var(--color-primary)}.matching-options{gap:calc(var(--space-unit) * 3);display:grid}.matching-options label{gap:calc(var(--space-unit) * 4);grid-template-columns:1fr 1fr;align-items:center;display:grid}.ordering-options li{align-items:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 3);background:var(--color-surface-alt);border-radius:var(--radius-md);display:flex}.ordering-options li span{flex:1}.ordering-options button{padding:calc(var(--space-unit) * 2);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.ordering-options button:disabled{opacity:.4;cursor:default}.quiz-result>strong{font-size:var(--text-4xl);color:var(--color-primary);display:block}.submission-card{gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4);border-top:var(--stroke) solid var(--color-border);margin-top:calc(var(--space-unit) * 5);display:grid}.submission-card strong{color:var(--color-primary)}@media (max-width:64rem){.app-shell{grid-template-columns:calc(var(--space-unit) * 52) minmax(0,1fr);gap:calc(var(--space-unit) * 6)}.learning-course{grid-template-columns:calc(var(--space-unit) * 15) minmax(0,1fr)}.learning-course>.button{grid-column:1/-1;justify-self:start}.app-stats{gap:calc(var(--space-unit) * 3)}.stat-card{padding:calc(var(--space-unit) * 4)}}@media (max-width:48rem){.app-shell{padding-block:calc(var(--space-unit) * 6);grid-template-columns:1fr}.app-sidebar{padding:calc(var(--space-unit) * 4);align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex;position:static}.user-avatar{width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8);margin:0}.app-sidebar>p{margin-left:auto}.app-sidebar nav{gap:var(--space-unit);flex-wrap:wrap;width:100%;margin:0;display:flex}.app-sidebar nav a{padding:calc(var(--space-unit) * 2);font-size:var(--text-xs)}.logout-button{margin-left:auto}.app-heading h1,.stat-card strong{font-size:var(--text-2xl)}.stat-card span{font-size:var(--text-xs)}.app-stats{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:1/-1}.data-card{align-items:flex-start}.row-actions{justify-content:flex-start}.learning-panel{padding:calc(var(--space-unit) * 4)}.matching-options label,.platform-form.form-grid{grid-template-columns:1fr}.learning-course{padding:calc(var(--space-unit) * 4);gap:calc(var(--space-unit) * 4)}}.access-suspended{z-index:1000;background:var(--color-bg);padding:calc(var(--space-unit) * 5);place-items:center;display:grid;position:fixed;inset:0}.access-suspended article{max-width:calc(var(--space-unit) * 150)}.course-cover{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.rich-text p{margin-block:calc(var(--space-unit) * 3)}.rich-text ol,.rich-text ul{padding-left:calc(var(--space-unit) * 6)}.rich-text ul{list-style:outside}.rich-text ol{list-style:decimal}.rich-text a{color:var(--color-primary);text-decoration:underline}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.honeypot{display:none}.lesson-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--space-unit) * 60)),1fr));gap:calc(var(--space-unit) * 4);display:grid}.lesson-gallery img{border-radius:var(--radius-md);width:100%}.image-modal{z-index:900;background:var(--color-bg);padding:calc(var(--space-unit) * 5);place-items:center;display:grid;position:fixed;inset:0}.image-modal img{max-width:100%;max-height:80vh}.pdf-frame{width:100%;min-height:calc(var(--space-unit) * 140);border:0}.video-player{background:var(--color-surface-alt);position:relative}.video-player iframe{aspect-ratio:16/9;pointer-events:none;width:100%}.video-controls{gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 3);flex-wrap:wrap;align-items:center;display:flex}.video-controls input{max-width:calc(var(--space-unit) * 35)}.platform-form textarea{font-family:var(--font-mono)}.data-card{overflow-wrap:anywhere}.brand-image{width:var(--logo-width);max-height:calc(var(--header-height) * .7);object-fit:contain}.workspace-topbar{z-index:var(--z-topbar);background:var(--color-surface);border-bottom:var(--stroke) solid var(--color-border);position:sticky;top:0}.bulk-toolbar,.table-pagination,.table-toolbar,.workspace-tools,.workspace-topbar-inner{align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.workspace-topbar-inner{min-height:var(--header-height);padding-block:calc(var(--space-unit) * 3);justify-content:space-between}.workspace-tools{margin-left:auto}.table-toolbar input,.table-toolbar select,.workspace-tools select{color:var(--color-text);background:var(--color-bg);border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-md);padding:calc(var(--space-unit) * 2);max-width:100%}.workspace-tools .select{min-width:0}.workspace-layout .app-sidebar{top:calc(var(--header-height) + var(--space-unit) * 6)}.workspace-layout .app-sidebar>button{margin-bottom:calc(var(--space-unit) * 5);width:100%;font-size:var(--text-xs)}.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.mobile-menu{display:none}.column-picker,.notification-menu,.user-menu{position:relative}.column-picker summary,.notification-menu summary,.user-menu summary{cursor:pointer;padding:calc(var(--space-unit) * 2);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md)}.column-picker>div,.notification-menu>div,.user-menu>div{width:min(var(--popover-width),90vw);background:var(--color-surface-raised);border:var(--stroke) solid var(--color-border);box-shadow:var(--shadow-lg);padding:calc(var(--space-unit) * 4);border-radius:var(--radius-md);gap:calc(var(--space-unit) * 3);z-index:var(--z-topbar);overflow-wrap:anywhere;max-height:70vh;display:grid;position:absolute;right:0;overflow-y:auto}.notification-menu a,.notification-menu button,.user-menu button{color:var(--color-primary);text-align:left;cursor:pointer}.notification-menu summary{align-items:center;gap:var(--space-unit);display:flex}.notification-menu svg{width:calc(var(--space-unit) * 5)}.notification-menu article{border-bottom:var(--stroke) solid var(--color-border);padding-bottom:calc(var(--space-unit) * 3)}.unread-badge{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);padding-inline:calc(var(--space-unit) * 2);font-size:var(--text-xs)}.dialog-overlay{background:var(--color-text);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.dialog-overlay{background:color-mix(in srgb,var(--color-text) 35%,transparent)}}.dialog-overlay{z-index:var(--z-dialog)}.dialog-content{width:min(var(--dialog-width),calc(100vw - var(--space-unit) * 8));max-height:90dvh;z-index:calc(var(--z-dialog) + 1);background:var(--color-surface);color:var(--color-text);padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.dialog-description{color:var(--color-text-secondary);margin-block:calc(var(--space-unit) * 3) calc(var(--space-unit) * 5)}.dialog-close{margin-top:calc(var(--space-unit) * 4)}.drawer-navigation nav{gap:calc(var(--space-unit) * 2);display:grid}.drawer-navigation a{padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md)}.drawer-navigation a.active{background:var(--color-primary-subtle);color:var(--color-primary)}.table-section{margin-top:calc(var(--space-unit) * 5)}.table-toolbar{margin-bottom:calc(var(--space-unit) * 4)}.table-toolbar label{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.table-toolbar .search-field{border-radius:var(--radius-md);flex:1;min-width:0}.table-section .status-pill{white-space:nowrap}.column-picker>div{left:0;right:auto}.bulk-toolbar{background:var(--color-primary-subtle);padding:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3);border-radius:var(--radius-md)}.desktop-table{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);max-width:100%;max-height:70vh;overflow:auto}.desktop-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.desktop-table th{background:var(--color-surface-alt);z-index:1;text-align:left;position:sticky;top:0}.desktop-table td,.desktop-table th{padding:calc(var(--space-unit) * 3);border-bottom:var(--stroke) solid var(--color-border);overflow-wrap:break-word}.desktop-table th{white-space:nowrap}.desktop-table th button{cursor:pointer;font-weight:var(--weight-semibold)}.desktop-table tr[data-selected=true] td{background:var(--color-primary-subtle)}.desktop-table .row-actions{justify-content:flex-start}.mobile-table{display:none}.table-pagination{margin-top:calc(var(--space-unit) * 4);font-size:var(--text-sm);justify-content:flex-end}.form-field{gap:calc(var(--space-unit) * 2);display:grid}.field-hint{color:var(--color-text-secondary);font-size:var(--text-sm)}.field-error{color:var(--color-danger);font-size:var(--text-sm)}.form-field [aria-invalid=true]{border-color:var(--color-danger)}.app-toast[data-sonner-toast]{background:var(--color-surface-raised);color:var(--color-text);border:var(--stroke) solid var(--color-border);font-family:var(--font-sans);box-shadow:var(--shadow-md)}@media (max-width:48rem){.workspace-layout .app-shell{grid-template-columns:minmax(0,1fr)}.desktop-sidebar,.desktop-table{display:none}.mobile-menu{display:inline-flex}.mobile-table{display:grid}.mobile-table dl>div{margin-top:calc(var(--space-unit) * 3)}.mobile-table dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.mobile-table dd{overflow-wrap:anywhere}.workspace-topbar-inner{gap:calc(var(--space-unit) * 2)}.workspace-tools{justify-content:space-between;width:100%;margin:0}.table-toolbar select,.table-toolbar>label{width:100%}.table-toolbar .search-field{flex-basis:100%}.table-pagination{justify-content:flex-start}.workspace-layout .app-shell{padding-block:calc(var(--space-unit) * 4)}}@media (prefers-reduced-motion:reduce){.dialog-content,.dialog-overlay{transition:none;animation:none}}.cms-workspace{grid-template-columns:minmax(calc(var(--space-unit) * 64),.8fr) minmax(0,1fr);gap:calc(var(--space-unit) * 4);display:grid}.cms-preview{grid-column:1/-1;min-width:0}.activity-chart{height:calc(var(--space-unit) * 45);align-items:flex-end;gap:var(--space-unit);margin-block:calc(var(--space-unit) * 4);border-bottom:var(--stroke) solid var(--color-border);display:flex}.activity-day{flex-direction:column;flex:1;justify-content:flex-end;min-width:0;height:100%;display:flex}.activity-day span{background:var(--color-primary)}.activity-day span:first-child{background:var(--color-brand-accent)}@media (min-width:80rem){.cms-workspace{grid-template-columns:calc(var(--space-unit) * 80) minmax(0,1fr) minmax(0,1fr)}.cms-preview{grid-column:auto;align-self:start}}.cms-fields{min-width:0}.cms-sortable{align-items:flex-start;gap:calc(var(--space-unit) * 2);margin-block:calc(var(--space-unit) * 3);min-width:0;display:flex}.cms-sortable>div{flex:1;min-width:0}.cms-sortable[data-dragging=true]{opacity:.6}.drag-handle{padding:calc(var(--space-unit) * 2);color:var(--color-text-secondary);cursor:grab;touch-action:none}.drag-handle svg{width:calc(var(--space-unit) * 5)}.cms-block-row,.cms-card{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);padding:calc(var(--space-unit) * 3);background:var(--color-surface)}.cms-inline{align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.cms-inline .form-field{flex:1;min-width:0}.cms-card>summary{cursor:pointer;font-weight:var(--weight-semibold)}.cms-fields fieldset,.quiz-builder fieldset{padding:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md)}.cms-fields legend,.field-label,.quiz-builder legend{font-weight:var(--weight-medium);font-size:var(--text-sm)}.cms-cover{max-width:100%;max-height:calc(var(--space-unit) * 70);object-fit:contain}.rich-editor{min-width:0}.editor-toolbar{gap:var(--space-unit);margin-top:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);background:var(--color-surface-alt);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;flex-wrap:wrap;display:flex}.editor-toolbar button{padding:calc(var(--space-unit) * 2);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer}.editor-toolbar button[aria-pressed=true]{color:var(--color-primary);background:var(--color-primary-subtle)}.tiptap-content{min-height:calc(var(--space-unit) * 35);padding:calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);overflow-wrap:anywhere;border-top:0}.tiptap-content h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.cms-card textarea,.cms-fields textarea{font-family:var(--font-sans)}.wizard-steps{gap:calc(var(--space-unit) * 3);margin-block:calc(var(--space-unit) * 5);display:flex}.wizard-steps li{padding:calc(var(--space-unit) * 2);border-radius:var(--radius-md);background:var(--color-surface-alt)}.wizard-steps li[aria-current=step]{color:var(--color-primary);background:var(--color-primary-subtle);font-weight:var(--weight-semibold)}.admin-summary{gap:calc(var(--space-unit) * 3);margin-block:calc(var(--space-unit) * 4);display:grid}.admin-summary>div{justify-content:space-between;gap:calc(var(--space-unit) * 3);display:flex}@media (max-width:48rem){.cms-workspace{grid-template-columns:minmax(0,1fr)}.cms-preview{grid-column:auto}.cms-inline .form-field{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.cms-sortable{transition:none!important}}@media print{body:has(.credential-dialog) *{visibility:hidden}body:has(.credential-dialog) .dialog-content:has(.credential-dialog),body:has(.credential-dialog) .dialog-content:has(.credential-dialog) *{visibility:visible}body:has(.credential-dialog) .dialog-content:has(.credential-dialog){width:100%;max-height:none;position:absolute;top:0;left:0;overflow:visible;transform:none}body:has(.credential-dialog) .dialog-content button,body:has(.credential-dialog) .dialog-content:not(:has(.credential-dialog)){display:none}}.table-scroll{max-width:100%;overflow-x:auto}.platform-form{align-content:start}.cms-block-list,.cms-fields,.platform-form .button{align-self:start}.dialog-confirm+.dialog-close{margin-left:calc(var(--space-unit) * 3)}.button.dialog-confirm.destructive{background:var(--color-danger);color:var(--color-on-primary)}.button.dialog-confirm.destructive:hover{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.button.dialog-confirm.destructive:hover{background:color-mix(in srgb,var(--color-danger) 85%,var(--color-text))}}.dialog-warning{color:var(--color-warning);background:var(--color-warning-subtle);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md);margin-bottom:calc(var(--space-unit) * 4);font-size:var(--text-sm)}.status-badge{align-items:center;gap:var(--space-unit);padding:var(--space-unit) calc(var(--space-unit) * 2.5);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-tight);white-space:nowrap;background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:default;display:inline-flex}.status-badge svg{width:calc(var(--space-unit) * 3.5);height:calc(var(--space-unit) * 3.5)}.status-badge[data-tone=success]{background:var(--color-success-subtle);color:var(--color-success)}.status-badge[data-tone=warning]{background:var(--color-warning-subtle);color:var(--color-warning)}.status-badge[data-tone=danger]{background:var(--color-danger-subtle);color:var(--color-danger)}.status-badge[data-tone=info]{background:var(--color-info-subtle);color:var(--color-info)}.menu{display:inline-block;position:relative}.menu-popup{top:calc(100% + var(--space-unit));z-index:var(--z-topbar);gap:calc(var(--space-unit) / 2);min-width:calc(var(--space-unit) * 56);max-width:90vw;padding:var(--space-unit);background:var(--color-surface-raised);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:grid;position:absolute}.menu-popup[data-align=end]{right:0}.menu-popup[data-align=start]{left:0}.menu-popup[data-layout=grid]{width:min(calc(var(--space-unit) * 120),90vw);grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{align-items:center;gap:calc(var(--space-unit) * 2.5);width:100%;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);text-align:left;cursor:pointer;display:flex}.menu-item:focus-visible,.menu-item:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.menu-item:focus-visible{outline-offset:0}.menu-item.danger{color:var(--color-danger)}.menu-item.danger:focus-visible,.menu-item.danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.menu-icon{color:inherit;display:inline-flex}.menu-icon svg{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4)}.menu-text{min-width:0;display:grid}.menu-text small{font-size:var(--text-xs);color:var(--color-text-muted)}.row-menu-trigger{width:calc(var(--space-unit) * 9);height:calc(var(--space-unit) * 9);border:var(--stroke) solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.row-menu-trigger:hover,.row-menu-trigger[aria-expanded=true]{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text)}.row-menu-trigger svg{width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5)}.cms-heading-row{align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.learning-panel .cms-heading-row>h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0}.cms-section-header{justify-content:space-between;align-items:flex-start;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 2);display:flex}.cms-section-header h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.cms-row-meta,.learning-panel .cms-row-meta{gap:0 calc(var(--space-unit) * 2);margin:var(--space-unit) 0 0;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:normal;flex-wrap:wrap;display:flex}.cms-row-meta>span+span:before{content:"·";margin-right:calc(var(--space-unit) * 2);color:var(--color-text-muted)}.cms-section .cms-sortable{margin-block:calc(var(--space-unit) * 2);align-items:center}.cms-lesson-row{align-items:center;gap:calc(var(--space-unit) * 4);min-height:calc(var(--space-unit) * 13);padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"title meta badge menu";display:grid}.cms-lesson-title{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text);overflow-wrap:anywhere;grid-area:title}.cms-lesson-title:hover{color:var(--color-primary)}.cms-lesson-row .cms-row-meta{grid-area:meta;margin:0}.cms-lesson-row .status-badge{grid-area:badge}.cms-lesson-row .menu{grid-area:menu}.cms-add-row{align-items:flex-end;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.cms-add-row label{min-width:min(100%,calc(var(--space-unit) * 60));flex:1}.cms-section-form{margin-block:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4);border-radius:var(--radius-md);background:var(--color-surface-alt)}.save-bar{align-items:center;gap:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.save-status{min-height:calc(var(--leading-normal) * 1em);font-size:var(--text-sm);color:var(--color-warning)}.cms-block-row{align-items:center;gap:calc(var(--space-unit) * 2);padding:var(--space-unit) calc(var(--space-unit) * 2) var(--space-unit) var(--space-unit);display:flex}.cms-block-row.cms-selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.cms-block-row[data-hidden=true] .cms-block-text{opacity:.6}.cms-block-select{align-items:center;gap:calc(var(--space-unit) * 3);min-width:0;padding:calc(var(--space-unit) * 2);text-align:left;cursor:pointer;flex:1;display:flex}.cms-block-icon{width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cms-selected .cms-block-icon{background:var(--color-surface);color:var(--color-primary)}.cms-block-icon svg{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4)}.cms-block-text{gap:calc(var(--space-unit) / 2);min-width:0;display:grid}.cms-block-type{align-items:baseline;gap:calc(var(--space-unit) * 2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.cms-unsaved{color:var(--color-warning);font-weight:var(--weight-medium)}.cms-block-preview{font-size:var(--text-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cms-block-list>.menu{margin-top:calc(var(--space-unit) * 3)}.cms-pane-title{align-items:center;gap:calc(var(--space-unit) * 2);display:flex}.cms-pane-title svg{width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5);color:var(--color-primary)}.cms-pane-actions{align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.editor-toolbar button{align-items:center;gap:var(--space-unit);display:inline-flex}.editor-toolbar button svg{width:calc(var(--space-unit) * 3.5);height:calc(var(--space-unit) * 3.5)}.cms-question-summary{gap:var(--space-unit);flex-direction:column;display:flex}.cms-question-text{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.cms-question-meta{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-secondary)}.learning-panel .block-title{align-items:center;gap:calc(var(--space-unit) * 2);margin:0 0 calc(var(--space-unit) * 2);font-weight:var(--weight-semibold);display:flex}.block-title svg{width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5)}.block-overview{background:var(--color-surface-alt);border-left:var(--space-unit) solid var(--color-primary)}.block-overview .block-title{color:var(--color-primary)}.block-homework{background:var(--color-surface-alt);border-left:var(--space-unit) solid var(--color-brand-accent)}.block-homework .block-title svg{color:var(--color-brand-accent)}.block-callout{--callout:var(--color-info);--callout-subtle:var(--color-info-subtle);background:var(--callout-subtle);border-color:var(--callout)}@supports (color:color-mix(in lab,red,red)){.block-callout{border-color:color-mix(in srgb,var(--callout) 35%,transparent)}}.block-callout{border-left:var(--space-unit) solid var(--callout)}.block-callout .block-title{color:var(--callout)}.block-callout[data-variant=important]{--callout:var(--color-danger);--callout-subtle:var(--color-danger-subtle)}.block-callout[data-variant=tip]{--callout:var(--color-success);--callout-subtle:var(--color-success-subtle)}.block-callout[data-variant=warning]{--callout:var(--color-warning);--callout-subtle:var(--color-warning-subtle)}.code-block-header{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3);display:flex}.code-block-header h3{font-weight:var(--weight-semibold)}.code-language{padding:var(--space-unit) calc(var(--space-unit) * 2);border-radius:var(--radius-sm);background:var(--color-surface-alt);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.code-block>.button{margin-top:calc(var(--space-unit) * 3)}.prompt-details{gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 4);padding-top:calc(var(--space-unit) * 4);border-top:var(--stroke) solid var(--color-border);display:grid}.prompt-details dt{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.prompt-details dd{margin-top:var(--space-unit)}.quiz-card{scroll-margin-top:calc(var(--header-height) + var(--space-unit) * 4)}.quiz-card-header .eyebrow{margin-bottom:calc(var(--space-unit) * 2)}.quiz-card-header h2,.quiz-card-header h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.quiz-card .quiz-meta{gap:var(--space-unit) calc(var(--space-unit) * 3);margin:calc(var(--space-unit) * 2) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:normal;flex-wrap:wrap;display:flex}.quiz-meta>span+span:before{content:"·";margin-right:calc(var(--space-unit) * 3);color:var(--color-text-muted)}.quiz-overview{gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 5);display:grid}.quiz-card .quiz-best{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);margin:0;display:flex}.quiz-actions{align-items:center;gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 5);flex-wrap:wrap;display:flex}.quiz-overview .quiz-actions{margin-top:0}.attempt-history h3{margin-bottom:calc(var(--space-unit) * 2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.attempt-history ul{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md)}.quiz-card .attempt-history li{align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);flex-wrap:wrap;margin:0;display:flex}.attempt-history li+li{border-top:var(--stroke) solid var(--color-border)}.attempt-label{min-width:calc(var(--space-unit) * 30);font-size:var(--text-sm);font-weight:var(--weight-medium);flex:1;display:grid}.attempt-label small{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-muted)}.attempt-history .text-link{margin:0}.quiz-card .quiz-progress{align-items:center;gap:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);margin:calc(var(--space-unit) * 4) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.quiz-timer{align-items:center;gap:var(--space-unit);font-weight:var(--weight-semibold);color:var(--color-text);display:inline-flex}.quiz-timer svg{width:calc(var(--space-unit) * 4)}.quiz-result{margin-top:calc(var(--space-unit) * 5)}.quiz-result h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.quiz-result h3:focus:not(:focus-visible){outline:none}.quiz-score{align-items:center;gap:calc(var(--space-unit) * 5);margin-block:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 5);border-radius:var(--radius-lg);background:var(--color-surface-alt);flex-wrap:wrap;display:flex}.quiz-score>strong{font-size:var(--text-4xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.quiz-score-meta{align-items:flex-start;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;display:flex}.quiz-result h4{margin-block:calc(var(--space-unit) * 5) calc(var(--space-unit) * 3);font-weight:var(--weight-semibold)}.question-review{gap:calc(var(--space-unit) * 3);display:grid}.quiz-card .question-review-item{padding:calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-left:var(--space-unit) solid var(--color-warning);border-radius:var(--radius-md);margin:0}.question-review-item[data-state=correct]{border-left-color:var(--color-success)}.question-review-item[data-state=incorrect]{border-left-color:var(--color-danger)}.question-review-head{align-items:start;gap:calc(var(--space-unit) * 3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.review-icon{width:calc(var(--space-unit) * 6);height:calc(var(--space-unit) * 6);border-radius:var(--radius-full);background:var(--color-warning-subtle);color:var(--color-warning);justify-content:center;align-items:center;display:inline-flex}.review-icon svg{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4)}[data-state=correct] .review-icon{background:var(--color-success-subtle);color:var(--color-success)}[data-state=incorrect] .review-icon{background:var(--color-danger-subtle);color:var(--color-danger)}.question-review-prompt{gap:calc(var(--space-unit) * 2);font-weight:var(--weight-medium);display:flex}.question-review-prompt .rich-text p{margin:0}.review-points{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.question-review-item dl{gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 3);padding-left:calc(var(--space-unit) * 9);display:grid}.question-review-item dl>div{grid-template-columns:calc(var(--space-unit) * 36) minmax(0,1fr);gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);display:grid}.question-review-item dt{color:var(--color-text-secondary)}.question-review-item dd em{color:var(--color-text-muted)}.review-list{padding-left:calc(var(--space-unit) * 5);list-style:outside}ol.review-list{list-style:decimal}.quiz-card .review-list li{margin:0}.summary-stats{gap:var(--space-unit) calc(var(--space-unit) * 4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.learning-course{grid-template-columns:calc(var(--space-unit) * 44) minmax(0,1fr) auto}.learning-cover{aspect-ratio:16/10;border-radius:var(--radius-lg);background:var(--color-primary-subtle);color:var(--color-primary);justify-content:center;align-items:center;display:flex;overflow:hidden}.learning-cover img{object-fit:cover;width:100%;height:100%}.learning-cover svg{width:40%;height:40%}.learning-course .learning-next{font-weight:var(--weight-medium);color:var(--color-text)}.learning-course .eyebrow{margin-bottom:var(--space-unit)}.course-layout{grid-template-columns:calc(var(--sidebar-width) - var(--space-unit) * 8) minmax(0,1fr);align-items:start;gap:calc(var(--space-unit) * 6);display:grid}.course-main{min-width:0}.course-tree{top:calc(var(--header-height) + var(--space-unit) * 6);max-height:calc(100dvh - var(--header-height) - var(--space-unit) * 12);padding:calc(var(--space-unit) * 5);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);position:sticky;overflow-y:auto}.course-tree-toggle{display:none}.course-tree-title{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text);display:block}.course-tree-title:hover{color:var(--color-primary)}.course-tree .progress-track{margin-block:calc(var(--space-unit) * 3) calc(var(--space-unit) * 2)}.course-tree-progress{font-size:var(--text-xs);color:var(--color-text-secondary)}.course-tree nav{gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 5);display:grid}.course-tree-module{margin-bottom:calc(var(--space-unit) * 2);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.course-tree ol{gap:calc(var(--space-unit) / 2);display:grid}.course-tree-lesson{align-items:flex-start;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-tight);color:var(--color-text);display:flex}.course-tree-lesson>span{min-width:0;display:block}a.course-tree-lesson:hover{background:var(--color-surface-alt)}.course-tree-lesson[aria-current=page]{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--weight-semibold)}.course-tree-lesson svg{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4);color:var(--color-text-muted)}.course-tree li[data-status=completed] svg{color:var(--color-success)}.course-tree li[data-status=in_progress] svg,.course-tree-lesson[aria-current=page] svg{color:var(--color-primary)}.course-tree-lesson[aria-disabled=true]{color:var(--color-text-muted);cursor:not-allowed}.course-tree-lesson small{margin-top:var(--space-unit);font-size:var(--text-xs);color:var(--color-text-muted);display:block}.course-tree-links{gap:var(--space-unit);margin-top:calc(var(--space-unit) * 5);padding-top:calc(var(--space-unit) * 4);border-top:var(--stroke) solid var(--color-border);display:grid}.course-tree-links a{align-items:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.course-tree-links a:hover{background:var(--color-surface-alt);color:var(--color-primary)}.course-tree-links svg{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4)}.breadcrumb{align-items:center;gap:var(--space-unit) calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb svg{width:calc(var(--space-unit) * 3.5);height:calc(var(--space-unit) * 3.5);color:var(--color-text-muted)}.lesson-header{margin-bottom:calc(var(--space-unit) * 6)}.lesson-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading)}.lesson-meta{align-items:center;gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.row-actions.lesson-nav{margin-block:calc(var(--space-unit) * 6);justify-content:space-between}.course-welcome .course-next{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.course-welcome .course-next p{font-weight:var(--weight-medium);margin:0}@media (max-width:64rem){.learning-course{grid-template-columns:calc(var(--space-unit) * 30) minmax(0,1fr)}.course-layout{gap:calc(var(--space-unit) * 4);grid-template-columns:minmax(0,1fr)}.course-tree{max-height:none;padding:calc(var(--space-unit) * 3);position:static}.course-tree-toggle{width:100%;display:inline-flex}.course-tree[data-open=false] .course-tree-body{display:none}.course-tree-body{margin-top:calc(var(--space-unit) * 4)}}@media (max-width:48rem){.learning-course{grid-template-columns:minmax(0,1fr)}.cms-lesson-row{gap:calc(var(--space-unit) * 2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title menu""meta badge"}.menu-popup[data-layout=grid]{grid-template-columns:minmax(0,1fr)}.question-review-item dl{padding-left:0}.question-review-item dl>div{gap:var(--space-unit);grid-template-columns:minmax(0,1fr)}.question-review-head{grid-template-columns:auto minmax(0,1fr)}.review-points{grid-column:2}}.learning-panel.cms-block-list{padding:calc(var(--space-unit) * 4)}.cms-block-list .cms-sortable{gap:var(--space-unit);margin-block:calc(var(--space-unit) * 2)}.cms-block-list .drag-handle{padding:calc(var(--space-unit) * 2) var(--space-unit)}.muted{color:var(--color-text-muted)}.page-subtitle{color:var(--color-text-secondary)}.page-actions,.page-subtitle{margin-bottom:calc(var(--space-unit) * 5)}.page-actions{gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.page-actions .button,.row-actions .button{align-items:center;gap:calc(var(--space-unit) * 2);display:inline-flex}.filter-bar{align-items:flex-end;gap:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.filter-bar .search-field input{min-width:min(100%,16rem)}.button.small{min-height:calc(var(--space-unit) * 9);padding-inline:calc(var(--space-unit) * 3);font-size:var(--text-xs)}.back-link{margin:0 0 calc(var(--space-unit) * 4)}.detail-title,.section-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-block:calc(var(--space-unit) * 6) calc(var(--space-unit) * 4)}.detail-title{margin-top:0}.table-primary{font-weight:var(--weight-semibold);color:var(--color-primary)}.table-primary:hover{text-decoration:underline}.tab-count{min-width:calc(var(--space-unit) * 5);padding-inline:calc(var(--space-unit) * 1.5);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-secondary);font-size:var(--text-xs);justify-content:center;margin-inline-start:calc(var(--space-unit) * 2);display:inline-flex}.school-tabs{gap:var(--space-unit);width:fit-content;max-width:100%;margin-bottom:calc(var(--space-unit) * 5);flex-wrap:wrap;display:flex}.school-tabs button.active{background:var(--color-surface);color:var(--color-primary);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.tab-panel{min-width:0}.meter{gap:var(--space-unit);min-width:calc(var(--space-unit) * 32);margin-bottom:calc(var(--space-unit) * 3);display:grid}.meter .progress-track{margin:0}.meter-label{justify-content:space-between;gap:calc(var(--space-unit) * 3);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.meter-label strong{color:var(--color-text)}.meter small{color:var(--color-text-muted);font-size:var(--text-xs)}.meter[data-tone=warning] .progress-track>span{background:var(--color-warning)}.meter[data-tone=danger] .progress-track>span{background:var(--color-danger)}td .meter{margin:0}.stat-hint{color:var(--color-text-muted);font-size:var(--text-xs)}.stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.banner{align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 5);border-radius:var(--radius-lg);margin-bottom:calc(var(--space-unit) * 5);background:var(--color-info-subtle);color:var(--color-info);flex-wrap:wrap;display:flex}.banner p{min-width:min(100%,14rem);color:inherit;flex:1}.banner svg{width:calc(var(--space-unit) * 5);flex:none}.banner .text-link{color:inherit;margin:0}.banner[data-tone=warning]{background:var(--color-warning-subtle);color:var(--color-warning)}.banner[data-tone=danger]{background:var(--color-danger-subtle);color:var(--color-danger)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.card-grid,.dashboard-grid{gap:calc(var(--space-unit) * 5);display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}.compact-panel{padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 5)}.card-head{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3);display:flex}.card-head h2,.card-head h3{align-items:center;gap:calc(var(--space-unit) * 2);font-weight:var(--weight-semibold);min-width:0;display:flex}.card-head h3 svg,.learning-panel>h2 svg{width:calc(var(--space-unit) * 5);color:var(--color-primary)}.learning-panel>h2{align-items:center;display:flex}.key-values,.learning-panel>h2{gap:calc(var(--space-unit) * 2)}.key-values{margin-block:calc(var(--space-unit) * 3);display:grid}.key-values>div{justify-content:space-between;gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);display:flex}.key-values dt{color:var(--color-text-secondary)}.key-values dd{font-weight:var(--weight-medium);text-align:end;overflow-wrap:anywhere}.key-values.inline{gap:calc(var(--space-unit) * 3) calc(var(--space-unit) * 6);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.key-values.inline>div{gap:var(--space-unit);flex-direction:column}.key-values.inline dd{text-align:start}.key-values.compact{gap:var(--space-unit)}.affected-list,.hint-list,.inline-list,.simple-list{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);display:grid}.affected-list,.hint-list{margin-block:calc(var(--space-unit) * 4);padding-inline-start:calc(var(--space-unit) * 5);list-style:outside}.inline-list{gap:var(--space-unit)}.badge-row{gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}code{font-family:var(--font-mono);font-size:.92em}.plain-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.plain-table td,.plain-table th{padding:calc(var(--space-unit) * 3);text-align:start;vertical-align:middle;border-bottom:var(--stroke) solid var(--color-border)}.plain-table th{color:var(--color-text-secondary);font-weight:var(--weight-semibold)}.plain-table tbody tr:hover,.plain-table th{background:var(--color-surface-alt)}.error-codes{gap:var(--space-unit);color:var(--color-danger);padding-inline-start:calc(var(--space-unit) * 4);list-style:outside;display:grid}.profile-header{align-items:flex-start;gap:calc(var(--space-unit) * 5);display:flex}.profile-header>div:nth-child(2){flex:1;min-width:0}.profile-avatar{width:calc(var(--space-unit) * 14);height:calc(var(--space-unit) * 14);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.course-progress-card h3 a:hover{color:var(--color-primary)}.credential-print{gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 4);display:grid}.credential-card{gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 4);border:calc(var(--stroke) * 2) solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-primary-subtle);display:grid}.credential-card>div{justify-content:space-between;gap:calc(var(--space-unit) * 3);display:flex}.credential-card dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.credential-card code{font-size:var(--text-lg);background:var(--color-surface);padding:var(--space-unit) calc(var(--space-unit) * 2);border-radius:var(--radius-sm)}.credential-note{font-size:var(--text-xs);color:var(--color-text-muted)}.dialog-warning{gap:calc(var(--space-unit) * 2);align-items:flex-start;display:flex}.dialog-warning svg{width:calc(var(--space-unit) * 4);flex:none}@media print{[data-printing=credentials] body *{visibility:hidden!important}[data-printing=credentials] .credential-print,[data-printing=credentials] .credential-print *{visibility:visible!important}[data-printing=credentials] .credential-print{padding:calc(var(--space-unit) * 8);background:var(--color-surface);position:fixed;inset:0}[data-printing=credentials] .credential-card{break-inside:avoid;border-color:var(--color-text);background:var(--color-surface)}}.wizard-steps{flex-wrap:wrap}.step-index{width:calc(var(--space-unit) * 6);height:calc(var(--space-unit) * 6);border-radius:var(--radius-full);background:var(--color-surface-alt);font-size:var(--text-xs);font-weight:var(--weight-bold);place-items:center;display:inline-grid}.wizard-steps li[aria-current=step] .step-index,.wizard-steps li[data-done] .step-index{background:var(--color-primary);color:var(--color-on-primary)}.dropzone{justify-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 10) calc(var(--space-unit) * 5);margin-block:calc(var(--space-unit) * 5);border:calc(var(--stroke) * 2) dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-alt);text-align:center;overflow-wrap:anywhere;display:grid}.dropzone[data-dragging]{border-color:var(--color-primary);background:var(--color-primary-subtle)}.dropzone>svg{width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 10);color:var(--color-primary)}.dropzone small{color:var(--color-text-muted)}.import-result h2 svg{color:var(--color-success)}.api-error p{gap:calc(var(--space-unit) * 2);align-items:flex-start;display:flex}.api-error p svg{width:calc(var(--space-unit) * 4);flex:none}.quick-actions{gap:calc(var(--space-unit) * 2);display:grid}.quick-action{align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md);font-weight:var(--weight-medium);font-size:var(--text-sm);border:var(--stroke) solid var(--color-border);display:flex}.quick-action:focus-visible,.quick-action:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.quick-action svg{width:calc(var(--space-unit) * 5);color:var(--color-primary)}.course-admin-card{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.course-admin-card:hover{box-shadow:var(--shadow-md)}.course-admin-cover{aspect-ratio:16/9;background:var(--color-primary-subtle);color:var(--color-primary);place-items:center;display:grid}.course-admin-cover img{object-fit:cover;width:100%;height:100%}.course-admin-cover svg{width:calc(var(--space-unit) * 10)}.course-admin-body{gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 5);flex-direction:column;display:flex}.course-admin-body h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.catalog-status,.course-admin-body>.button{margin-top:auto}.course-admin-body .text-link{margin-top:0}.catalog-status{gap:calc(var(--space-unit) * 3);padding-top:calc(var(--space-unit) * 3);justify-items:start;display:grid}.request-rejected{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);display:grid}.settings-form fieldset{gap:0;display:grid}.settings-form legend{font-size:var(--text-lg);font-weight:var(--weight-semibold);padding-inline:calc(var(--space-unit) * 2)}.setting-row{gap:calc(var(--space-unit) * 5);padding-block:calc(var(--space-unit) * 4);border-bottom:var(--stroke) solid var(--color-border);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.setting-row:last-child{border-bottom:0}.setting-row .field-label,.setting-row label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.setting-control{align-content:start;display:grid}.input-unit,.setting-control{gap:calc(var(--space-unit) * 2)}.input-unit{align-items:center;display:flex}.input-unit input{width:calc(var(--space-unit) * 28);max-width:100%}.input-unit span{color:var(--color-text-secondary);font-size:var(--text-sm)}.radio-group{gap:calc(var(--space-unit) * 4);flex-wrap:wrap;display:flex}.switch{align-items:center;gap:calc(var(--space-unit) * 2);cursor:pointer;font-size:var(--text-sm);display:inline-flex}.switch input{appearance:none;width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 6);border-radius:var(--radius-full);background:var(--color-border-strong);cursor:pointer;transition:background var(--motion-fast);flex:none;position:relative}.switch input:after{content:"";top:calc(var(--space-unit) / 2);left:calc(var(--space-unit) / 2);width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--motion-fast);position:absolute}.switch input:checked{background:var(--color-primary)}.switch input:checked:after{transform:translateX(calc(var(--space-unit) * 4))}.switch span{align-items:center;gap:var(--space-unit);display:inline-flex}.switch svg{width:calc(var(--space-unit) * 4)}.settings-form .save-bar{justify-content:flex-end;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3) 0;background:var(--color-bg);border-top:var(--stroke) solid var(--color-border);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.settings-form .save-status{color:var(--color-text-secondary);font-size:var(--text-sm);margin-inline-end:auto}.lesson-tree-section{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 3)}.lesson-tree ol{gap:calc(var(--space-unit) * 3);display:grid}.lesson-tree-row{padding:calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.lesson-tree-row[data-hidden]{background:var(--color-surface-alt)}.lesson-tree-row[data-hidden] .lesson-tree-title strong{color:var(--color-text-muted)}.lesson-tree-main{justify-content:space-between}.lesson-tree-controls,.lesson-tree-main,.lesson-tree-title{align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;display:flex}.lesson-tree-controls,.lesson-tree-title{min-width:0}.lesson-tree-title strong{overflow-wrap:anywhere}.inline-field{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.lesson-overrides{margin-top:calc(var(--space-unit) * 3)}.lesson-overrides summary{align-items:center;gap:calc(var(--space-unit) * 2);cursor:pointer;font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--weight-medium);display:inline-flex}.lesson-overrides summary svg{width:calc(var(--space-unit) * 4)}.override-grid{gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * 3);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.override-field{gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md);background:var(--color-surface-alt);align-content:start;justify-items:start;display:grid}.override-field small{font-size:var(--text-xs)}.picker{gap:calc(var(--space-unit) * 3);display:grid}.chip-list{gap:calc(var(--space-unit) * 2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-unit);padding:var(--space-unit) var(--space-unit) var(--space-unit) calc(var(--space-unit) * 3);background:var(--color-primary-subtle);font-size:var(--text-sm);display:inline-flex}.chip,.chip button{border-radius:var(--radius-full)}.chip button{width:calc(var(--space-unit) * 6);height:calc(var(--space-unit) * 6);cursor:pointer;place-items:center;display:grid}.chip button:hover{background:var(--color-surface)}.chip svg{width:calc(var(--space-unit) * 3.5)}.picker-search{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);font-weight:var(--weight-medium);display:grid}.picker-results{max-height:calc(var(--space-unit) * 60);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);display:grid;overflow-y:auto}.picker-results li{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border-bottom:var(--stroke) solid var(--color-border);font-size:var(--text-sm)}.picker-results li:last-child{border-bottom:0}.transfer{display:grid}.transfer,.transfer-filters{gap:calc(var(--space-unit) * 3)}.transfer-filters{flex-wrap:wrap;display:flex}.transfer-filters label{gap:var(--space-unit);font-size:var(--text-sm);display:grid}.transfer-columns{gap:calc(var(--space-unit) * 3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.transfer-columns section{gap:calc(var(--space-unit) * 2);grid-template-rows:auto 1fr auto;min-width:0;display:grid}.transfer-columns header{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.transfer-columns header .button{margin-inline-start:auto}.transfer-columns ul{height:calc(var(--space-unit) * 64);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-y:auto}.transfer-item{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 2);width:100%;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border-bottom:var(--stroke) solid var(--color-border);font-size:var(--text-sm);text-align:start;cursor:pointer;display:flex}.transfer-item:focus-visible,.transfer-item:hover{background:var(--color-primary-subtle)}.transfer-item svg{width:calc(var(--space-unit) * 4);color:var(--color-primary);flex:none}.transfer-empty{padding:calc(var(--space-unit) * 4);font-size:var(--text-sm)}.checkbox-grid{gap:calc(var(--space-unit) * 2);grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));display:grid}.checkbox-grid legend,.platform-form fieldset>legend{font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 2)}.dialog-content:has(.wide-dialog){width:min(calc(100vw - var(--space-unit) * 8),56rem);max-width:none}.chart-grid{gap:calc(var(--space-unit) * 5);margin-bottom:calc(var(--space-unit) * 5);grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));display:grid}.chart-card{padding:calc(var(--space-unit) * 5);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0}.chart-card figcaption{font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 3)}.chart-frame{width:100%}.chart-tooltip{gap:var(--space-unit);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--text-xs);max-width:calc(var(--space-unit) * 70);display:grid}.chart-tooltip span{color:var(--color-text-secondary)}.chart-table{margin-top:calc(var(--space-unit) * 3);font-size:var(--text-sm)}.chart-table summary{cursor:pointer;color:var(--color-primary);font-weight:var(--weight-medium)}.chart-table table{margin-top:calc(var(--space-unit) * 2)}.comment-list{gap:calc(var(--space-unit) * 3);display:grid}.comment-item{margin:0}.comment-item[data-hidden]{background:var(--color-surface-alt)}.comment-item .card-head>div{min-width:0;font-size:var(--text-sm);flex:1}.comment-text,.quoted{white-space:pre-wrap;overflow-wrap:anywhere}.quoted{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);border-inline-start:calc(var(--stroke) * 3) solid var(--color-border-strong);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:calc(var(--space-unit) * 4)}.audit-changes{gap:var(--space-unit);font-size:var(--text-xs);display:grid}.audit-changes>div{gap:var(--space-unit);flex-wrap:wrap;display:flex}.audit-changes dt{color:var(--color-text-secondary)}.audit-changes dt:after{content:":"}.audit-changes dd{overflow-wrap:anywhere}@media (max-width:64rem){.stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:48rem){.setting-row,.stats-4{grid-template-columns:minmax(0,1fr)}.setting-row{gap:calc(var(--space-unit) * 3)}.transfer-columns{grid-template-columns:minmax(0,1fr)}.transfer-columns ul{height:calc(var(--space-unit) * 48)}.profile-header{flex-wrap:wrap}.filter-bar>label{flex:100%}.filter-bar input,.filter-bar select{width:100%}.school-tabs{border-radius:var(--radius-lg);flex-wrap:nowrap;width:100%;overflow-x:auto}.school-tabs button{flex:none}}.nowrap,dd code,td code{white-space:nowrap}.filter-bar .search-field{align-items:stretch;gap:calc(var(--space-unit) * 2);border:0;border-radius:0;flex-direction:column;flex:16rem;padding:0;display:flex}.filter-bar .search-field:focus-within{outline:none}.filter-bar .search-field input{width:100%}.filter-bar>label:not(.checkbox-label){align-items:stretch;gap:calc(var(--space-unit) * 2);flex-direction:column}.card-grid>*,.course-admin-body,.course-admin-card{min-width:0}.catalog-status .status-badge{white-space:normal}.filter-bar>*{min-width:0;max-width:100%}.table-scroll{position:relative}@media (max-width:48rem){.plain-table.responsive thead{width:var(--stroke);height:var(--stroke);clip-path:inset(50%);position:absolute;overflow:hidden}.plain-table.responsive,.plain-table.responsive tbody,.plain-table.responsive td,.plain-table.responsive tr{width:100%;display:block}.plain-table.responsive tr{padding:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);margin-bottom:calc(var(--space-unit) * 3)}.plain-table.responsive td{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 1.5) 0;border:0;display:flex}.plain-table.responsive td[data-label]:before{content:attr(data-label);color:var(--color-text-secondary);font-size:var(--text-xs)}.plain-table.responsive td .meter{flex:1;min-width:0}}.plain-table th,a[href^=tel\:]{white-space:nowrap}.compact-stats{margin-block:calc(var(--space-unit) * 4) 0;grid-template-columns:repeat(3,minmax(0,1fr))}.compact-stats .stat-card{padding:calc(var(--space-unit) * 4)}.compact-stats .stat-card strong{font-size:var(--text-xl)}.matrix-scroll{border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-height:75dvh}.matrix{border-collapse:separate;border-spacing:0;font-size:var(--text-sm);min-width:100%}.matrix td,.matrix th{padding:calc(var(--space-unit) * 2);border-bottom:var(--stroke) solid var(--color-border);text-align:center;vertical-align:middle}.matrix thead th{z-index:1;background:var(--color-surface-alt);font-weight:var(--weight-semibold);color:var(--color-text-secondary);min-width:calc(var(--space-unit) * 22);max-width:calc(var(--space-unit) * 30);position:sticky;top:0}.matrix-lesson-no{color:var(--color-text);display:block}.matrix-lesson-title{-webkit-line-clamp:2;font-size:var(--text-xs);font-weight:var(--weight-regular);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.matrix .matrix-student{z-index:2;min-width:calc(var(--space-unit) * 56);text-align:start;background:var(--color-surface);border-right:var(--stroke) solid var(--color-border);position:sticky;left:0}.matrix thead .matrix-student{z-index:3;background:var(--color-surface-alt)}.matrix tbody .matrix-student{gap:var(--space-unit);font-weight:var(--weight-regular);justify-items:start;display:grid}.matrix tbody .matrix-student a{font-weight:var(--weight-semibold);color:var(--color-primary)}.matrix tbody .matrix-student .meter{width:100%;margin:0}.matrix-meta{align-items:center;gap:var(--space-unit);font-size:var(--text-xs);color:var(--color-text-secondary);display:inline-flex}.matrix tbody tr:hover .matrix-student,.matrix tbody tr:hover td,.matrix-cell{background:var(--color-surface-alt)}.matrix-cell{min-width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 8);padding-inline:calc(var(--space-unit) * 2);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-xs);color:var(--color-text-muted);place-items:center;display:inline-grid}.matrix-cell svg{width:calc(var(--space-unit) * 4)}.matrix-cell[data-tone=success]{background:var(--color-success-subtle);color:var(--color-success)}.matrix-cell[data-tone=warning]{background:var(--color-warning-subtle);color:var(--color-warning)}.matrix-cell[data-tone=danger]{background:var(--color-danger-subtle);color:var(--color-danger)}.matrix-cell[data-tone=info]{background:var(--color-info-subtle);color:var(--color-info)}.matrix-legend{gap:calc(var(--space-unit) * 2) calc(var(--space-unit) * 5);margin-bottom:calc(var(--space-unit) * 4);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.matrix-legend li{align-items:center;gap:calc(var(--space-unit) * 2);display:inline-flex}.matrix-legend .matrix-cell{min-width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 6)}.work-list{gap:calc(var(--space-unit) * 3);display:grid}.work-list>li{gap:calc(var(--space-unit) * 2);padding-bottom:calc(var(--space-unit) * 3);border-bottom:var(--stroke) solid var(--color-border);display:grid}.work-list>li:last-child{border-bottom:0}.work-head{justify-content:space-between;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.work-list .badge-row{margin:0}.feedback{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.file-list{flex-wrap:wrap;display:flex}.file-chip,.file-list{gap:calc(var(--space-unit) * 2)}.file-chip{align-items:center;max-width:100%;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;display:inline-flex}.file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip:focus-visible,.file-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-chip svg{width:calc(var(--space-unit) * 4);flex:none}.score-line{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 3);display:flex}.lessons-details{margin-top:calc(var(--space-unit) * 4)}.lessons-details summary{cursor:pointer;color:var(--color-primary);font-weight:var(--weight-medium);margin-bottom:calc(var(--space-unit) * 3)}.child-card{gap:calc(var(--space-unit) * 4);align-content:start;display:grid}.child-card .profile-header h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.child-card>.button{justify-self:start}.review-list-items{gap:calc(var(--space-unit) * 3);margin-top:calc(var(--space-unit) * 3);display:grid}.review-row{align-items:center;gap:calc(var(--space-unit) * 4);grid-template-columns:auto minmax(0,1fr) auto;margin:0;display:grid}.review-row p{margin-block:var(--space-unit) calc(var(--space-unit) * 2)}.review-row .badge-row{font-size:var(--text-xs);align-items:center;margin:0}.review-kind{width:calc(var(--space-unit) * 11);height:calc(var(--space-unit) * 11);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);place-items:center;display:grid}.review-kind svg{width:calc(var(--space-unit) * 5)}.grading{gap:calc(var(--space-unit) * 5);display:grid}.grading h3{font-weight:var(--weight-semibold);margin-bottom:calc(var(--space-unit) * 2)}.answer-text{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);border-radius:var(--radius-md);background:var(--color-surface-alt);white-space:pre-wrap;overflow-wrap:anywhere;margin-block:calc(var(--space-unit) * 2)}.rubric{font-size:var(--text-sm);margin-top:calc(var(--space-unit) * 2)}.open-answer{padding-bottom:calc(var(--space-unit) * 4);border-bottom:var(--stroke) solid var(--color-border)}.grade-score{gap:calc(var(--space-unit) * 2);display:grid}.grade-score label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.grade-score input[type=range]{width:100%;accent-color:var(--color-primary)}@media (max-width:48rem){.compact-stats,.review-row{grid-template-columns:minmax(0,1fr)}.review-kind{display:none}.matrix .matrix-student{min-width:calc(var(--space-unit) * 40)}}.platform-form .input-unit input:not([type=checkbox]):not([type=range]){width:calc(var(--space-unit) * 28);max-width:100%}.input-unit span{white-space:nowrap}.file-list,.review-list-items,.simple-list,.work-list{padding-inline-start:0;list-style:none}.notification-list{gap:calc(var(--space-unit) * 2);padding:0;list-style:none;display:grid}.notification-row{align-items:center;gap:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.notification-row[data-unread]{border-color:var(--color-primary);background:var(--color-primary-subtle)}.notification-row p{margin-block:var(--space-unit);font-size:var(--text-sm);overflow-wrap:anywhere}.notification-row .row-actions{align-items:center}.notification-row .text-link{margin:0}.notification-icon{width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 10);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-primary);flex:none;place-items:center;display:grid}.notification-icon svg{width:calc(var(--space-unit) * 5)}.notification-icon[data-type$=_graded],.notification-icon[data-type=certificate_issued]{color:var(--color-success);background:var(--color-success-subtle)}.notification-icon[data-type^=contract]{color:var(--color-warning);background:var(--color-warning-subtle)}.unread-dot{color:var(--color-primary);font-weight:var(--weight-semibold)}.notification-preview{gap:calc(var(--space-unit) * 3);display:grid}.notification-preview ul{gap:var(--space-unit);max-height:60dvh;padding:0;list-style:none;display:grid;overflow-y:auto}.notification-preview li[data-unread] .notification-preview-item{background:var(--color-primary-subtle)}.notification-menu .notification-preview-item{align-items:flex-start;gap:calc(var(--space-unit) * 3);width:100%;padding:calc(var(--space-unit) * 2);border-radius:var(--radius-md);color:var(--color-text);display:flex}.notification-menu .notification-preview-item:focus-visible,.notification-menu .notification-preview-item:hover{background:var(--color-surface-alt)}.notification-preview-item>span:last-child{gap:var(--space-unit);min-width:0;font-size:var(--text-sm);display:grid}.notification-preview-item small{font-size:var(--text-xs);color:var(--color-text-secondary);overflow-wrap:anywhere}.notification-title{font-weight:var(--weight-semibold)}.notification-preview .notification-icon{width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8)}.notification-preview .notification-icon svg{width:calc(var(--space-unit) * 4)}.contract-total{margin-top:calc(var(--space-unit) * 4);text-align:end;font-size:var(--text-lg)}.contract-total strong{font-size:var(--text-2xl)}.clamp-text{-webkit-line-clamp:3;max-width:calc(var(--space-unit) * 80);font-size:var(--text-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inline-action{margin:0}.certificate-card{gap:calc(var(--space-unit) * 3);align-content:start;margin:0;display:grid}.certificate-card h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.certificate-icon{width:calc(var(--space-unit) * 12);height:calc(var(--space-unit) * 12);border-radius:var(--radius-full);background:var(--color-success-subtle);color:var(--color-success);place-items:center;display:grid}.certificate-icon svg{width:calc(var(--space-unit) * 6)}.certificate-card .row-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center}@media (max-width:48rem){.notification-row{grid-template-columns:auto minmax(0,1fr)}.notification-row .row-actions{grid-column:1/-1}}.course-tree-drawer-toggle{display:none}.drawer-content{z-index:calc(var(--z-dialog) + 1);width:min(calc(var(--space-unit) * 90),92vw);padding:calc(var(--space-unit) * 5);background:var(--color-surface);border-right:var(--stroke) solid var(--color-border);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 4);display:flex}.course-tree.course-tree-in-drawer{border:0;max-height:none;padding:0;position:static;overflow:visible}@media (max-width:64rem){.course-tree-desktop{display:none}.course-tree-drawer-toggle{align-items:center;gap:calc(var(--space-unit) * 2);top:calc(var(--header-height) + var(--space-unit) * 2);z-index:2;justify-self:start;display:inline-flex;position:sticky}}.locked-lesson{justify-items:center;gap:calc(var(--space-unit) * 3);padding-block:calc(var(--space-unit) * 12);text-align:center;display:grid}.locked-icon{width:calc(var(--space-unit) * 14);height:calc(var(--space-unit) * 14);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-secondary);place-items:center;display:grid}.locked-icon svg{width:calc(var(--space-unit) * 7)}.locked-lesson .row-actions{flex-wrap:wrap;justify-content:center}.assignment-card h2 svg,.discussion h2 svg{width:calc(var(--space-unit) * 5);color:var(--color-primary)}.assignment-state{gap:calc(var(--space-unit) * 2);margin-block:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 4);border-radius:var(--radius-md);background:var(--color-info-subtle);justify-items:start;display:grid}.assignment-state[data-status=graded]{background:var(--color-success-subtle)}.assignment-state[data-status=returned]{background:var(--color-warning-subtle)}.upload-list{padding:0;list-style:none;display:grid}.upload-list,.upload-list li{gap:calc(var(--space-unit) * 2)}.upload-list li{align-items:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.upload-list li[data-invalid]{border-color:var(--color-danger);background:var(--color-danger-subtle)}.upload-list svg{width:calc(var(--space-unit) * 4);flex:none}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-list .field-error{flex-basis:100%;margin:0}.icon-only{width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8);border-radius:var(--radius-full);cursor:pointer;place-items:center;display:grid}.icon-only:focus-visible,.icon-only:hover{background:var(--color-surface-alt)}.submission-history{margin-top:calc(var(--space-unit) * 5)}.submission-history summary{cursor:pointer;color:var(--color-primary);font-weight:var(--weight-medium);margin-bottom:calc(var(--space-unit) * 3)}.discussion h2{align-items:center;gap:calc(var(--space-unit) * 2);display:flex}.discussion-question{font-weight:var(--weight-medium);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);border-inline-start:calc(var(--stroke) * 3) solid var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-sm)}.comment-thread{gap:calc(var(--space-unit) * 3);margin-block:calc(var(--space-unit) * 4);padding:0;list-style:none;display:grid}.comment-thread li{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);border-radius:var(--radius-md);background:var(--color-surface-alt)}.comment-thread li[data-mine]{background:var(--color-primary-subtle)}.comment-meta{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);margin-bottom:var(--space-unit);flex-wrap:wrap;display:flex}.char-count{font-size:var(--text-xs);justify-self:end}.star-input,.stars-readonly{align-items:center;gap:var(--space-unit);flex-wrap:wrap;display:flex}.star-input button{width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 10);border-radius:var(--radius-md);cursor:pointer;color:var(--color-border-strong);place-items:center;display:grid}.star-input svg,.stars-readonly svg{width:calc(var(--space-unit) * 7);height:calc(var(--space-unit) * 7)}.stars-readonly svg{width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5);color:var(--color-border-strong)}.star-input button[data-on],.stars-readonly svg[data-on]{color:var(--color-brand-accent)}.star-input button[data-on] svg,.stars-readonly svg[data-on]{fill:currentColor}.star-input .muted,.stars-readonly span{font-size:var(--text-sm);margin-inline-start:calc(var(--space-unit) * 2)}.save-indicator[data-state=error]{color:var(--color-danger)}.save-indicator[data-state=saved]{color:var(--color-success)}.save-indicator .text-link{margin:0}.quiz-timer[data-urgent]{color:var(--color-danger);font-weight:var(--weight-bold)}.utility-links{gap:calc(var(--space-unit) * 5);flex-wrap:wrap;display:flex}.utility-links a:hover{text-decoration:underline}.nav-menu-trigger{align-items:center;gap:var(--space-unit);font:inherit;color:inherit;cursor:pointer;display:inline-flex}.nav-menu-trigger svg{width:calc(var(--space-unit) * 4)}.main-nav .menu-popup{min-width:calc(var(--space-unit) * 64)}.header-cta{white-space:nowrap}.hero-bento{gap:calc(var(--space-unit) * 5);padding-block:calc(var(--space-unit) * 12);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);display:grid}.hero-main{padding:calc(var(--space-unit) * 12);border-radius:var(--radius-hero);background:var(--gradient-hero);border:var(--stroke) solid var(--color-border)}.hero-main h1{font-size:var(--text-display);line-height:1.04;font-weight:var(--weight-bold);letter-spacing:var(--tracking-display)}.hero-main h1>span{color:var(--color-primary)}.hero-promos{gap:calc(var(--space-unit) * 5);display:grid}.promo-card{gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 8);border-radius:var(--radius-card);border:var(--stroke) solid var(--color-border);background:var(--color-surface);transition:transform var(--motion-normal),box-shadow var(--motion-normal);flex-direction:column;display:flex}.promo-card:hover{transform:translateY(var(--lift-distance));box-shadow:var(--shadow-lg)}.promo-card>svg{width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 10);color:var(--color-primary)}.promo-certificate>svg{color:var(--color-brand-accent)}.promo-card h2{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.promo-card p{color:var(--color-text-secondary)}.promo-card .text-link{margin-top:auto}.stats-strip{border-block:var(--stroke) solid var(--color-border);background:var(--color-surface-alt)}.stats-inner{gap:calc(var(--space-unit) * 4);padding-block:calc(var(--space-unit) * 8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stats-inner>div{column-gap:calc(var(--space-unit) * 3);grid-template-columns:auto 1fr;grid-template-areas:"icon value""icon label";align-items:center;display:grid}.stats-inner svg{width:calc(var(--space-unit) * 8);height:calc(var(--space-unit) * 8);color:var(--color-primary);grid-area:icon}.stats-inner dd{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);grid-area:value}.stats-inner dt{color:var(--color-text-secondary);font-size:var(--text-sm);grid-area:label}.course-row{grid-auto-flow:column;grid-auto-columns:minmax(calc(var(--space-unit) * 72),calc((100% - var(--space-unit) * 12) / 3));gap:calc(var(--space-unit) * 6);scroll-snap-type:x mandatory;padding-block:calc(var(--space-unit) * 4) calc(var(--space-unit) * 6);margin-block:calc(var(--space-unit) * 4);padding-inline:0;list-style:none;display:grid;overflow-x:auto}.course-row>li{scroll-snap-align:start;display:flex}.course-row .course-card{width:100%}.course-provider{align-items:center;gap:calc(var(--space-unit) * 2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);display:flex}.course-hero .course-provider{font-size:var(--text-sm);margin-top:calc(var(--space-unit) * 4)}.provider-mark{width:calc(var(--space-unit) * 5);height:calc(var(--space-unit) * 5);object-fit:contain}.course-card h3{-webkit-line-clamp:2}.course-card h3,.course-skills{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-skills{-webkit-line-clamp:1;color:var(--color-text-muted);font-size:var(--text-sm)}.course-rating{align-items:center;gap:var(--space-unit);font-size:var(--text-sm);display:inline-flex}.course-rating svg{width:calc(var(--space-unit) * 4);color:var(--color-brand-accent);fill:currentColor}.course-meta-line{font-size:var(--text-xs);color:var(--color-text-secondary)}.role-grid{gap:calc(var(--space-unit) * 4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.role-card{align-content:start;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.role-icon{width:calc(var(--space-unit) * 11);height:calc(var(--space-unit) * 11);border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary);place-items:center;display:grid}.role-icon svg{width:calc(var(--space-unit) * 5)}.role-card h3{font-size:var(--text-lg);font-weight:var(--weight-bold)}.role-card ul{gap:calc(var(--space-unit) * 2);color:var(--color-text-secondary);font-size:var(--text-sm);padding-inline-start:calc(var(--space-unit) * 4);list-style:outside;display:grid}.demo-layout{gap:calc(var(--space-unit) * 12);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.demo-layout h2{font-size:var(--text-section);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.demo-layout p{margin-top:calc(var(--space-unit) * 4);color:var(--color-text-secondary);font-size:var(--text-lg)}.carousel-controls{gap:calc(var(--space-unit) * 2);display:flex}.testimonial-track{grid-auto-flow:column;grid-auto-columns:calc((100% - var(--space-unit) * 12) / 3);gap:calc(var(--space-unit) * 6);scroll-snap-type:x mandatory;padding:calc(var(--space-unit) * 2) 0;scrollbar-width:none;list-style:none;display:grid;overflow-x:auto}.testimonial-card{scroll-snap-align:start;align-content:start;gap:calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 8);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.testimonial-card>svg{width:calc(var(--space-unit) * 8);color:var(--color-primary)}.testimonial-card blockquote{font-size:var(--text-lg);line-height:var(--leading-normal)}.testimonial-card p{font-size:var(--text-sm)}.carousel-dots{justify-content:center;gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 4);display:flex}.carousel-dots button{width:calc(var(--space-unit) * 3);height:calc(var(--space-unit) * 3);border-radius:var(--radius-full);background:var(--color-border-strong);cursor:pointer}.carousel-dots button[aria-current]{width:calc(var(--space-unit) * 8);background:var(--color-primary)}.cta-band{margin-top:calc(var(--space-unit) * 16);background:var(--color-primary);color:var(--color-on-primary)}.cta-inner{justify-content:space-between;align-items:center;gap:calc(var(--space-unit) * 6);padding-block:calc(var(--space-unit) * 14);flex-wrap:wrap;display:flex}.cta-inner h2{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.cta-inner p{margin-top:calc(var(--space-unit) * 3);max-width:calc(var(--space-unit) * 150);opacity:.9}.cta-band .button{background:var(--color-on-primary);color:var(--color-primary)}.course-subtitle{font-size:var(--text-xl)}.course-enrolled{align-items:center;gap:calc(var(--space-unit) * 2);display:inline-flex}.course-enrolled svg{width:calc(var(--space-unit) * 5)}.course-stats-bar{z-index:1;gap:calc(var(--space-unit) * 4);margin-top:calc(var(--space-unit) * -10);padding:calc(var(--space-unit) * 6);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-md);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative}.course-stats-bar>div{column-gap:calc(var(--space-unit) * 3);grid-template-columns:auto 1fr;grid-template-areas:"icon value""icon label";align-items:center;display:grid}.course-stats-bar svg{width:calc(var(--space-unit) * 6);color:var(--color-primary);grid-area:icon}.course-stats-bar dd{font-weight:var(--weight-bold);grid-area:value}.course-stats-bar dt{font-size:var(--text-xs);color:var(--color-text-secondary);grid-area:label}.course-tabs{top:calc(var(--header-height) + var(--space-unit) * 2);z-index:5;margin-top:calc(var(--space-unit) * 8);background:var(--color-bg);border-bottom:var(--stroke) solid var(--color-border);position:sticky}.course-tabs .container{gap:calc(var(--space-unit) * 6);display:flex;overflow-x:auto}.course-tabs a{padding-block:calc(var(--space-unit) * 4);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;border-bottom:calc(var(--stroke) * 2) solid transparent}.course-tabs a:focus-visible,.course-tabs a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.course-section{scroll-margin-top:calc(var(--space-unit) * 20);margin-bottom:calc(var(--space-unit) * 12)}.course-section>h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:calc(var(--space-unit) * 4)}.subheading{margin-top:calc(var(--space-unit) * 6);font-weight:var(--weight-semibold)}.module-contents{font-size:var(--text-sm);color:var(--color-text-secondary)}.objective-list{gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 4);padding:0;list-style:none;display:grid}.objective-list li{grid-template-columns:calc(var(--space-unit) * 20) minmax(0,1fr);gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:var(--text-sm);display:grid}.objective-list code{font-weight:var(--weight-bold);color:var(--color-primary)}.rating-summary{gap:calc(var(--space-unit) * 10);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.rating-big{justify-items:center;gap:calc(var(--space-unit) * 2);display:grid}.rating-big strong{font-size:var(--text-5xl);line-height:1}.rating-stars{gap:var(--space-unit);display:flex}.rating-stars svg{width:calc(var(--space-unit) * 5);color:var(--color-border-strong)}.rating-stars svg[data-on]{color:var(--color-brand-accent);fill:currentColor}.rating-bars{gap:calc(var(--space-unit) * 2);padding:0;list-style:none;display:grid}.rating-bars li{grid-template-columns:calc(var(--space-unit) * 16) minmax(0,1fr) calc(var(--space-unit) * 12);gap:calc(var(--space-unit) * 3);font-size:var(--text-sm);align-items:center;display:grid}.rating-track{height:calc(var(--space-unit) * 2);border-radius:var(--radius-full);background:var(--color-surface-alt);overflow:hidden}.rating-track>span{background:var(--color-brand-accent);height:100%;display:block}.legal-page{max-width:calc(var(--space-unit) * 200)}.legal-page h1{font-size:var(--text-section);font-weight:var(--weight-bold);line-height:var(--leading-tight);margin-bottom:calc(var(--space-unit) * 3)}.legal-page h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:calc(var(--space-unit) * 8)}.legal-page p{margin-top:calc(var(--space-unit) * 3);line-height:var(--leading-normal)}@media (max-width:72rem){.course-stats-bar,.role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:64rem){.demo-layout,.hero-bento{grid-template-columns:minmax(0,1fr)}.hero-promos{grid-auto-flow:column;grid-auto-columns:minmax(calc(var(--space-unit) * 70),85%);scroll-snap-type:x mandatory;overflow-x:auto}.promo-card{scroll-snap-align:start}.testimonial-track{grid-auto-columns:85%}.header-cta{display:none}}@media (max-width:48rem){.hero-main{padding:calc(var(--space-unit) * 7)}.stats-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid{grid-template-columns:minmax(0,1fr)}.course-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-summary{grid-template-columns:minmax(0,1fr)}.course-row{grid-auto-columns:85%}.utility-brand{display:none}.cta-inner h2{font-size:var(--text-2xl)}}.demo-section{overflow:clip}.hero-promos{scrollbar-width:none}.course-row{scrollbar-width:thin}main#main{min-height:100dvh}.carousel-dots button{position:relative}.carousel-dots button:after{content:"";inset:calc(var(--space-unit) * -1.5);position:absolute}.carousel-dots{gap:calc(var(--space-unit) * 4)}.programs-page .page-heading p+p{margin-top:calc(var(--space-unit) * 3);font-size:var(--text-base)}.programs-layout{gap:calc(var(--space-unit) * 8);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.program-comment,.program-document-card,.programs-table-card{padding:calc(var(--space-unit) * 7);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt)}.program-comment h2,.program-document-card h2,.programs-table-card h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);text-align:center;margin-bottom:calc(var(--space-unit) * 6)}.programs-table-scroll{overflow-x:auto}.programs-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);background:var(--color-surface)}.programs-table td,.programs-table th{border:var(--stroke) solid var(--color-border);padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 2);text-align:center;vertical-align:middle}.programs-table thead th{font-weight:var(--weight-semibold)}.programs-table tbody tr:nth-child(2n),.programs-table thead th{background:var(--color-surface-alt)}.programs-table tbody th{font-weight:var(--weight-regular)}.program-title-link{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-underline-offset:calc(var(--space-unit) * 1)}.program-title-link:hover{color:var(--color-primary);text-decoration-color:currentColor}.programs-table .status-badge{white-space:normal;text-align:center}.programs-table .text-link{color:var(--color-brand-accent);justify-content:center}.program-comment>p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 5);text-align:center}.program-comment-form{background:var(--color-surface)}.contact-form .honeypot{display:none}.program-comment-form .form-field{gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 4);flex-direction:column;display:flex}.program-comment-form .form-field label{margin-bottom:0}.program-comment-form select{width:100%;padding:calc(var(--space-unit) * 3);border:var(--stroke) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text)}.program-comment-form input,.program-comment-form textarea{width:100%}.program-comment-form .button{justify-content:center;width:100%}.program-document-note{color:var(--color-text-secondary);text-align:center;padding-block:calc(var(--space-unit) * 6)}.program-breadcrumbs{gap:calc(var(--space-unit) * 2);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 6);flex-wrap:wrap;display:flex}.program-breadcrumbs a:hover{color:var(--color-primary)}.program-header{margin-bottom:calc(var(--space-unit) * 8)}.program-header h1{font-size:var(--text-4xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.program-meta{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--space-unit) * 45)),1fr));gap:calc(var(--space-unit) * 4);margin-block:calc(var(--space-unit) * 6);display:grid}.program-meta div{padding:calc(var(--space-unit) * 4);border:var(--stroke) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.program-meta dt{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:calc(var(--space-unit) * 1)}.program-meta dd{font-weight:var(--weight-semibold)}.program-actions{align-items:center;gap:calc(var(--space-unit) * 6);flex-wrap:wrap;display:flex}.program-document-card{margin-bottom:calc(var(--space-unit) * 8)}.program-document{padding:calc(var(--space-unit) * 6);border-radius:var(--radius-md);background:var(--color-surface);line-height:var(--leading-normal);overflow-x:auto}.program-document h1,.program-document h2,.program-document h3{font-weight:var(--weight-semibold);margin-block:calc(var(--space-unit) * 5) calc(var(--space-unit) * 3)}.program-document h1{font-size:var(--text-2xl)}.program-document h2{font-size:var(--text-xl);text-align:left}.program-document table{border-collapse:collapse;margin-block:calc(var(--space-unit) * 4)}.program-document td,.program-document th{border:var(--stroke) solid var(--color-border);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3)}.program-document img{max-width:100%;height:auto}.program-document-skeleton{min-height:calc(var(--space-unit) * 60)}.program-admin-file{gap:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;margin:0;display:flex}.program-admin-file .text-link{margin-top:0}.program-admin-file button.text-link{font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-sm);background:0 0;border:0;padding:0}.program-admin-comments{margin-top:calc(var(--space-unit) * 10)}.program-admin-comments h2{font-size:var(--text-xl);font-weight:var(--weight-semibold)}@media (max-width:64rem){.programs-layout{grid-template-columns:1fr}}@media (max-width:48rem){.program-comment,.program-document-card,.programs-table-card{padding:calc(var(--space-unit) * 4)}.program-header h1{font-size:var(--text-3xl)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}