/*! 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)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-amber-300:oklch(87.9% .169 91.605);--color-slate-400:oklch(70.4% .04 256.788);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.flex{display:flex}.grid{display:grid}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-24{height:calc(var(--spacing) * 24)}.h-36{height:calc(var(--spacing) * 36)}.min-h-\[60vh\]{min-height:60vh}.w-64{width:calc(var(--spacing) * 64)}.w-\[min\(100\%\,32rem\)\]{width:min(100%,32rem)}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.gap-4{gap:calc(var(--spacing) * 4)}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-amber-300{color:var(--color-amber-300)}.text-slate-400{color:var(--color-slate-400)}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{font-family:var(--font-sans);color:#eaf0f5;font-synthesis:none;text-rendering:optimizelegibility;--bg:#0b1017;--surface:#111720;--surface-2:#151d28;--surface-3:#1a2430;--border:#263241;--border-strong:#354457;--text:#eaf0f5;--muted:#93a4b7;--subtle:#65778a;--copper:#d9a66f;--copper-soft:#b98755;--teal:#61a7a0;--teal-soft:#326f6b;--blue:#7596b8;--red:#d47777;--amber:#d9a66f;--green:#69aa8c;--sidebar:17.25rem;--radius-sm:.5rem;--radius:.875rem;--radius-lg:1.25rem;--shadow:0 18px 48px #0000003d;background:#0b1017}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:#fff;background:#6e5137}::-webkit-scrollbar{width:.7rem;height:.7rem}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#354457 padding-box padding-box;border:2px solid #0000;border-radius:1rem}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;background:var(--copper);color:#12171e;border-radius:.5rem;padding:.7rem 1rem;font-weight:800;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.69rem;font-weight:800}.page-stack{gap:1.5rem;display:grid}.app-shell{min-height:100vh;padding-left:var(--sidebar);transition:padding-left .2s}.app-shell--collapsed{--sidebar:5.25rem}.sidebar{z-index:40;width:var(--sidebar);background:#0e141c;border-right:1px solid #202b39;flex-direction:column;transition:width .2s,transform .2s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{border-bottom:1px solid #202b39;align-items:center;min-height:5.25rem;padding:1.2rem 1.4rem;display:flex;overflow:hidden}.brand{letter-spacing:-.02em;align-items:center;gap:.72rem;min-width:max-content;font-size:1.05rem;font-weight:700;display:inline-flex}.brand strong{color:var(--copper)}.brand>span:last-child{line-height:1.05;display:grid}.brand small{color:var(--subtle);letter-spacing:.15em;text-transform:uppercase;margin-top:.32rem;font-size:.52rem;font-weight:700}.brand-mark{background:#151e29;border:1px solid #3b4a5d;border-radius:.55rem;flex:none;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;width:2rem;height:2rem;padding:.42rem;display:grid}.brand-mark i{background:var(--copper);border-radius:1px;display:block}.brand-mark i:first-child{opacity:.55;height:55%}.brand-mark i:nth-child(2){height:100%}.brand-mark i:nth-child(3){opacity:.8;height:72%}.sidebar__nav{flex-direction:column;flex:1;gap:.25rem;padding:1.25rem .85rem;display:flex;overflow-y:auto}.nav-label{color:#65778a;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;min-height:1rem;margin:0;padding:0 .75rem .4rem;font-size:.63rem;font-weight:800}.nav-label--section{margin-top:1.3rem}.nav-link{color:#98a8b9;white-space:nowrap;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.8rem;min-height:2.8rem;padding:.68rem .75rem;font-size:.86rem;font-weight:650;transition:color .15s,background .15s,border-color .15s;display:flex}.nav-link svg{flex:none;width:1.15rem}.nav-link:hover{color:#eaf0f5;background:#151d28}.nav-link--active{color:#f5f7f9;box-shadow:inset 2px 0 var(--copper);background:#1a2430;border-color:#344355}.app-shell--collapsed .nav-link span,.app-shell--collapsed .nav-label,.app-shell--collapsed .runtime-pill div,.app-shell--collapsed .profile-card div{opacity:0;pointer-events:none}.app-shell--collapsed .sidebar__brand{padding-inline:1.55rem}.app-shell--collapsed .nav-link{justify-content:center;padding-inline:.5rem}.sidebar__footer{border-top:1px solid #202b39;gap:.75rem;padding:.9rem .85rem 1rem;display:grid;overflow:hidden}.runtime-pill{white-space:nowrap;background:#121a24;border:1px solid #263544;border-radius:.7rem;align-items:center;gap:.72rem;min-height:3.15rem;padding:.65rem .75rem;display:flex}.runtime-pill div,.profile-card div{min-width:0;transition:opacity .15s;display:grid}.runtime-pill small,.profile-card small{color:var(--subtle);font-size:.66rem}.runtime-pill strong,.profile-card strong{color:#dce4eb;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.status-dot{background:var(--subtle);border-radius:50%;flex:none;width:.48rem;height:.48rem;display:inline-block;box-shadow:0 0 0 3px #65778a21}.status-dot--healthy{background:var(--green);box-shadow:0 0 0 3px #69aa8c24}.status-dot--degraded{background:var(--amber);box-shadow:0 0 0 3px #d9a66f24}.profile-card{white-space:nowrap;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3rem;padding:.25rem .2rem;display:grid}.avatar{color:#dce4eb;letter-spacing:.03em;background:#1b2633;border:1px solid #425168;border-radius:.58rem;flex:none;place-items:center;width:2.15rem;height:2.15rem;font-size:.68rem;font-weight:800;display:inline-grid}.icon-button{color:#8799aa;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.58rem;place-items:center;width:2.35rem;height:2.35rem;transition:all .15s;display:inline-grid}.icon-button:hover{border-color:var(--border);color:var(--text);background:var(--surface-2)}.icon-button svg{width:1.08rem}.icon-button:disabled{cursor:not-allowed;opacity:.45}.icon-button--danger:hover{color:#e49393;background:#d4777714;border-color:#d4777759}.sidebar-collapse{color:#93a4b7;cursor:pointer;background:#151d28;border:1px solid #344355;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;display:grid;position:absolute;top:6.2rem;right:-.78rem}.sidebar-collapse svg{width:.78rem}.mobile-header,.sidebar-scrim{display:none}.app-content{min-width:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b1017e0;border-bottom:1px solid #202b39;justify-content:space-between;align-items:center;gap:1rem;min-height:5.25rem;padding:0 clamp(1.25rem,3vw,3rem);display:flex;position:sticky;top:0}.topbar__cohort{color:#91a1b1;align-items:center;gap:.6rem;font-size:.8rem;font-weight:600;display:flex}.topbar__cohort svg{width:1rem;color:var(--copper)}.command-trigger{border:1px solid var(--border);color:#7e90a2;cursor:pointer;background:#111923;border-radius:.62rem;align-items:center;gap:.55rem;min-width:14rem;padding:.55rem .65rem;font-size:.75rem;display:flex}.command-trigger svg{width:1rem}.command-trigger span{text-align:left;flex:1}.command-trigger kbd{color:#9cabb9;font:600 .62rem var(--font-sans);background:#1a2430;border:1px solid #344355;border-radius:.3rem;padding:.16rem .35rem}.page-container{width:min(100%,95rem);margin-inline:auto;padding:clamp(1.6rem,3vw,3rem)}.page-header{max-width:58rem}.page-header--split{justify-content:space-between;align-items:flex-end;gap:1.5rem;max-width:none;display:flex}.page-header--split>div{min-width:0}.page-header h1{overflow-wrap:anywhere;color:#f3f6f8;letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.3rem);font-weight:720;line-height:1.02}.page-header>div>p:last-child,.page-header>p:last-child{max-width:44rem;color:var(--muted);margin:.75rem 0 0;font-size:.98rem;line-height:1.65}.header-actions{align-items:center;gap:.7rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:.63rem;justify-content:center;align-items:center;gap:.55rem;min-height:2.65rem;padding:.65rem .9rem;font-size:.8rem;font-weight:750;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button svg{width:1rem}.button:disabled{cursor:not-allowed;opacity:.48}.button--primary{background:var(--copper);color:#111820;border-color:#c49360;box-shadow:0 7px 20px #0003}.button--primary:hover:not(:disabled){background:#e1b17c}.button--secondary{color:#e4ebf0;background:#1b2633;border-color:#3b4a5d}.button--secondary:hover:not(:disabled){background:#202d3b;border-color:#586b82}.button--quiet{border-color:var(--border);color:#a6b4c2;background:0 0}.button--quiet:hover:not(:disabled){background:var(--surface-2);color:#eef2f6}.button--lg{min-height:3.15rem;padding-inline:1.15rem}.button--full{width:100%}.text-link{color:#b9c5d0;align-items:center;gap:.45rem;font-size:.76rem;font-weight:700;display:inline-flex}.text-link:hover{color:var(--copper)}.text-link svg{width:.9rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:0 10px 34px #0000001a}.panel-header{border-bottom:1px solid #222e3d;justify-content:space-between;align-items:center;gap:1rem;min-height:4.8rem;padding:1.15rem 1.25rem;display:flex}.panel-header h2,.section-heading h2{color:#edf2f5;letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.panel-header .eyebrow,.section-heading .eyebrow{margin-bottom:.2rem}.panel-header>svg{color:#61768a;width:1.15rem}.panel-count{border:1px solid var(--border);min-width:2rem;height:1.6rem;color:var(--muted);border-radius:999px;place-items:center;font-size:.68rem;font-weight:700;display:inline-grid}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:1rem;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#141c26,#111720);min-width:0;min-height:9.8rem;padding:1.1rem;position:relative;overflow:hidden}.metric-card--accent{background:linear-gradient(145deg,#1d292f,#131b23)}.metric-card--accent:after{content:"";background:#61a7a014;border-radius:50%;width:8rem;height:8rem;position:absolute;inset:auto -2rem -3rem auto}.metric-icon{width:2rem;height:2rem;color:var(--copper);background:#1a2531;border:1px solid #374759;border-radius:.52rem;place-items:center;display:inline-grid}.metric-icon svg{width:1rem}.metric-value{color:#f5f7f9;letter-spacing:-.05em;margin-top:.75rem;font-size:1.95rem;font-weight:760;line-height:1}.metric-value small{color:#8293a4;letter-spacing:0;margin-left:.2rem;font-size:.78rem}.metric-card>p{color:#b9c5cf;margin:.42rem 0 .35rem;font-size:.78rem;font-weight:650}.metric-card>small{color:var(--subtle);align-items:center;gap:.3rem;font-size:.66rem;display:flex}.metric-card>small svg{width:.8rem}.delta-positive{color:var(--green)}.delta-negative{color:var(--red)}.progress-wrap{width:100%}.progress-label{color:#b6c2cd;justify-content:space-between;align-items:center;gap:1rem;font-size:.73rem;display:flex}.progress-label strong{color:#dbe3e9;font-size:.7rem}.progress-track{background:#25303e;border-radius:1rem;height:.35rem;margin-top:.45rem;overflow:hidden}.progress-track--sm{height:.24rem}.progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--teal-soft), var(--teal));height:100%;transition:width .4s;display:block}.metric-card .progress-wrap{margin-top:.65rem}.metric-card .progress-label{display:none}.tag-list{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tag{color:#9eafbf;letter-spacing:.02em;background:#1a2430b3;border:1px solid #344253;border-radius:999px;padding:.22rem .5rem;font-size:.58rem;font-weight:720;display:inline-flex}.badge{border:1px solid var(--border);border-radius:999px;align-items:center;width:fit-content;padding:.22rem .5rem;font-size:.59rem;font-weight:750;display:inline-flex}.badge--completed,.badge--student-active{color:#86c3a6;background:#69aa8c14;border-color:#69aa8c52}.badge--in_progress{color:#dfb37f;background:#d9a66f14;border-color:#d9a66f59}.badge--available,.badge--student-invited{color:#94b3d0;background:#7596b814;border-color:#7596b859}.badge--locked,.badge--student-disabled{color:#7f8e9d;background:#161e27}.badge--difficulty-beginner{color:#80b99e;border-color:#69aa8c40}.badge--difficulty-intermediate{color:#d9a66f;border-color:#d9a66f4d}.badge--difficulty-advanced{color:#d98a8a;border-color:#d4777752}.session-chip{border:1px solid var(--border);background:var(--surface);color:#a8b6c3;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.session-chip--warning{color:#dfb37f}.skeleton{border-radius:var(--radius);background:#121a23;border:1px solid #202c39;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff09,#0000);width:50%;height:100%;animation:1.4s infinite shimmer;display:block;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(250%)}}.loader-mark{border:1px solid #3d4d61;border-radius:.65rem;align-items:end;gap:.25rem;width:2.7rem;height:2.7rem;padding:.55rem;display:flex}.loader-mark i{background:var(--copper);flex:1;animation:.8s ease-in-out infinite alternate load-bars}.loader-mark i:first-child{height:45%}.loader-mark i:nth-child(2){height:80%;animation-delay:.15s}.loader-mark i:nth-child(3){height:60%;animation-delay:.3s}@keyframes load-bars{to{opacity:.55;height:100%}}.empty-state{text-align:center;justify-items:center;gap:.55rem;padding:3.5rem 1.5rem;display:grid}.empty-state--compact{padding:1.5rem 1rem}.empty-state__icon,.error-state>span,.not-found>span,.fatal-error>span{width:3rem;height:3rem;color:var(--copper);background:#17212c;border:1px solid #354457;border-radius:.75rem;place-items:center;display:grid}.empty-state h3{margin:.3rem 0 0;font-size:1rem}.empty-state p{max-width:28rem;color:var(--muted);margin:0;font-size:.8rem;line-height:1.55}.error-state,.not-found,.fatal-error{text-align:center;place-content:center;justify-items:center;min-height:58vh;padding:3rem 1rem;display:grid}.error-state h2,.not-found h1,.fatal-error h1{color:#f0f4f7;letter-spacing:-.035em;max-width:35rem;margin:.5rem 0;font-size:clamp(1.6rem,4vw,2.7rem)}.error-state p,.not-found>p:not(.eyebrow),.fatal-error>p:not(.eyebrow){max-width:33rem;color:var(--muted);line-height:1.6}.error-state .button,.not-found .button,.fatal-error .button{margin-top:1rem}.login-layout{grid-template-columns:minmax(0,1.15fr) minmax(28rem,.85fr);min-height:100vh;display:grid}.login-story{background:radial-gradient(circle at 75% 30%,#4a6f742e,#0000 34%),linear-gradient(145deg,#101822,#0b1017 72%);border-right:1px solid #273342;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.login-story:before{opacity:.18;content:"";background-image:linear-gradient(#344050 1px,#0000 1px),linear-gradient(90deg,#344050 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#0000 15%,#000 70%,#0000);mask-image:linear-gradient(to bottom right,#0000 15%,#000 70%,#0000)}.login-story>*{z-index:1;position:relative}.login-story__copy{max-width:43rem;margin-block:auto;padding-block:3rem}.login-story__copy h1{color:#f2f5f7;letter-spacing:-.06em;margin:0;font-size:clamp(2.7rem,5.3vw,5.5rem);font-weight:690;line-height:.97}.login-story__copy h1 span{color:#9db0bf}.login-story__copy>p:last-of-type{color:#9aabba;max-width:37rem;margin:1.5rem 0 0;font-size:clamp(.95rem,1.4vw,1.12rem);line-height:1.72}.login-proof{background:#2b3848;border:1px solid #2b3848;border-radius:.75rem;gap:1px;width:fit-content;margin-top:2.3rem;display:flex;overflow:hidden}.login-proof div{background:#0e141ce0;gap:.2rem;min-width:8.5rem;padding:.8rem 1rem;display:grid}.login-proof strong{color:#e6edf2;font-size:1rem}.login-proof span{color:#758799;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.trust-map{aspect-ratio:1;opacity:.55;border:1px solid #4a5c6f47;border-radius:50%;width:min(28vw,27rem);position:absolute;bottom:7%;right:3%}.trust-map:before,.trust-map:after{content:"";border:1px solid #4a5c6f59;border-radius:50%;position:absolute}.trust-map:before{inset:16%}.trust-map:after{inset:33%}.trust-map__core{z-index:2;color:var(--copper);background:#141e29;border:1px solid #607286;border-radius:50%;place-items:center;display:grid;position:absolute;inset:38%}.trust-map__core svg{width:1.5rem}.trust-map__core small{letter-spacing:.08em;font-size:.42rem}.trust-map>i{z-index:3;background:var(--teal);border:2px solid #111820;border-radius:50%;width:.55rem;height:.55rem;position:absolute}.trust-map>i:first-of-type{top:15%;left:48%}.trust-map>i:nth-of-type(2){top:52%;right:15%}.trust-map>i:nth-of-type(3){bottom:20%;left:25%}.trust-map>i:nth-of-type(4){background:var(--copper);top:35%;left:28%}.login-story__note{color:#5f7284;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.login-panel{background:#0f151d;place-items:center;padding:clamp(1.5rem,5vw,4rem);display:grid}.login-card{width:min(100%,27rem)}.login-card header h2{color:#f3f6f8;letter-spacing:-.045em;margin:0;font-size:2rem}.login-card header>p:last-child{color:var(--muted);margin:.65rem 0 0;font-size:.85rem}.form-stack{gap:1rem;margin-top:1.7rem;display:grid}.field{color:#bdc8d2;gap:.48rem;font-size:.72rem;font-weight:700;display:grid}.field input,.field select,.search-field input,.management-filters select,.filter-row select{color:#edf2f5;background:#121a24;border:1px solid #334153;border-radius:.62rem;outline:none;width:100%;min-height:2.9rem;padding:.7rem .8rem;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.search-field input:focus,.management-filters select:focus,.filter-row select:focus{border-color:#b4875c;box-shadow:0 0 0 3px #d9a66f1a}input::placeholder,textarea::placeholder{color:#596b7e}.password-control{position:relative}.password-control input{padding-right:3rem}.password-control button{color:#8193a4;cursor:pointer;background:0 0;border:0;place-items:center;width:3rem;display:grid;position:absolute;inset:0 0 0 auto}.password-control button svg{width:1rem}.inline-alert{border:1px solid var(--border);border-radius:.65rem;gap:.7rem;margin-top:1.2rem;padding:.8rem;font-size:.75rem;display:flex}.inline-alert>svg{flex:none;width:1rem}.inline-alert div{display:grid}.inline-alert--error{color:#e2aaaa;background:#d4777712;border-color:#d4777752}.login-help{color:#788b9c;border-top:1px solid #242f3d;gap:.65rem;margin-top:1.3rem;padding-top:1.1rem;display:flex}.login-help svg{flex:none;width:1rem}.login-help p{margin:0;font-size:.69rem;line-height:1.55}.login-legal{color:#586a7c;margin:0;font-size:.62rem;position:absolute;bottom:1.2rem}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(19rem,.72fr);align-items:start;gap:1rem;display:grid}.module-list{display:grid}.module-row{border-bottom:1px solid #222e3d;grid-template-columns:3rem minmax(0,1fr);gap:.9rem;padding:1.1rem 1.25rem;display:grid}.module-row:last-child{border-bottom:0}.module-row__index{width:2.4rem;height:2.4rem;color:var(--copper);font:700 .72rem var(--font-mono);border:1px solid #334255;border-radius:.55rem;place-items:center;display:grid}.module-row__content{grid-template-columns:minmax(0,1fr) 12rem;align-items:center;gap:1.5rem;display:grid}.module-row h3{margin:0;font-size:.88rem}.module-row p{color:#7f91a2;margin:.35rem 0 0;font-size:.72rem;line-height:1.45}.module-row__progress>strong{color:#9fadb9;text-align:right;margin-bottom:.35rem;font-size:.65rem;display:block}.skills-list{gap:1.15rem;padding:1.2rem;display:grid}.skills-list small{color:#5f7284;margin-top:.38rem;font-size:.59rem;display:block}.activity-list{margin:0;padding:1rem 1.2rem 1.2rem;list-style:none;display:grid}.activity-list li{grid-template-columns:2rem 1fr;gap:.7rem;padding:.55rem 0;display:grid;position:relative}.activity-list li:not(:last-child):after{content:"";background:#2a3746;width:1px;position:absolute;top:2.55rem;bottom:-.1rem;left:.98rem}.activity-icon{z-index:1;color:#7f93a5;background:#151e28;border:1px solid #334255;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.activity-icon svg{width:.85rem}.activity-icon--solve{color:var(--green)}.activity-icon--hint{color:var(--copper)}.activity-list strong{color:#cbd5dd;font-size:.71rem}.activity-list p{color:#718496;margin:.16rem 0;font-size:.65rem;line-height:1.4}.activity-list time{color:#556879;font-size:.58rem}.framework-strip,.mapping-strip{color:#637689;text-transform:uppercase;letter-spacing:.06em;background:#0f161f;border:1px solid #222e3b;border-radius:.7rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:.62rem;display:flex}.framework-strip strong,.mapping-strip strong{color:#96a6b5;font-weight:700}.framework-strip i{background:#465669;border-radius:50%;width:3px;height:3px}.lab-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#141c26,#10161e);grid-template-rows:auto 1fr auto auto;min-width:0;min-height:20rem;transition:transform .18s,border-color .18s;display:grid}.lab-card:hover{border-color:#3a4b60;transform:translateY(-2px)}.lab-card--locked{opacity:.68}.lab-card--compact{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;min-height:0}.lab-card__top{border-bottom:1px solid #222e3c;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.lab-number{color:var(--copper);font:750 .7rem var(--font-mono)}.lab-card__body{padding:1rem}.lab-card__badges{flex-wrap:wrap;gap:.4rem;display:flex}.lab-card h3{color:#e7edf2;letter-spacing:-.02em;margin:.75rem 0 .4rem;font-size:1.05rem}.lab-card__body>p{color:#8193a4;margin:0;font-size:.73rem;line-height:1.55}.lab-card__meta{color:#6d8092;gap:1rem;padding:0 1rem .9rem;font-size:.62rem;display:flex}.lab-card__meta span{align-items:center;gap:.3rem;display:flex}.lab-card__meta svg{width:.8rem}.lab-card__action{color:#c5d0da;border-top:1px solid #273443;justify-content:space-between;align-items:center;min-height:2.9rem;padding:.72rem 1rem;font-size:.72rem;font-weight:750;display:flex}.lab-card__action:hover{color:var(--copper)}.lab-card__action svg{width:1rem}.lab-card__action--locked{color:#6d7c8a;justify-content:flex-start;gap:.45rem;font-weight:600}.lab-card__progress{background:#25303d;height:.22rem;position:relative}.lab-card__progress span{background:var(--teal);height:100%;display:block}.lab-card__progress small{color:#75889a;font-size:.55rem;position:absolute;bottom:.35rem;right:.5rem}.lab-card--compact .lab-card__top{border-bottom:0;border-right:1px solid #222e3c;grid-row:1/3}.lab-card--compact .tag-list{display:none}.lab-card--compact .lab-card__body{padding:1rem 1.2rem}.lab-card--compact .lab-card__meta{padding:0 1.2rem 1rem}.lab-card--compact .lab-card__action{border-top:0;border-left:1px solid #273443;grid-area:1/3/3;gap:.6rem;height:100%}.catalog-toolbar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.8rem;padding:.9rem;display:grid}.search-field{background:#121a24;border:1px solid #334153;border-radius:.62rem;align-items:center;gap:.55rem;padding-left:.75rem;display:flex}.search-field>svg{color:#718496;flex:none;width:1rem}.search-field input{background:0 0;border:0;flex:1;min-width:0;padding-left:0}.search-field input:focus{box-shadow:none}.search-field button{color:#aebbc7;cursor:pointer;background:0 0;border:0;border-left:1px solid #334153;min-height:2.4rem;padding-inline:.85rem;font-size:.7rem;font-weight:700}.filter-row{flex-wrap:wrap;gap:.55rem;display:flex}.filter-row label{background:#111923;border:1px solid #2e3c4c;border-radius:.55rem;align-items:center;gap:.4rem;min-width:12rem;padding-left:.55rem;display:flex}.filter-row label svg{color:#718496;width:.9rem}.filter-row select{background:0 0;border:0;min-height:2.45rem;padding:.45rem 1.7rem .45rem .2rem;font-size:.7rem}.catalog-summary{color:#718496;gap:.35rem;font-size:.7rem;display:flex}.catalog-summary strong{color:#cbd5dd}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.breadcrumbs{color:#718496;align-items:center;gap:.4rem;font-size:.68rem;display:flex}.breadcrumbs a:hover{color:var(--copper)}.breadcrumbs svg{width:.8rem}.breadcrumbs span{color:#aab8c4;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.challenge-heading{border-bottom:1px solid #222e3b;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:1.5rem;display:flex}.challenge-heading>div{max-width:52rem}.challenge-heading .eyebrow{margin-top:1.1rem}.challenge-heading h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.challenge-heading>div>p:last-child{color:var(--muted);margin:.8rem 0 0;line-height:1.65}.challenge-heading dl{gap:1.8rem;margin:0;display:flex}.challenge-heading dl div{gap:.3rem;min-width:5rem;display:grid}.challenge-heading dt{color:#65778a;text-transform:uppercase;letter-spacing:.08em;font-size:.59rem}.challenge-heading dd{color:#d5dee5;align-items:center;gap:.3rem;margin:0;font-size:.78rem;font-weight:750;display:flex}.challenge-heading dd svg{width:.85rem;color:var(--copper)}.success-banner{background:#69aa8c12;border:1px solid #69aa8c59;border-radius:.8rem;align-items:center;gap:.85rem;padding:.9rem 1rem;display:flex}.success-banner>span{color:#86c3a6;background:#69aa8c26;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;display:grid}.success-banner>span svg{width:1rem}.success-banner>div{display:grid}.success-banner .eyebrow{color:#78ad94;margin:0}.success-banner strong{font-size:.85rem}.success-banner small{color:#7c9b8c;font-size:.65rem}.challenge-workspace{grid-template-columns:minmax(20rem,.85fr) minmax(31rem,1.45fr);align-items:start;gap:1rem;display:grid}.challenge-workspace__brief,.challenge-workspace__runtime{gap:1rem;min-width:0;display:grid}.prose-panel .prose-copy{padding:1.2rem}.prose-copy p{color:#a2b0bd;margin:0 0 .9rem;font-size:.8rem;line-height:1.72}.prose-copy p:last-child{margin:0}.objective-list{gap:.1rem;margin:0;padding:1rem 1.2rem 1.2rem;list-style:none;display:grid}.objective-list li{grid-template-columns:2rem 1fr;gap:.7rem;padding:.6rem 0;display:grid}.objective-list li>span{color:#9cabb9;width:1.75rem;height:1.75rem;font:700 .65rem var(--font-mono);border:1px solid #3a4859;border-radius:50%;place-items:center;display:grid}.objective-list li>span svg{width:.8rem}.objective-list li strong{color:#ced7df;font-size:.73rem}.objective-list li p{color:#718496;margin:.15rem 0 0;font-size:.65rem;line-height:1.45}.objective-list li.is-complete>span{color:#86c3a6;background:#69aa8c14;border-color:#69aa8c73}.objective-list li.is-complete strong{color:#879b91;text-decoration:line-through}.mapping-strip{background:#0f161e;justify-content:flex-start}.mapping-strip strong{border-left:1px solid #2b3848;padding-left:1rem}.hint-list{display:grid}.hint-row{border-bottom:1px solid #222e3c;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:grid}.hint-row:last-child{border-bottom:0}.hint-row__number{color:#6c7f91;font:700 .65rem var(--font-mono)}.hint-row__title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hint-row strong{color:#bdc9d3;font-size:.72rem}.hint-row small{color:#7d8e9e;font-size:.58rem}.hint-row p{color:#718496;margin:.25rem 0 0;font-size:.65rem;line-height:1.5}.hint-row>svg{width:1rem;color:var(--copper)}.hint-row--open{background:#d9a66f06}.action-feedback{border-radius:.55rem;margin:0;padding:.7rem .8rem;font-size:.68rem;font-weight:700;line-height:1.45}.action-feedback--accepted{color:#9fd0b5;background:#53997717;border:1px solid #53997773}.action-feedback--rejected{color:#e3aaaa;background:#bb5b5b17;border:1px solid #bb5b5b7a}.console{border-radius:var(--radius);box-shadow:var(--shadow);background:#0c1219;border:1px solid #324153;overflow:hidden}.console__header{background:#121a23;border-bottom:1px solid #263341;justify-content:space-between;align-items:center;gap:1rem;min-height:4.8rem;padding:.9rem 1rem;display:flex}.console__header>div{align-items:center;gap:.9rem;display:flex}.console__header h2{margin:0;font-size:.9rem}.terminal-lights{gap:.3rem;display:flex}.terminal-lights i{background:#465465;border-radius:50%;width:.48rem;height:.48rem}.terminal-lights i:first-child{background:#af6e6e}.terminal-lights i:nth-child(2){background:#b58d5d}.terminal-lights i:nth-child(3){background:#60957d}.runtime-state{color:#90a2b3;align-items:center;gap:.4rem;font-size:.63rem;font-weight:700;display:inline-flex}.runtime-state i{background:var(--green);border-radius:50%;width:.45rem;height:.45rem}.runtime-state--error i{background:var(--red)}.runtime-state--queued i{background:var(--amber)}.runtime-state--closed i{background:var(--subtle)}.console__context{background:#0f161e;border-bottom:1px solid #222e3b;align-items:center;gap:1.5rem;padding:.65rem 1rem;display:flex}.console__context>div{gap:.1rem;display:grid}.console__context span{color:#596c7e;text-transform:uppercase;letter-spacing:.07em;font-size:.55rem}.console__context strong{color:#9eafbe;font:600 .64rem var(--font-mono)}.console__context button{color:#7e90a1;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;margin-left:auto;font-size:.62rem;display:flex}.console__context button:hover{color:#d0dae2}.console__context button svg{width:.75rem}.chat-log{scroll-behavior:smooth;height:min(54vh,34rem);min-height:27rem;padding:1rem;overflow-y:auto}.chat-message{grid-template-columns:1.8rem minmax(0,1fr);gap:.6rem;max-width:88%;margin-bottom:.9rem;display:grid}.chat-message--student{grid-template-columns:minmax(0,1fr) 1.8rem;margin-left:auto}.chat-message--student .chat-message__avatar{background:#29384a;grid-area:1/2}.chat-message--student .chat-message__bubble{background:#1a2633;grid-area:1/1}.chat-message__avatar{color:#8497a8;background:#151e29;border:1px solid #334255;border-radius:.45rem;place-items:center;width:1.8rem;height:1.8rem;display:grid}.chat-message__avatar svg{width:.85rem}.chat-message__bubble{background:#121a23;border:1px solid #273544;border-radius:.65rem;min-width:0;padding:.7rem .8rem}.chat-message__bubble>div{justify-content:space-between;gap:.8rem;margin-bottom:.38rem;display:flex}.chat-message__bubble strong{color:#aebbc6;font-size:.62rem}.chat-message__bubble time{color:#56697b;font:.55rem var(--font-mono)}.chat-message__bubble p{white-space:pre-wrap;overflow-wrap:anywhere;color:#c2cdd6;font:.73rem/1.6 var(--font-mono);margin:0}.chat-message__bubble details{border-top:1px solid #2a3644;margin-top:.55rem;padding-top:.45rem}.chat-message__bubble summary{color:#798b9b;cursor:pointer;align-items:center;gap:.3rem;font-size:.58rem;display:flex}.chat-message__bubble summary svg{width:.65rem}.chat-message__bubble pre{color:#9fb0be;font:.62rem/1.5 var(--font-mono);overflow-x:auto}.console-empty{text-align:center;place-content:center;justify-items:center;height:100%;display:grid}.console-empty>span{color:#788b9d;border:1px solid #334255;border-radius:.65rem;place-items:center;width:2.7rem;height:2.7rem;display:grid}.console-empty h3{margin:.7rem 0 .25rem;font-size:.83rem}.console-empty p{color:#637688;max-width:22rem;margin:0;font-size:.67rem}.typing-state{color:#6e8192;align-items:center;gap:.3rem;padding:.7rem;display:flex}.typing-state span{background:#73879a;border-radius:50%;width:.35rem;height:.35rem;animation:1s infinite alternate typing}.typing-state span:nth-child(2){animation-delay:.15s}.typing-state span:nth-child(3){animation-delay:.3s}.typing-state em{margin-left:.3rem;font-size:.6rem;font-style:normal}@keyframes typing{to{opacity:.4;transform:translateY(-3px)}}.console-alert{color:#dba0a0;background:#d4777712;border-top:1px solid #d477774d;gap:.6rem;padding:.7rem 1rem;display:flex}.console-alert>svg{width:1rem}.console-alert div{display:grid}.console-alert strong{font-size:.68rem}.console-alert span{font-size:.6rem}.chat-composer{background:#111923;border-top:1px solid #293646;padding:.8rem}.chat-composer textarea{resize:vertical;color:#d7e0e7;width:100%;font:.72rem/1.55 var(--font-mono);background:0 0;border:0;outline:0}.chat-composer>div{border-top:1px solid #273442;justify-content:space-between;align-items:center;padding-top:.55rem;display:flex}.chat-composer>div>span{color:#596b7d;font:.57rem var(--font-mono)}.proof-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem}.proof-card--solved{border-color:#69aa8c59}.proof-card__heading{align-items:center;gap:.7rem;display:flex}.proof-card__heading>span{width:2.2rem;height:2.2rem;color:var(--copper);border:1px solid #3a495b;border-radius:.55rem;place-items:center;display:grid}.proof-card__heading svg{width:1rem}.proof-card h2{margin:0;font-size:.9rem}.proof-card>p{color:#7d8f9f;margin:.7rem 0;font-size:.67rem;line-height:1.5}.proof-form{gap:.55rem;display:flex}.proof-form input{color:#cbd5dd;min-width:0;font:.7rem var(--font-mono);background:#0f161e;border:1px solid #344355;border-radius:.55rem;outline:0;flex:1;padding:.65rem .75rem}.proof-form input:focus{border-color:#a67d54;box-shadow:0 0 0 3px #d9a66f14}.attempt-info{color:#66798b;gap:1rem;margin-top:.65rem;font-size:.58rem;display:flex}.attempt-info strong{color:#97a7b6}.proof-error{color:#d98f8f;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.65rem;display:flex}.proof-error svg{width:.9rem}.info-banner{color:#8fa4b8;background:#7596b80f;border:1px solid #7596b842;border-radius:.7rem;align-items:flex-start;gap:.65rem;padding:.8rem 1rem;display:flex}.info-banner svg{flex:none;width:1rem}.info-banner p{margin:0;font-size:.7rem;line-height:1.5}.info-banner strong{color:#b9c7d2}.scoreboard-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.scoreboard-head,.scoreboard-row{grid-template-columns:6rem minmax(12rem,1fr) 7rem 11rem 7rem;align-items:center;gap:1rem;display:grid}.scoreboard-head{color:#617486;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #2b3848;min-height:2.7rem;padding:.6rem 1rem;font-size:.58rem;font-weight:800}.scoreboard-row{color:#94a4b3;border-bottom:1px solid #222e3b;min-height:4.4rem;padding:.65rem 1rem;font-size:.7rem}.scoreboard-row:last-child{border-bottom:0}.scoreboard-row--current{box-shadow:inset 2px 0 var(--copper);background:linear-gradient(90deg,#d9a66f17,#0000)}.rank{align-items:center;gap:.55rem;display:flex}.rank strong{color:#b7c3cd;width:2rem;height:2rem;font:750 .72rem var(--font-mono);border:1px solid #364557;border-radius:.5rem;place-items:center;display:grid}.rank svg{color:#687a8b;width:.8rem}.rank--1 strong{color:#e0b886;background:#d9a66f14;border-color:#8d6d49}.score-user{align-items:center;gap:.7rem;display:flex}.score-user strong{color:#d3dce3;align-items:center;gap:.5rem;display:flex}.score-user small{color:var(--copper);background:#d9a66f21;border-radius:999px;padding:.14rem .4rem;font-size:.53rem}.scoreboard-row time{align-items:center;gap:.35rem;display:flex}.scoreboard-row time svg{width:.75rem}.score-value{color:#edf2f5;font:750 .9rem var(--font-mono);text-align:right}.data-freshness{color:#5e7182;text-align:right;margin:0;font-size:.6rem}.instructor-grid{grid-template-columns:minmax(0,1.7fr) minmax(19rem,.7fr);align-items:start;gap:1rem;display:grid}.heatmap-scroll,.table-scroll{contain:layout paint;overflow-x:auto}.heatmap-table,.data-table{border-collapse:collapse;width:100%}.heatmap-table th,.heatmap-table td,.data-table th,.data-table td{text-align:left;border-bottom:1px solid #222e3b;padding:.7rem .65rem}.heatmap-table thead th,.data-table thead th{color:#657789;letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:800}.heatmap-table tbody th{min-width:9.5rem}.heatmap-table tbody th span{color:#c4cfd7;font-size:.68rem;display:block}.heatmap-table tbody th small{color:#5f7283;font-size:.56rem}.heatmap-table td{text-align:center}.heatmap-table td:last-child{width:8rem}.heat-cell,.heatmap-legend i{background:#17202a;border:1px solid #354457;border-radius:.2rem;width:.8rem;height:.8rem;display:inline-block}.heat-cell--completed{background:#477862!important;border-color:#477862!important}.heat-cell--in_progress{background:#a17d54!important;border-color:#a17d54!important}.heat-cell--available{background:#26394b!important;border-color:#59728c!important}.heat-cell--locked{background:#171e27!important}.heatmap-legend{color:#718496;border-top:1px solid #222e3b;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;font-size:.58rem;display:flex}.heatmap-legend span{align-items:center;gap:.35rem;display:flex}.heatmap-legend i{width:.55rem;height:.55rem}.health-badge{border:1px solid var(--border);color:#8fa0af;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.58rem;font-weight:750;display:inline-flex}.health-badge i{background:var(--subtle);border-radius:50%;width:.4rem;height:.4rem}.health-badge--healthy{color:#85ba9f;border-color:#69aa8c47}.health-badge--healthy i{background:var(--green)}.health-badge--degraded{color:var(--amber)}.health-badge--degraded i{background:var(--amber)}.health-badge--offline{color:var(--red)}.health-badge--offline i{background:var(--red)}.runtime-model{align-items:center;gap:.65rem;padding:1rem 1.1rem 0;display:flex}.runtime-model>span{width:2.4rem;height:2.4rem;color:var(--teal);border:1px solid #344456;border-radius:.55rem;place-items:center;display:grid}.runtime-model>span svg{width:1.1rem}.runtime-model div{display:grid}.runtime-model small{color:#66798b;font-size:.58rem}.runtime-model strong{font:.75rem var(--font-mono)}.runtime-chart{width:100%;height:8rem;margin-top:.7rem}.runtime-stats{border-top:1px solid #222e3b;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.runtime-stats div{border-right:1px solid #222e3b;gap:.25rem;padding:.75rem;display:grid}.runtime-stats div:last-child{border-right:0}.runtime-stats dt{color:#687b8d;align-items:center;gap:.25rem;font-size:.55rem;display:flex}.runtime-stats dt svg{width:.7rem}.runtime-stats dd{color:#c6d0d8;font:700 .7rem var(--font-mono);margin:0}.cohort-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.cohort-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem}.cohort-card--active{border-color:#3b4d5d}.cohort-card>div,.cohort-card footer{justify-content:space-between;align-items:center;display:flex}.cohort-card h3{margin:.9rem 0 .35rem;font-size:.9rem}.cohort-card>p{color:#718496;margin:0;font-size:.63rem}.cohort-card>p strong{color:#9aabba;font-family:var(--font-mono)}.cohort-card footer{color:#6d8092;border-top:1px solid #222e3b;margin-top:1rem;padding-top:.7rem;font-size:.62rem}.cohort-card footer strong{color:#bdc8d1}.management-filters{border-bottom:1px solid #222e3b;grid-template-columns:minmax(16rem,1fr) 14rem 11rem;gap:.6rem;padding:.85rem 1rem;display:grid}.management-filters select{width:100%;min-height:2.65rem}.data-table th,.data-table td{color:#92a2b1;vertical-align:middle;font-size:.68rem}.data-table tbody th{align-items:center;gap:.65rem;min-width:14rem;display:flex}.data-table tbody th div{display:grid}.data-table tbody th strong{color:#d0d9e0;font-size:.7rem}.data-table tbody th small{color:#66798a;font-size:.58rem}.table-progress{grid-template-columns:minmax(6rem,1fr) auto;align-items:center;gap:.6rem;min-width:9rem;display:grid}.table-progress>small{color:#637688;font-size:.56rem}.field-error{color:#df9292;margin:0;font-size:.68rem}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#03070bb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:#121922;border:1px solid #3b4b5f;border-radius:1rem;width:min(100%,30rem);max-height:calc(100dvh - 2rem);padding:1.2rem;overflow-y:auto;box-shadow:0 25px 70px #00000073}.modal>header{border-bottom:1px solid #263342;justify-content:space-between;align-items:start;padding-bottom:.9rem;display:flex}.modal h2{margin:0;font-size:1.1rem}.modal__actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}@media (width<=1240px){.metric-grid,.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.instructor-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid__side,.instructor-grid__side{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-workspace{grid-template-columns:minmax(18rem,.75fr) minmax(27rem,1.25fr)}.trust-map{display:none}}@media (width<=1023px){.app-shell,.app-shell--collapsed{--sidebar:17.25rem;padding-left:0;position:relative}.mobile-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e141cf0;border-bottom:1px solid #24303e;justify-content:space-between;align-items:center;width:100%;height:4.25rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}.sidebar{z-index:60;width:min(19rem,88vw);transform:translate(-105%);box-shadow:20px 0 50px #00000059}.app-shell--mobile-open .sidebar{transform:translate(0)}.app-shell--collapsed .nav-link span,.app-shell--collapsed .nav-label,.app-shell--collapsed .runtime-pill div,.app-shell--collapsed .profile-card div{opacity:1;pointer-events:auto}.app-shell--collapsed .nav-link{justify-content:flex-start;padding-inline:.75rem}.sidebar-collapse{display:none}.sidebar-scrim{z-index:55;visibility:hidden;opacity:0;background:#03070b9e;border:0;width:100%;height:100%;transition:opacity .2s,visibility .2s;display:block;position:absolute;inset:0}.app-shell--mobile-open .sidebar-scrim{visibility:visible;opacity:1}.topbar{min-height:4rem}.challenge-workspace{grid-template-columns:1fr}.challenge-workspace__runtime{grid-row:1}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh}.login-legal{text-align:center;margin-top:2rem;position:static}}@media (width<=760px){.page-container{padding:1.25rem 1rem 2rem}.topbar{padding-inline:1rem}.topbar__cohort{display:none}.command-trigger{width:100%;min-width:0}.page-header--split,.challenge-heading{flex-direction:column;align-items:stretch}.page-header--split .button{width:100%}.header-actions{flex-direction:column;width:100%}.header-actions .button{width:100%}.metric-grid,.lab-grid,.dashboard-grid__side,.instructor-grid__side,.cohort-grid,.module-row__content{grid-template-columns:1fr}.module-row__progress>strong{text-align:left}.lab-card--compact{grid-template-columns:auto 1fr;display:grid}.lab-card--compact .lab-card__action{border-top:1px solid #273443;border-left:0;grid-area:auto/1/auto/3}.lab-card--compact .lab-card__meta{grid-column:2}.filter-row{display:grid}.filter-row label{min-width:0}.catalog-toolbar .button{width:100%}.challenge-heading dl{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.challenge-heading dl div{min-width:0}.mapping-strip{gap:.55rem}.mapping-strip strong{border-top:1px solid #2b3848;border-left:0;width:100%;padding-top:.5rem;padding-left:0}.console__context{gap:.8rem}.console__context>div:nth-child(2){display:none}.chat-log{min-height:23rem}.chat-message{max-width:96%}.proof-form{flex-direction:column}.scoreboard-panel{overflow-x:auto}.scoreboard-head,.scoreboard-row{min-width:46rem}.management-filters{grid-template-columns:1fr}.data-table{min-width:54rem}.login-panel{padding-inline:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
