.admin-users-shell,.admin-users-shell .workspace{height:100dvh;overflow:hidden}.admin-users-topbar>span{color:var(--gold)}.admin-users-workspace{grid-template-columns:minmax(28rem,42%) minmax(34rem,58%);height:calc(100dvh - 58px);display:grid;overflow:hidden}.admin-users-roster{border-right:1px solid var(--hairline);background:var(--bg);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.admin-users-roster>header{padding:1.5rem 1.5rem 1.1rem}.admin-users-roster>header p,.admin-user-detail__header p,.admin-user-section__heading p{color:var(--gold);letter-spacing:.1em;margin:0 0 .4rem;font-family:Departure Mono,ui-monospace,monospace;font-size:.625rem}.admin-users-roster h1,.admin-user-detail__header h1,.admin-user-section h2{letter-spacing:-.025em;margin:0}.admin-users-roster h1{max-width:19ch;font-size:clamp(1.55rem,2vw,2.25rem);line-height:1.05}.admin-user-filters{border-block:1px solid var(--hairline-soft);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.5rem;padding:.75rem;display:grid}.admin-user-filters>label:first-of-type{grid-column:1/-2}.admin-user-filters>label:nth-of-type(4){grid-column:1/-1}.admin-user-filters>.icon-button{grid-area:1/-2/auto/-1}.admin-user-filters select,.admin-user-filters input{border-radius:4px;min-height:40px;font-size:.75rem}.admin-user-search{position:relative}.admin-user-search svg{width:.9rem;color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.admin-user-search input{border:1px solid var(--hairline);background:var(--bg);width:100%;color:var(--text);padding:.65rem .7rem .65rem 2.1rem}.admin-user-list{min-height:0;overflow:auto}.admin-user-row{border:0;border-bottom:1px solid var(--hairline-soft);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(11rem,1.4fr) minmax(10rem,1.3fr) minmax(7rem,.75fr) minmax(8rem,.8fr);align-items:center;gap:.9rem;width:100%;min-width:0;padding:.85rem 1rem;display:grid}.admin-user-row:hover{background:var(--surface)}.admin-user-row.is-selected{background:var(--cell);box-shadow:inset 2px 0 0 var(--gold)}.admin-user-row>span{gap:.2rem;min-width:0;display:grid}.admin-user-row strong,.admin-user-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-row strong{font-size:.75rem}.admin-user-row small{color:var(--text-faint);letter-spacing:.02em;font-family:Departure Mono,ui-monospace,monospace;font-size:.5625rem}.admin-user-row__state{justify-items:end}.admin-readiness{letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:.3rem .5rem;font-family:Departure Mono,ui-monospace,monospace;font-size:.5625rem}.admin-readiness--ready{color:var(--gold)}.admin-readiness--blocked{color:var(--alert-text)}.admin-users-pagination{border-top:1px solid var(--hairline-soft);background:var(--surface);min-height:52px;color:var(--text-faint);justify-content:space-between;align-items:center;padding:.5rem 1rem;font-family:Departure Mono,ui-monospace,monospace;font-size:.625rem;display:flex}.admin-users-pagination>div{gap:.4rem;display:flex}.admin-user-detail{background:var(--surface);min-width:0;height:100%;overflow-y:auto}.admin-user-detail--empty{color:var(--text-faint);text-align:center;place-items:center;display:grid}.admin-user-detail--empty>div{max-width:24rem}.admin-user-detail--empty span{border:1px solid var(--hairline);width:54px;height:54px;color:var(--gold);place-items:center;margin:0 auto 1rem;display:grid}.admin-user-detail__header{z-index:4;border-bottom:1px solid var(--hairline);background:color-mix(in oklch, var(--surface) 96%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1.25rem clamp(1rem,3vw,2rem);display:grid;position:sticky;top:0}.admin-user-detail__header h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.35rem,2vw,2rem);overflow:hidden}.admin-user-detail__header>div>span,.admin-user-section__note{color:var(--text-faint);font-size:.72rem}.admin-user-detail__back{color:var(--text-dim);background:0 0;border:0;padding:0;display:none}.admin-user-detail__body{background:var(--hairline-soft);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1px;display:grid}.admin-user-section{background:var(--surface);align-self:stretch;min-width:0;padding:clamp(1.1rem,2vw,1.6rem)}.admin-user-section:nth-child(3),.admin-user-credentials,.admin-user-plan,.admin-user-history{grid-column:1/-1}.admin-user-section__heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.admin-user-section__heading h2{font-size:1rem}.admin-user-section__heading>span{color:var(--text-faint);white-space:nowrap;font-family:Departure Mono,ui-monospace,monospace;font-size:.625rem}.admin-user-facts{border-top:1px solid var(--hairline-soft);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.admin-user-facts>div{border-bottom:1px solid var(--hairline-soft);gap:.25rem;min-width:0;padding:.7rem 0;display:grid}.admin-user-facts>div:nth-child(odd){padding-right:.75rem}.admin-user-facts>div:nth-child(2n){border-left:1px solid var(--hairline-soft);padding-left:.75rem}.admin-user-facts dt{color:var(--text-faint);font-size:.625rem}.admin-user-facts dd{overflow-wrap:anywhere;min-width:0;margin:0;font-family:Departure Mono,ui-monospace,monospace;font-size:.6875rem}.admin-user-readiness ol,.admin-user-history ol{margin:0;padding:0;list-style:none}.admin-user-readiness li{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;font-size:.72rem;display:flex}.admin-user-readiness li strong{max-width:55%;color:var(--text-faint);text-align:right;overflow-wrap:anywhere;font-family:Departure Mono,ui-monospace,monospace;font-size:.5625rem}.admin-user-readiness li.is-ready strong{color:var(--gold)}.admin-user-readiness li.is-blocked strong{color:var(--alert-text)}.admin-user-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.admin-user-form label,.admin-user-secret label{min-width:0;color:var(--text-faint);gap:.4rem;font-size:.6875rem;display:grid}.admin-user-form input,.admin-user-form select{border:1px solid var(--hairline);background:var(--bg);width:100%;min-height:44px;color:var(--text);border-radius:4px;padding:.65rem .75rem}.admin-user-form__actions{justify-content:flex-end;align-items:end;display:flex}.admin-user-secret{border-block:1px solid var(--hairline-soft);grid-template-columns:minmax(8rem,.7fr) minmax(12rem,1.3fr) auto;align-items:end;gap:.75rem;padding:.8rem 0;display:grid}.admin-user-secret code{border:1px solid var(--hairline);background:var(--bg);min-height:44px;color:var(--text);white-space:nowrap;align-items:center;padding:.65rem .75rem;font-size:.75rem;display:flex;overflow:auto hidden}.admin-user-secret__warning{color:var(--alert-text);margin:.7rem 0 0;font-size:.6875rem}.admin-user-action-row{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.button--danger{border-color:var(--alert);color:var(--alert-text);background:0 0}.admin-user-replace{border-top:1px solid var(--hairline-soft);margin-top:.9rem;padding-top:.8rem}.admin-user-replace summary,.admin-course summary{cursor:pointer}.admin-user-replace .admin-user-form{grid-template-columns:1fr 1fr auto;margin-top:.8rem}.admin-course-list{border-top:1px solid var(--hairline-soft)}.admin-course{border-bottom:1px solid var(--hairline-soft)}.admin-course summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem 0;list-style:none;display:grid}.admin-course summary::-webkit-details-marker{display:none}.admin-course summary>span{gap:.2rem;min-width:0;display:grid}.admin-course summary strong{font-size:.8rem}.admin-course summary small,.admin-course__classes small{color:var(--text-faint);font-family:Departure Mono,ui-monospace,monospace;font-size:.5625rem}.admin-course[open] summary>svg{transform:rotate(180deg)}.admin-course__classes{background:var(--hairline-soft);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1px;margin-bottom:.75rem;display:grid}.admin-course__classes label{background:var(--bg);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;gap:.25rem .55rem;min-width:0;padding:.7rem;display:grid}.admin-course__classes label>button{border:1px solid var(--hairline);width:32px;height:32px;color:var(--gold);cursor:pointer;background:0 0;grid-area:1/3/span 2;align-self:center;place-items:center;display:grid}.admin-course__classes small{text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.admin-user-plan .admin-user-form__actions{margin-top:1rem}.admin-user-history li{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;gap:1rem;padding:.65rem 0;display:flex}.admin-user-history li>span{gap:.2rem;display:grid}.admin-user-history strong{text-transform:uppercase;font-size:.72rem}.admin-user-history small,.admin-user-history time{color:var(--text-faint);font-family:Departure Mono,ui-monospace,monospace;font-size:.5625rem}.admin-users-notice{border:1px solid var(--hairline);margin:1rem 1rem 0;padding:.7rem .8rem;font-size:.75rem}.admin-users-notice--success{border-color:var(--gold-deep);color:var(--gold)}.admin-users-notice--error{border-color:var(--alert);color:var(--alert-text)}.admin-users-empty{min-height:10rem;color:var(--text-faint);text-align:center;align-content:center;place-items:center;gap:.35rem;padding:1rem;display:grid}.admin-users-empty strong{color:var(--text-dim)}.admin-users-loader{border:2px solid var(--hairline);border-top-color:var(--gold);border-radius:50%;width:24px;height:24px;margin:auto;animation:.8s linear infinite admin-users-spin}@keyframes admin-users-spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1240px){.admin-users-workspace{grid-template-columns:minmax(24rem,40%) minmax(30rem,60%)}.admin-user-row{grid-template-columns:minmax(10rem,1fr) minmax(9rem,1fr)}.admin-user-row__war,.admin-user-row__state{grid-row:2}.admin-user-row__state{justify-items:start}.admin-user-filters>label:nth-of-type(4){grid-column:1/-1}}@media (max-width:900px){.admin-users-workspace{height:calc(100dvh - 58px);display:block;overflow:hidden}.admin-users-roster{border-right:0;height:100%}.admin-user-detail{z-index:20;height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0}.admin-user-detail--empty{display:none}.admin-user-detail__back{grid-column:1/-1;align-items:center;gap:.35rem;display:inline-flex}}@media (max-width:820px){.admin-users-workspace{height:100dvh}}@media (max-width:680px){.admin-users-roster>header{padding:1rem}.admin-users-roster h1{font-size:1.65rem}.admin-user-filters{grid-template-columns:1fr 1fr auto}.admin-user-search,.admin-user-filters>label:nth-of-type(4){grid-column:1/-1}.admin-user-row{grid-template-columns:minmax(0,1fr) auto;padding:.8rem .75rem}.admin-user-row__program{grid-column:1/-1}.admin-user-row__war{display:none!important}.admin-user-detail__header{grid-template-columns:minmax(0,1fr) auto;padding:.85rem 1rem}.admin-user-detail__body{display:block}.admin-user-section{border-bottom:1px solid var(--hairline-soft);padding:1rem}.admin-user-form,.admin-user-replace .admin-user-form,.admin-user-secret{grid-template-columns:1fr}.admin-user-form__actions,.admin-user-form__actions .button,.admin-user-secret>.button{width:100%}.admin-user-action-row>.button{flex:10rem}}@media (prefers-reduced-motion:reduce){.admin-users-loader{animation:none}}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-700.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f5f8;color:color(display-p3 .955294 .96133 .970581);color:lab(96.5123% -.330716 -1.47089);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#0a0c0f;--surface:#15171a;--cell:#212326;--cell-hi:#2b2e32;--hairline:#36383b;--hairline-soft:#242729;--gold:#f1c837;--gold-bright:#ffdd40;--gold-deep:#c7a01e;--gold-ink:#211a00;--text:#f3f5f8;--text-dim:#aeb1b5;--text-faint:#8b8e91;--alert:#ed4a46;--alert-text:#eecfcc;--alert-soft:#37120f;--ease:cubic-bezier(.22, 1, .36, 1);background:#0a0c0f;background:color(display-p3 .0425132 .0482018 .0569742);background:lab(3.35538% -.241615 -1.30573);font-family:Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .0425132 .0482018 .0569742);--surface:color(display-p3 .0850892 .0911994 .100605);--cell:color(display-p3 .129478 .137009 .148597);--cell-hi:color(display-p3 .17127 .180234 .194027);--hairline:color(display-p3 .212764 .219713 .230385);--hairline-soft:color(display-p3 .144523 .151077 .161152);--gold:color(display-p3 .919578 .789851 .334066);--gold-bright:color(display-p3 .980212 .869677 .363871);--gold-deep:color(display-p3 .75443 .63141 .239683);--gold-ink:color(display-p3 .127898 .10256 .0039654);--text:color(display-p3 .955294 .96133 .970581);--text-dim:color(display-p3 .686153 .694665 .707719);--text-faint:color(display-p3 .547637 .555804 .568332);--alert:color(display-p3 .858994 .340452 .305057);--alert-text:color(display-p3 .913311 .817134 .801843);--alert-soft:color(display-p3 .197095 .0782887 .0666598)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(3.35538% -.241615 -1.30573);--surface:lab(7.76826% -.440232 -2.17837);--cell:lab(13.5639% -.529945 -2.54788);--cell-hi:lab(18.7817% -.60755 -2.91281);--hairline:lab(23.4271% -.471979 -2.19293);--hairline-soft:lab(15.3067% -.463724 -2.18866);--gold:lab(82.4675% 5.15312 72.381);--gold-bright:lab(89.0257% 1.3645 77.3972);--gold-deep:lab(67.8406% 6.53449 65.4192);--gold-ink:lab(9.66704% 1.14302 15.4185);--text:lab(96.5123% -.330716 -1.47089);--text-dim:lab(72.1481% -.489384 -2.20246);--text-faint:lab(58.8079% -.486821 -2.20106);--alert:lab(56.2542% 62.9078 39.8847);--alert-text:lab(85.7617% 10.6587 6.0156);--alert-soft:lab(11.2555% 18.7627 10.6215)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body,#app{min-height:100dvh}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{flex:none;width:1.125rem;height:1.125rem;display:block}::selection{background:var(--gold);color:var(--gold-ink)}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.brand{width:-moz-fit-content;width:fit-content;color:var(--text);letter-spacing:.1em;align-items:center;font-family:Departure Mono,ui-monospace,monospace;font-size:.875rem;display:inline-flex}.brand__mark{background:var(--gold);color:var(--gold-ink);margin-right:.35rem;padding:.26rem .35rem .2rem}.kicker{color:var(--gold);letter-spacing:.14em;margin:0;font-family:Departure Mono,ui-monospace,monospace;font-size:.6875rem;line-height:1.35}.button{cursor:pointer;min-height:44px;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease), opacity .18s var(--ease);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1rem;font-size:.8125rem;font-weight:700;line-height:1.2;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.64}.button:disabled:not(.is-loading){cursor:not-allowed}.button:disabled.is-loading{cursor:wait}.button--primary:disabled:not(.is-loading){border-color:var(--hairline);background:var(--cell-hi);color:var(--text-faint)}.button--primary{background:var(--gold);color:var(--gold-ink)}.button--primary:hover:not(:disabled){background:var(--gold-bright)}.button--secondary{border-color:var(--hairline);background:var(--cell);color:var(--text)}.button--secondary:hover:not(:disabled){border-color:var(--text-faint);background:var(--cell-hi)}.button--ghost{border-color:var(--hairline);color:var(--text-dim);background:0 0}.button--ghost:hover:not(:disabled){border-color:var(--text-faint);color:var(--text)}.button--danger{border-color:var(--alert);background:var(--alert);color:var(--bg)}.button--danger:hover:not(:disabled){background:#ff544f;background:color(display-p3 .927529 .375783 .337029);background:lab(60.7972% 66.0319 41.7398)}.button--full{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.icon-button{border:1px solid var(--hairline);width:44px;height:44px;color:var(--text-dim);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);background:0 0;border-radius:6px;flex:none;place-items:center;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){border-color:var(--text-faint);background:var(--cell);color:var(--text)}.icon-button:disabled{cursor:wait;opacity:.6}.icon-button--danger{color:var(--alert)}.icon-button--danger:hover:not(:disabled){border-color:var(--alert);background:var(--alert-soft);color:#ffb4ac;color:color(display-p3 1.01062 .689898 .64663);color:lab(80.3101% 37.0785 21.465)}.icon-button[data-tooltip]:after{content:attr(data-tooltip);z-index:20;border:1px solid var(--hairline);background:var(--cell);width:max-content;max-width:12rem;color:var(--text);opacity:0;pointer-events:none;transition:opacity .15s var(--ease), transform .15s var(--ease);border-radius:4px;padding:.4rem .55rem;font-size:.6875rem;font-weight:500;position:absolute;bottom:calc(100% + .5rem);right:0;transform:translateY(.25rem)}.icon-button[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.icon-button[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.notice{z-index:100;top:max(1rem, env(safe-area-inset-top));width:min(27rem,100vw - 2rem);color:var(--text);-webkit-backdrop-filter:blur(18px)saturate(1.15);animation:notice-enter .22s var(--ease) both;background:#111417f5;background:color(display-p3 .0701874 .0781638 .0904728/.96);background:lab(6.17854% -.476807 -2.62761/.96);border-radius:14px;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:start;gap:.75rem;padding:.75rem;font-size:.875rem;line-height:1.45;display:grid;position:fixed;left:1rem;box-shadow:0 22px 64px #00000094,inset 0 0 0 1px #ffffff14;box-shadow:0 22px 64px color(display-p3 0 0 0/.58),inset 0 0 0 1px color(display-p3 1 1 1/.08);box-shadow:0 22px 64px lab(0% 0 0/.58),inset 0 0 0 1px lab(100% 0 0/.08)}.app-shell .notice{width:min(27rem,100vw - 17rem);left:16rem}.auth-shell .notice{width:min(27rem,55vw - 2rem);left:calc(45vw + 1rem)}.notice.is-leaving{pointer-events:none;animation:.18s ease-in both notice-exit}.notice__icon{background:var(--cell-hi);width:2rem;height:2rem;color:var(--text-faint);border-radius:8px;place-items:center;display:grid}.notice__icon svg{width:1rem;height:1rem}.notice--success .notice__icon{color:var(--gold)}.notice--error{background:#2c110ff7;background:color(display-p3 .160187 .0738195 .0638612/.97);background:lab(9.08778% 14.0054 7.35796/.97)}.notice--error .notice__icon{color:#ffb8b0;color:color(display-p3 1.05422 .704743 .658434);color:lab(82.5326% 40.2098 23.343);background:#441a17;background:color(display-p3 .244925 .111754 .0977616);background:lab(15.8503% 20.2895 12.1963)}.notice__body{gap:.45rem;min-width:0;display:grid}.notice__meta{font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.5625rem;line-height:1;display:flex}.notice__meta strong{color:var(--text);font-weight:700}.notice__meta span{color:var(--text-dim)}.notice--error .notice__meta span{color:#e7c0bb;color:color(display-p3 .880223 .758476 .739438);color:lab(81.0288% 13.7334 7.77036)}.notice__text{min-width:0;color:var(--text-dim);overflow-wrap:anywhere}.notice--success .notice__text,.notice--error .notice__text{color:var(--text)}.notice__action{justify-self:start;min-height:38px;margin-top:.2rem;padding:.45rem .7rem}.notice__close{border:0;width:2rem;height:2rem}@keyframes notice-enter{0%{opacity:0;filter:blur(4px);transform:translate(-.75rem,-.4rem)scale(.985)}}@keyframes notice-exit{to{opacity:0;filter:blur(3px);transform:translate(-.5rem,-.3rem)scale(.985)}}@media (max-width:820px){.app-shell .notice{width:min(27rem,100vw - 2rem);left:1rem}}@media (max-width:900px) and (min-width:681px){.auth-shell .notice{width:min(27rem,62.5vw - 2rem);left:calc(37.5vw + 1rem)}}@media (max-width:680px){.auth-shell .notice{width:min(27rem,100vw - 2rem);left:1rem}}@media (max-width:460px){.notice,.app-shell .notice{top:max(.75rem, env(safe-area-inset-top));width:calc(100vw - 1.5rem);left:.75rem}}.field{align-content:start;gap:.42rem;min-width:0;display:grid}.field__label{color:var(--text-dim);font-size:.8125rem;font-weight:700}.field input{border:1px solid var(--hairline);background:var(--bg);width:100%;min-width:0;min-height:44px;color:var(--text);transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);border-radius:6px;padding:.68rem .75rem;font-size:1rem;line-height:1.35}.field input::placeholder{color:var(--text-faint)}.field input:hover:not(:disabled){border-color:var(--text-faint)}.field input:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 2px #f1c8372b;box-shadow:0 0 0 2px color(display-p3 .919578 .789851 .334066/.17);box-shadow:0 0 0 2px lab(82.4675% 5.15312 72.381/.17)}.field input:disabled{opacity:.64}.field__control{display:block;position:relative}.field__control--icon>svg{z-index:1;width:1rem;height:1rem;color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.field__control--icon>input{padding-left:2.35rem}.field__control--action>input{padding-right:3.25rem}.field__action{z-index:2;border:0;width:36px;height:36px;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.field__help{color:var(--text-faint);margin:0;font-size:.75rem;line-height:1.45}.form-message{min-height:1.25rem;color:var(--text-dim);font-size:.8125rem;line-height:1.45;display:none}.form-message.is-visible{display:block}.form-message--error{color:#ffa9a0;color:color(display-p3 .98367 .664892 .622204);color:lab(77.9888% 37.0947 21.4993)}.form-message--success{color:var(--gold)}.form-message__action{width:-moz-fit-content;width:fit-content;min-height:40px;margin-top:.65rem;padding:.5rem .75rem}.boot{place-content:center;justify-items:start;gap:2rem;min-height:100dvh;padding:2rem;display:grid}.brand--boot{opacity:.82}.boot__panel{border:1px solid var(--hairline-soft);background:var(--surface);border-radius:8px;gap:.8rem;width:min(32rem,100vw - 4rem);padding:1.5rem;display:grid}.skeleton{background:var(--cell);height:.8rem;animation:1.4s ease-in-out infinite alternate skeleton-pulse;display:block}.skeleton--eyebrow{width:6rem;height:.55rem}.skeleton--title{width:75%;height:2rem;margin:.35rem 0 .25rem}.skeleton--short{width:62%}.boot__status{color:var(--text-faint);letter-spacing:.13em;margin:0;font-family:Departure Mono,monospace;font-size:.6875rem}@keyframes skeleton-pulse{to{background:var(--cell-hi)}}.auth-shell{background:var(--bg);grid-template-columns:minmax(20rem,.9fr) minmax(28rem,1.1fr);min-height:100dvh;display:grid}.auth-brief{border-right:1px solid var(--hairline);background:var(--surface);flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(2rem,5vw,4.75rem);display:flex}.auth-brief__body{max-width:34rem;margin:4rem 0}.auth-brief h1{letter-spacing:-.055em;margin:.75rem 0 1.25rem;font-size:clamp(2.6rem,5vw,5rem);line-height:.94}.auth-brief__body>p:last-child{max-width:31rem;color:var(--text-dim);margin:0;font-size:1.05rem;line-height:1.65}.proof-strip{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.proof-strip div{border-right:1px solid var(--hairline);gap:.35rem;padding:1rem .9rem 0 0;display:grid}.proof-strip div+div{padding-left:.9rem}.proof-strip div:last-child{border-right:0}.proof-strip dt,.proof-strip dd{margin:0}.proof-strip dt{color:var(--text-faint);letter-spacing:.1em;font-family:Departure Mono,monospace;font-size:.625rem}.proof-strip dd{color:var(--gold);font-size:1.125rem;font-weight:700}.auth-panel{grid-template-rows:1fr auto;align-items:center;min-height:100%;padding:clamp(1.5rem,6vw,5rem);display:grid}.auth-panel__inner{gap:1.5rem;width:min(100%,28rem);margin:auto;display:grid}.auth-panel__foot{color:var(--text-faint);justify-self:center;margin:2rem 0 0;font-size:.75rem}.auth-heading{align-items:flex-start;gap:1rem;display:flex}.auth-heading__icon{border:1px solid var(--gold-deep);width:46px;height:46px;color:var(--gold);border-radius:6px;flex:none;place-items:center;display:grid}.auth-heading h2{letter-spacing:-.035em;margin:.35rem 0 0;font-size:1.75rem;line-height:1.08}.auth-copy{color:var(--text-dim);margin:-.25rem 0 0;line-height:1.6}.auth-copy strong{color:var(--text);font-weight:700}.stack-form{gap:1rem;display:grid}.security-note{border-top:1px solid var(--hairline);color:var(--text-faint);grid-template-columns:auto 1fr;gap:.75rem;padding-top:1rem;display:grid}.security-note svg{color:var(--gold-deep);margin-top:.15rem}.security-note p{margin:0;font-size:.75rem;line-height:1.55}.code-input{text-align:center;letter-spacing:.34em;font-family:Departure Mono,monospace;padding-left:calc(.75rem + .34em)!important;font-size:1.6rem!important}.back-link,.text-action{width:-moz-fit-content;width:fit-content;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:700}.back-link{align-items:center;gap:.35rem;display:inline-flex}.back-link svg{transform:rotate(180deg)}.back-link:hover,.text-action:hover{color:var(--gold)}.app-shell{background:var(--bg);grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--hairline);background:var(--surface);flex-direction:column;height:100dvh;padding:1.5rem 1rem 1rem;display:flex;position:sticky;top:0}.brand--sidebar{margin:.2rem .7rem 2.2rem}.side-nav{gap:.25rem;display:grid}.side-nav__item{min-height:44px;color:var(--text-dim);border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem .75rem;font-size:.8125rem;font-weight:700;display:grid;position:relative}.side-nav__item:hover:not(.is-disabled),.side-nav__item.is-active{background:var(--cell);color:var(--text)}.side-nav__item.is-active svg{color:var(--gold)}.side-nav__signal{background:var(--gold);width:2px;position:absolute;top:.6rem;bottom:.6rem;left:0}.side-nav__item small{color:var(--text-faint);letter-spacing:.08em;font-family:Departure Mono,monospace;font-size:.5625rem;font-weight:400}.side-nav__item.is-disabled{opacity:.55}.sidebar__meta{border-left:1px solid var(--gold-deep);gap:.3rem;margin:auto .7rem 1.5rem;padding-left:.8rem;display:grid}.sidebar__meta p,.sidebar__meta strong,.sidebar__meta span{margin:0}.sidebar__meta p,.sidebar__meta span{color:var(--text-faint);letter-spacing:.08em;font-family:Departure Mono,monospace;font-size:.625rem}.sidebar__meta strong{color:var(--gold);font-size:.9rem}.user-card{border:1px solid var(--hairline);background:var(--bg);width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.user-card:hover{border-color:var(--text-faint)}.user-card__avatar{border:1px solid var(--gold-deep);width:34px;height:34px;color:var(--gold);border-radius:4px;place-items:center;font-family:Departure Mono,monospace;font-size:.6875rem;display:grid}.user-card>span:nth-child(2){gap:.18rem;min-width:0;display:grid}.user-card strong,.user-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-card strong{font-size:.75rem}.user-card small{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.5625rem}.user-card>svg{width:.95rem;color:var(--text-faint)}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--hairline-soft);height:58px;color:var(--text-faint);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 clamp(1.25rem,4vw,3rem);font-family:Departure Mono,monospace;font-size:.625rem;display:flex}.topbar>div,.topbar__war{align-items:center;gap:.55rem;display:flex}.topbar i{color:var(--hairline);font-style:normal}.topbar strong{color:var(--text-dim);font-weight:400}.topbar__war svg{width:.9rem;color:var(--gold-deep)}.topbar__war strong{color:var(--gold)}.mobilebar{display:none}.mobilebar__top{justify-content:space-between;align-items:center;display:flex}.mobile-nav{border-top:1px solid var(--hairline-soft);grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.35rem;padding-top:.45rem;display:grid}.mobile-nav__item{min-height:44px;color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;gap:.18rem;padding:.3rem .2rem;font-size:.5625rem;display:grid}.mobile-nav__item svg{width:1rem;height:1rem}.mobile-nav__item:hover,.mobile-nav__item.is-active{border-color:var(--gold-deep);color:var(--gold)}.mobile-nav__item:focus-visible{border-color:var(--gold-deep);color:var(--gold)}.program-picker{position:relative}.program-picker__input{border:1px solid var(--hairline);background:var(--bg);width:100%;min-height:44px;color:var(--text);border-radius:6px;padding:.65rem .75rem}.program-picker__input:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 2px #f1c8372b;box-shadow:0 0 0 2px color(display-p3 .919578 .789851 .334066/.17);box-shadow:0 0 0 2px lab(82.4675% 5.15312 72.381/.17)}.program-picker__list{z-index:30;border:1px solid var(--hairline);background:var(--surface);border-radius:8px;max-height:min(24rem,55vh);position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto;box-shadow:0 16px 32px #00000052;box-shadow:0 16px 32px color(display-p3 0 0 0/.32);box-shadow:0 16px 32px lab(0% 0 0/.32)}.program-picker__group+.program-picker__group{border-top:1px solid var(--hairline-soft)}.program-picker__group-label{background:var(--cell);color:var(--gold);font-family:var(--font-mono);letter-spacing:.08em;margin:0;padding:.55rem .7rem .4rem;font-size:.5625rem}.program-picker__option{border:0;border-bottom:1px solid var(--hairline-soft);width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .7rem;display:flex}.program-picker__option:hover,.program-picker__option[aria-selected=true]{background:var(--cell-hi);color:var(--gold);outline:0}.program-picker__option:focus-visible{background:var(--cell-hi);color:var(--gold);outline:0}.program-picker__option small{color:var(--text-faint);font-family:var(--font-mono);flex:none;font-size:.5625rem}.program-picker__empty{color:var(--text-faint);margin:0;padding:.85rem .7rem;font-size:.75rem}.program-picker__more{border-top:1px solid var(--hairline);background:var(--cell);color:var(--text-faint);letter-spacing:.04em;margin:0;padding:.6rem .7rem;font-family:Departure Mono,monospace;font-size:.625rem;position:sticky;bottom:0}.field__help{display:block}.content{width:min(100%,90rem);margin:0 auto;padding:clamp(1.5rem,4vw,3rem)}.page-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem;display:flex}.page-heading h1{letter-spacing:-.045em;margin:.55rem 0 .65rem;font-size:clamp(1.9rem,3.2vw,2.65rem);line-height:1.02}.page-heading>div:first-child>p:last-child{max-width:43rem;color:var(--text-dim);margin:0;line-height:1.55}.readiness-score{border-left:1px solid var(--hairline);align-items:baseline;gap:.8rem;padding-left:1.3rem;display:flex}.readiness-score>span{color:var(--text-faint);letter-spacing:.1em;font-family:Departure Mono,monospace;font-size:.625rem}.readiness-score strong{letter-spacing:-.05em;font-size:2.2rem;line-height:1}.readiness-score small{color:var(--text-faint);letter-spacing:0;font-size:.9rem}.readiness-score.is-complete strong{color:var(--gold)}.readiness-bar{background:var(--cell);height:3px;margin-bottom:1.5rem;overflow:hidden}.readiness-bar__fill{background:var(--gold);height:100%;transition:width .22s var(--ease);display:block}.readiness-bar__fill--0{width:0}.readiness-bar__fill--1{width:25%}.readiness-bar__fill--2{width:50%}.readiness-bar__fill--3{width:75%}.readiness-bar__fill--4{width:100%}.profile-layout{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.62fr);align-items:start;gap:1.25rem;display:grid}.profile-flow{gap:1.25rem;display:grid}.panel,.readiness-panel{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;scroll-margin-top:1.25rem}.panel{padding:clamp(1.15rem,3vw,1.5rem)}.panel__heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.85rem;display:grid}.section-icon{border:1px solid var(--hairline);width:42px;height:42px;color:var(--gold);border-radius:6px;place-items:center;display:grid}.panel h2,.readiness-panel h2{letter-spacing:-.02em;margin:.3rem 0 0;font-size:1.125rem;line-height:1.22}.panel__copy{max-width:64ch;color:var(--text-dim);margin:1rem 0 1.25rem;font-size:.875rem;line-height:1.6}.profile-identity{border:1px solid var(--hairline);background:var(--bg);border-radius:6px;gap:1rem;margin:1rem 0 1.5rem;padding:1rem;display:grid}.profile-identity--good{border-color:var(--gold-deep)}.profile-identity--danger{border-color:var(--alert);background:var(--alert-soft)}.profile-identity__heading,.profile-identity__footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile-identity h3,.profile-identity p{margin:0}.profile-identity h3{margin-top:.25rem;font-size:1rem;line-height:1.3}.profile-identity>p{max-width:70ch;color:var(--text-dim);font-size:.875rem;line-height:1.55}.profile-identity--danger>p{color:var(--alert-text)}.profile-identity__ledger{border-block:1px solid var(--hairline-soft);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.profile-identity__ledger div{gap:.35rem;min-width:0;padding:.75rem;display:grid}.profile-identity__ledger div+div{border-left:1px solid var(--hairline-soft)}.profile-identity__ledger dt,.profile-identity__ledger dd{margin:0}.profile-identity__ledger dt,.profile-identity__footer>span{color:var(--text-faint);letter-spacing:.07em;font-family:Departure Mono,monospace;font-size:.5625rem}.profile-identity__ledger dd{overflow-wrap:anywhere;color:var(--text);font-size:.75rem;line-height:1.45}@media (max-width:680px){.profile-identity__heading,.profile-identity__footer{flex-direction:column;align-items:stretch}.profile-identity__heading .status-chip{align-self:flex-start}.profile-identity__ledger{grid-template-columns:1fr}.profile-identity__ledger div+div{border-top:1px solid var(--hairline-soft);border-left:0}.profile-identity__footer .button{width:100%}}.status-chip{border:1px solid var(--hairline);min-height:27px;color:var(--text-faint);letter-spacing:.07em;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .55rem;font-family:Departure Mono,monospace;font-size:.5625rem;line-height:1;display:inline-flex}.status-chip svg{width:.78rem;height:.78rem}.status-chip--good{border-color:var(--gold-deep);color:var(--gold)}.status-chip--pending{border-color:var(--hairline);color:var(--text-faint)}.grid-form{grid-template-columns:minmax(0,1fr) minmax(9rem,.42fr);gap:1rem;display:grid}.war-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.war-fields>.field{min-width:0}.grid-form__wide,.grid-form__message,.grid-form__actions{grid-column:1/-1}.grid-form__actions{min-height:44px;margin-top:.25rem}.saved-at{color:var(--text-faint);letter-spacing:.07em;font-family:Departure Mono,monospace;font-size:.5625rem}.credential-ledger{border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.credential-ledger>div{border-right:1px solid var(--hairline-soft);gap:.38rem;min-width:0;padding:1rem;display:grid}.credential-ledger>div:first-child{padding-left:0}.credential-ledger>div:last-child{border-right:0;padding-right:0}.credential-ledger span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-family:Departure Mono,monospace;font-size:.5625rem}.credential-ledger strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.delete-confirm{border:1px solid var(--alert);background:var(--alert-soft);border-radius:6px;gap:1rem;padding:1rem;display:grid}.delete-confirm>div:first-child{grid-template-columns:auto 1fr;gap:.7rem;display:grid}.delete-confirm>div:first-child>svg{color:#ffa9a0;color:color(display-p3 .98367 .664892 .622204);color:lab(77.9888% 37.0947 21.4993);margin-top:.1rem}.delete-confirm p{gap:.2rem;margin:0;display:grid}.delete-confirm p span{color:var(--text-dim);font-size:.8125rem}.readiness-panel{position:sticky;top:1.25rem;overflow:hidden}.readiness-panel__head{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;display:flex}.status-dot{background:var(--text-faint);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #8b8e911a;box-shadow:0 0 0 4px color(display-p3 .547637 .555804 .568332/.1);box-shadow:0 0 0 4px lab(58.8079% -.486821 -2.20106/.1)}.status-dot.is-live{background:var(--gold);box-shadow:0 0 0 4px #f1c8371f;box-shadow:0 0 0 4px color(display-p3 .919578 .789851 .334066/.12);box-shadow:0 0 0 4px lab(82.4675% 5.15312 72.381/.12)}.ledger{margin:0;padding:0;list-style:none;display:grid}.ledger__item{border-bottom:1px solid var(--hairline-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:70px;padding:.85rem 1.2rem;display:grid}.ledger__icon{border:1px solid var(--hairline);width:27px;height:27px;color:var(--text-faint);border-radius:50%;place-items:center;display:grid}.ledger__icon svg{width:.8rem;height:.8rem}.ledger__item.is-complete .ledger__icon{border-color:var(--gold-deep);color:var(--gold);background:#f1c83714;background:color(display-p3 .919578 .789851 .334066/.08);background:lab(82.4675% 5.15312 72.381/.08)}.ledger__item>div{gap:.18rem;min-width:0;display:grid}.ledger__item strong{font-size:.8125rem}.ledger__item>div span{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.ledger__state{color:var(--gold);letter-spacing:.08em;font-family:Departure Mono,monospace;font-size:.5625rem}.ledger__action{border:0;width:34px;height:34px}.entitlement-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:1.2rem;display:grid}.entitlement-ledger div{gap:.25rem;min-width:0;display:grid}.entitlement-ledger dt,.entitlement-ledger dd{margin:0;font-family:Departure Mono,monospace}.entitlement-ledger dt{color:var(--text-faint);letter-spacing:.08em;font-size:.5625rem}.entitlement-ledger dd{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.entitlement-ledger dd.is-active{color:var(--gold)}.vault-note{border-top:1px solid var(--hairline-soft);background:var(--bg);grid-template-columns:auto 1fr;gap:.7rem;padding:1rem 1.2rem;display:grid}.vault-note>svg{color:var(--gold-deep);margin-top:.15rem}.vault-note div{gap:.25rem;display:grid}.vault-note strong{font-size:.75rem}.vault-note p{color:var(--text-faint);margin:0;font-size:.6875rem;line-height:1.5}.is-loading svg:last-child{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1080px){.profile-layout{grid-template-columns:1fr}.readiness-panel{position:static}}@media (max-width:900px){.auth-shell{grid-template-columns:minmax(17rem,.75fr) minmax(24rem,1.25fr)}.auth-brief{padding:2rem}.auth-brief h1{font-size:3.35rem}.proof-strip{grid-template-columns:1fr}.proof-strip div,.proof-strip div+div{border-right:0;border-bottom:1px solid var(--hairline-soft);padding:.7rem 0}.proof-strip div:last-child{border-bottom:0}}@media (max-width:820px){.app-shell{display:block}.sidebar,.topbar{display:none}.mobilebar{border-bottom:1px solid var(--hairline);background:var(--surface);gap:.45rem;min-height:104px;padding:.6rem 1rem;display:grid}.mobilebar__right{align-items:center;gap:.55rem;display:flex}.plan-chip{border:1px solid var(--gold-deep);color:var(--gold);letter-spacing:.07em;border-radius:999px;padding:.35rem .55rem;font-family:Departure Mono,monospace;font-size:.5625rem}.mobilebar .icon-button{width:44px;height:44px}.content{padding:1.5rem 1rem 2.5rem}}@media (max-width:680px){.auth-shell{display:block}.auth-brief{border-right:0;border-bottom:1px solid var(--hairline);min-height:auto;padding:1.25rem}.auth-brief__body{margin:3.5rem 0 2.5rem}.auth-brief h1{font-size:clamp(2.55rem,13vw,4rem)}.auth-brief__body>p:last-child{font-size:.95rem}.proof-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.proof-strip div,.proof-strip div+div{border-right:1px solid var(--hairline-soft);border-bottom:0;padding:.7rem}.proof-strip div:first-child{padding-left:0}.proof-strip div:last-child{border-right:0;padding-right:0}.auth-panel{min-height:35rem;padding:2rem 1.25rem 1.25rem}.page-heading{align-items:flex-start}.readiness-score{gap:.35rem;display:grid}.panel__heading{grid-template-columns:auto minmax(0,1fr)}.panel__heading .status-chip{grid-column:2;justify-self:start}.grid-form{grid-template-columns:1fr}.grid-form__wide,.grid-form__message,.grid-form__actions{grid-column:auto}.war-fields{grid-column:auto;grid-template-columns:1fr}.credential-ledger{grid-template-columns:1fr}.credential-ledger>div,.credential-ledger>div:first-child,.credential-ledger>div:last-child{border-right:0;border-bottom:1px solid var(--hairline-soft);padding:.8rem 0}.credential-ledger>div:last-child{border-bottom:0}}@media (max-width:460px){.page-heading{gap:1.2rem;display:grid}.page-heading h1{font-size:2rem}.readiness-score{border-top:1px solid var(--hairline);border-left:0;grid-template-columns:1fr auto;align-items:center;width:100%;padding:.9rem 0 0}.readiness-score strong{font-size:1.8rem}.panel{padding:1rem}.section-icon{width:38px;height:38px}.panel h2,.readiness-panel h2{font-size:1rem}.button-row>.button:not(.button--ghost){flex:auto}.saved-at{width:100%}.entitlement-ledger{grid-template-columns:1fr 1fr}}@media (pointer:coarse){.back-link,.text-action{align-items:center;min-height:44px;display:inline-flex}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.status-chip--danger{border-color:var(--alert);color:#ffb4ac;color:color(display-p3 1.01062 .689898 .64663);color:lab(80.3101% 37.0785 21.465)}.side-nav button.side-nav__item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}select{border:1px solid var(--hairline);background:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:6px;padding:.7rem 2.5rem .7rem .75rem}select:focus-visible{border-color:var(--gold)}select:disabled{color:var(--text-faint);opacity:.62}.catalog-content{gap:1.25rem;display:grid}.catalog-content .page-heading{margin-bottom:0}.catalog-heading-status{justify-content:flex-end;align-items:stretch;gap:1rem;display:flex}.catalog-runner-health{border:1px solid var(--hairline);background:var(--surface);border-radius:7px;align-content:center;gap:.35rem;min-width:14rem;padding:.75rem .85rem;display:grid}.catalog-runner-health__state{color:var(--text-faint);letter-spacing:.08em;align-items:center;gap:.45rem;font-family:Departure Mono,monospace;font-size:.625rem;display:flex}.catalog-runner-health__state i{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #8b8e911a;box-shadow:0 0 0 3px color(display-p3 .547637 .555804 .568332/.1);box-shadow:0 0 0 3px lab(58.8079% -.486821 -2.20106/.1)}.catalog-runner-health dl{gap:.75rem;margin:0;display:flex}.catalog-runner-health dl div{align-items:baseline;gap:.28rem;display:flex}.catalog-runner-health dt,.catalog-runner-health dd,.catalog-runner-health small{margin:0;font-family:Departure Mono,monospace}.catalog-runner-health dt,.catalog-runner-health small{color:var(--text-faint);letter-spacing:.05em;font-size:.5625rem}.catalog-runner-health dd{color:var(--text);font-size:.75rem}.catalog-runner-health--online{border-color:var(--gold-deep)}.catalog-runner-health--online .catalog-runner-health__state{color:var(--gold)}.catalog-runner-health--online .catalog-runner-health__state i{background:var(--gold)}.catalog-runner-health--late .catalog-runner-health__state{color:var(--gold-bright)}.catalog-runner-health--late .catalog-runner-health__state i{background:var(--gold-bright)}.catalog-runner-health--offline,.catalog-runner-health--offline .catalog-runner-health__state{border-color:var(--alert);color:var(--alert)}.catalog-runner-health--offline .catalog-runner-health__state i{background:var(--alert)}.catalog-runner-health--stopped{opacity:.78}.catalog-schedule{border-left:1px solid var(--hairline);justify-items:end;min-width:11rem;padding-left:1.5rem;display:grid}.catalog-schedule span,.catalog-schedule small{color:var(--text-faint);letter-spacing:.1em;font-family:Departure Mono,monospace;font-size:.625rem}.catalog-schedule strong{color:var(--gold);font-family:Departure Mono,monospace;font-size:2rem;line-height:1.1}.catalog-secret{border:1px solid var(--gold-deep);background:var(--surface);border-radius:8px;grid-template-columns:minmax(13rem,.8fr) minmax(16rem,1.4fr) auto;align-items:center;gap:1rem;padding:1.25rem;display:grid}.catalog-secret h2,.catalog-secret p{margin:.25rem 0 0}.catalog-secret p{color:var(--text-dim);font-size:.8125rem}.catalog-secret code{overflow-wrap:anywhere;border:1px solid var(--hairline);background:var(--bg);color:var(--gold-bright);border-radius:6px;padding:.85rem;font-family:Departure Mono,monospace;font-size:.75rem}.catalog-coverage__toolbar{justify-content:space-between;align-items:end;gap:1.5rem;margin-top:1rem;display:flex}.catalog-coverage__toolbar .panel__copy{margin:0}.catalog-coverage__toolbar form{flex:none;width:min(100%,15rem)}.catalog-coverage-list{border-top:1px solid var(--hairline-soft);margin-top:1rem;display:grid}.coverage-row{border-bottom:1px solid var(--hairline-soft);min-width:0}.coverage-row>summary{cursor:pointer;grid-template-columns:minmax(16rem,.9fr) minmax(30rem,1.35fr) auto;align-items:center;gap:1rem;min-height:72px;padding:.9rem 0;list-style:none;display:grid}.coverage-row>summary::-webkit-details-marker{display:none}.coverage-row[open]>summary{background:var(--cell);box-shadow:.75rem 0 0 var(--cell), -.75rem 0 0 var(--cell)}.coverage-row__program{justify-items:start;gap:.35rem;min-width:0;display:grid}.coverage-row__program strong,.coverage-row__program small{overflow-wrap:anywhere}.coverage-row__program small,.coverage-row__toggle{color:var(--text-faint);letter-spacing:.07em;font-family:Departure Mono,monospace;font-size:.5625rem}.coverage-row__counts{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.coverage-row__counts div{border-left:1px solid var(--hairline-soft);gap:.2rem;min-width:0;padding-left:.5rem;display:grid}.coverage-row__counts dt,.coverage-row__counts dd{margin:0;font-family:Departure Mono,monospace}.coverage-row__counts dt{overflow-wrap:anywhere;color:var(--text-faint);letter-spacing:.05em;font-size:.5rem}.coverage-row__counts dd{color:var(--text);font-size:.875rem}.coverage-row__toggle{justify-content:flex-end;align-items:center;gap:.35rem;min-height:44px;display:inline-flex}.coverage-row__toggle svg{transition:transform .18s var(--ease)}.coverage-row[open] .coverage-row__toggle svg{transform:rotate(180deg)}.coverage-row__body{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.6fr);gap:1rem;padding:1rem 0 1.5rem;display:grid}.coverage-candidate-list,.coverage-evidence{align-content:start;gap:.75rem;min-width:0;display:grid}.coverage-subheading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.coverage-subheading span{color:var(--text-faint);font-size:.75rem}.coverage-candidate{border:1px solid var(--hairline-soft);background:var(--bg);border-radius:6px;grid-template-columns:minmax(12rem,.8fr) minmax(18rem,1.2fr) auto;align-items:center;gap:1rem;min-width:0;padding:.75rem;display:grid}.coverage-candidate.is-assignable{border-color:var(--gold-deep)}.coverage-candidate__identity{justify-items:start;gap:.35rem;min-width:0;display:grid}.coverage-candidate__identity strong,.coverage-candidate__identity small{overflow-wrap:anywhere}.coverage-candidate__identity small,.coverage-evidence__item span,.coverage-evidence__item small{color:var(--text-faint);letter-spacing:.05em;font-family:Departure Mono,monospace;font-size:.5625rem;line-height:1.4}.coverage-candidate__programs{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;display:grid}.coverage-candidate__programs div{gap:.25rem;min-width:0;padding:0 .75rem;display:grid}.coverage-candidate__programs div+div{border-left:1px solid var(--hairline-soft)}.coverage-candidate__programs dt,.coverage-candidate__programs dd{margin:0}.coverage-candidate__programs dt{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.5rem}.coverage-candidate__programs dd{overflow-wrap:anywhere;color:var(--text-dim);font-size:.75rem;line-height:1.4}.coverage-candidate__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.coverage-evidence__item{border:1px solid var(--hairline-soft);background:var(--bg);border-radius:6px;gap:.3rem;min-width:0;padding:.75rem;display:grid}.coverage-evidence__item strong,.coverage-evidence__item small{overflow-wrap:anywhere}@media (max-width:1180px){.coverage-row>summary{grid-template-columns:minmax(0,1fr) auto}.coverage-row__counts{grid-area:2/1/auto/-1}.coverage-row__toggle{grid-area:1/2}.coverage-row__body,.coverage-candidate{grid-template-columns:1fr}.coverage-candidate__actions{justify-content:flex-start}}@media (max-width:700px){.catalog-coverage__toolbar,.coverage-subheading{flex-direction:column;align-items:stretch}.catalog-coverage__toolbar form{width:100%}.coverage-row>summary{grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:1rem 0}.coverage-row__counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 0}.coverage-candidate__programs{grid-template-columns:1fr}.coverage-candidate__programs div{padding:.5rem 0}.coverage-candidate__programs div+div{border-top:1px solid var(--hairline-soft);border-left:0}.coverage-candidate__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coverage-candidate__actions .button{width:100%}}@media (pointer:coarse){.coverage-row>summary{min-height:72px}}.catalog-grid,.catalog-operations{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.catalog-start .grid-form{grid-template-columns:minmax(11rem,.8fr) minmax(14rem,1.2fr);margin-top:1.25rem}.catalog-key-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin-top:1.25rem;display:grid}.catalog-key-form .form-message{grid-column:1/-1}.catalog-key-list,.catalog-run-list,.catalog-publication-list{border-top:1px solid var(--hairline-soft);gap:0;margin-top:1rem;display:grid}.catalog-key{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.9rem 0;display:flex}.catalog-key>div:first-child{gap:.3rem;min-width:0;display:grid}.catalog-key code,.catalog-key small,.catalog-publication-list code,.catalog-publication-list span{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.625rem}.catalog-key.is-revoked{opacity:.62}.catalog-empty{color:var(--text-faint);margin:1rem 0 0;font-size:.8125rem;line-height:1.55}.catalog-operations{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.65fr)}.catalog-run{border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(13rem,1.2fr) minmax(15rem,.8fr) auto;align-items:center;gap:1rem;padding:.9rem 0;display:grid}.catalog-run.is-selected{background:var(--cell);box-shadow:.75rem 0 0 var(--cell), -.75rem 0 0 var(--cell)}.catalog-run__select{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-items:start;gap:.4rem;padding:0;display:grid}.catalog-run__select strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.catalog-run__select small{color:var(--text-faint);font-family:Departure Mono,monospace;font-size:.625rem}.catalog-run__metrics,.catalog-diff__totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0;display:grid}.catalog-run__metrics div,.catalog-diff__totals div{border-left:1px solid var(--hairline-soft);gap:.2rem;padding-left:.55rem;display:grid}.catalog-run__metrics dt,.catalog-diff__totals dt{color:var(--text-faint);letter-spacing:.08em;font-family:Departure Mono,monospace;font-size:.5rem}.catalog-run__metrics dd,.catalog-diff__totals dd{margin:0;font-family:Departure Mono,monospace;font-size:.875rem}.catalog-run__actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.catalog-run__actions .button{min-height:44px;padding:.5rem .65rem}.catalog-diff__totals{margin-top:1.25rem}.catalog-diff__programs{border-top:1px solid var(--hairline-soft);max-height:24rem;margin-top:1rem;display:grid;overflow:auto}.catalog-diff__programs div{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;gap:1rem;padding:.65rem 0;font-size:.75rem;display:flex}.catalog-diff__programs span{color:var(--text-faint);font-family:Departure Mono,monospace}.catalog-publish-confirm{border:1px solid var(--alert);background:var(--alert-soft);border-radius:6px;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.catalog-publish-confirm p{color:var(--text-dim);margin:0;font-size:.8125rem}.catalog-publish-confirm input{border-color:var(--alert)}.catalog-publish-confirm textarea{resize:vertical;border:1px solid var(--hairline);background:var(--background);width:100%;min-height:6.5rem;color:var(--text);font:inherit;border-radius:6px;padding:.7rem .75rem;line-height:1.5}.catalog-publish-confirm textarea:focus-visible{border-color:var(--signal-gold);outline:2px solid color-mix(in oklab, var(--signal-gold) 34%, transparent);outline-offset:2px}.catalog-review__evidence,.catalog-review__identity,.catalog-review__prior,.catalog-review__gate-block{gap:.45rem;min-width:0;display:grid}.catalog-review__evidence{gap:1rem;margin-top:1rem}.catalog-review__identity{justify-items:start}.catalog-review__identity strong,.catalog-review__prior strong{overflow-wrap:anywhere}.catalog-review__identity small,.catalog-review__diff-state,.catalog-review__prior span,.catalog-review__prior small,.catalog-review__gate-block>span,.catalog-review__empty{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.75rem;line-height:1.45}.catalog-review__facts{border-top:1px solid var(--hairline-soft);gap:0;margin:0;display:grid}.catalog-review__facts>div{border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(6.5rem,.35fr) minmax(0,1fr);gap:.75rem;padding:.65rem 0;display:grid}.catalog-review__facts dt,.catalog-review__facts dd{margin:0}.catalog-review__facts dt{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.75rem}.catalog-review__facts dd{overflow-wrap:anywhere;color:var(--text-dim);font-size:.75rem;line-height:1.5}.catalog-review__counts{margin-top:0}.catalog-review__empty{margin:0}.catalog-review__prior,.catalog-review__gate-block{border:1px solid var(--hairline-soft);background:var(--cell);border-radius:6px;padding:.8rem}.catalog-review__gates{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.catalog-review__gates li{border-bottom:1px solid var(--hairline-soft);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.45rem 0;font-size:.75rem;display:flex}.catalog-review__gates li:last-child{border-bottom:0}.catalog-review__gates code{overflow-wrap:anywhere;color:var(--text-faint);font-family:Departure Mono,monospace;font-size:.75rem}.catalog-review__clear{color:var(--text-dim);margin:0;font-size:.75rem;line-height:1.5}.catalog-publication{border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 0;display:grid}.catalog-publication.is-active{background:var(--cell);box-shadow:.75rem 0 0 var(--cell), -.75rem 0 0 var(--cell)}.catalog-publication__summary{justify-items:start;gap:.35rem;min-width:0;display:grid}.catalog-publication__summary strong,.catalog-publication__summary code,.catalog-publication__summary p{overflow-wrap:anywhere}.catalog-publication__summary p{color:var(--text-dim);margin:0;font-size:.75rem;line-height:1.5}.catalog-publication__actions{justify-content:flex-end;display:flex}.catalog-rollback-confirm{grid-column:1/-1;width:100%}.catalog-publication-list>:-webkit-any(div,article){border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(8rem,.4fr) minmax(10rem,.6fr) minmax(12rem,1fr);gap:1rem;padding:.75rem 0;display:grid}.catalog-publication-list>:is(div,article){border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(8rem,.4fr) minmax(10rem,.6fr) minmax(12rem,1fr);gap:1rem;padding:.75rem 0;display:grid}.academic-run{border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr);align-items:center;gap:1rem;margin-top:1rem;padding:.9rem 0;display:grid}.academic-run__identity{justify-items:start;gap:.35rem;min-width:0;display:grid}.academic-run__identity code,.academic-run__identity small,.academic-run__failure,.academic-row__program small,.academic-row__failure{overflow-wrap:anywhere;color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.5625rem;line-height:1.4}.academic-run__failure,.academic-row__failure{color:var(--alert)}.academic-run__counts,.academic-row__counts{grid-template-columns:repeat(9,minmax(0,1fr));margin:0;display:grid}.academic-row__counts{grid-template-columns:repeat(8,minmax(0,1fr))}.academic-run__counts div,.academic-row__counts div{border-left:1px solid var(--hairline-soft);gap:.2rem;min-width:0;padding-left:.5rem;display:grid}.academic-run__counts dt,.academic-run__counts dd,.academic-row__counts dt,.academic-row__counts dd{margin:0;font-family:Departure Mono,monospace}.academic-run__counts dt,.academic-row__counts dt{overflow-wrap:anywhere;color:var(--text-faint);letter-spacing:.05em;font-size:.5rem}.academic-run__counts dd,.academic-row__counts dd{color:var(--text);font-size:.875rem}.academic-row-list{display:grid}.academic-row{border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr);align-items:center;gap:1rem;min-width:0;padding:.8rem 0;display:grid}.academic-row__program{justify-items:start;gap:.35rem;min-width:0;display:grid}.academic-row__program strong{overflow-wrap:anywhere}@media (max-width:1320px){.academic-run,.academic-row{grid-template-columns:1fr}}@media (max-width:700px){.academic-run__counts,.academic-row__counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 0}}@media (max-width:1320px){.catalog-grid,.catalog-operations{grid-template-columns:1fr}.catalog-run{grid-template-columns:minmax(12rem,1fr) minmax(15rem,1fr)}.catalog-run__actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:700px){.catalog-secret{grid-template-columns:1fr}.catalog-content .page-heading{grid-template-columns:1fr;gap:1.1rem;display:grid}.catalog-heading-status{justify-content:stretch;width:100%;display:grid}.catalog-runner-health{width:100%;min-width:0}.catalog-schedule{border-top:1px solid var(--hairline);border-left:0;justify-items:start;padding:.9rem 0 0}.catalog-key-form,.catalog-run{grid-template-columns:1fr}.catalog-publication-list>:-webkit-any(div,article){grid-template-columns:1fr}.catalog-publication-list>:is(div,article){grid-template-columns:1fr}.catalog-start .grid-form{grid-template-columns:1fr}.catalog-key{flex-direction:column;align-items:flex-start}.catalog-run__actions{grid-column:auto}.catalog-run__metrics{width:100%}.catalog-review__counts{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-review__facts>div{grid-template-columns:1fr;gap:.25rem}}.course-content{max-width:1500px}.course-heading{align-items:end}.course-total{border:1px solid var(--gold-deep);background:#f1c8370f;background:color(display-p3 .919578 .789851 .334066/.06);background:lab(82.4675% 5.15312 72.381/.06);border-radius:8px;gap:.15rem;min-width:150px;padding:.85rem 1rem;display:grid}.course-total>span,.course-total>em{color:var(--text-faint);letter-spacing:.08em;font-family:Departure Mono,monospace;font-size:.5625rem;font-style:normal}.course-total strong{color:var(--gold);font-size:1.8rem;line-height:1}.course-total strong small{color:var(--text-dim);margin-left:.35rem;font-family:Departure Mono,monospace;font-size:.625rem}.course-total.is-over{border-color:var(--alert);background:var(--alert-soft)}.course-total.is-over strong{color:#ffa9a0;color:color(display-p3 .98367 .664892 .622204);color:lab(77.9888% 37.0947 21.4993)}.course-status-strip{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.course-status{gap:.3rem;min-width:0;padding:.75rem .9rem;display:grid}.course-status+.course-status{border-left:1px solid var(--hairline-soft)}.course-status strong,.course-status em{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.course-status strong{color:var(--text-faint);letter-spacing:.08em;font-size:.5625rem}.course-status em{color:var(--text-dim);font-size:.6875rem}.course-status--good em{color:var(--gold)}.course-recovery{border:1px solid var(--gold-deep);background:#f1c8370e;background:color(display-p3 .919578 .789851 .334066/.055);background:lab(82.4675% 5.15312 72.381/.055);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:clamp(1rem,3vw,1.35rem);display:grid}.course-recovery__signal{border:1px solid var(--gold-deep);width:42px;height:42px;color:var(--gold);border-radius:6px;place-items:center;display:grid}.course-recovery__body{min-width:0}.course-recovery h2{margin:.35rem 0 .45rem;font-size:1.15rem}.course-recovery__body>p:not(.kicker){max-width:70ch;color:var(--text-dim);margin:0;font-size:.875rem;line-height:1.55}.course-recovery__facts{border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0;display:grid}.course-recovery__facts>div{gap:.35rem;min-width:0;padding:.7rem;display:grid}.course-recovery__facts>div+div{border-left:1px solid var(--hairline-soft)}.course-recovery__facts dt{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.07em;font-size:.5625rem}.course-recovery__facts dd{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:.75rem}.course-recovery__actions{flex-wrap:wrap;gap:.65rem;display:flex}.course-search.is-disabled{opacity:.55}.course-status-strip,.course-recovery,.course-blocker,.snapshot-review{margin-bottom:1rem}.course-blocker,.snapshot-review{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem;display:grid}.course-blocker>svg,.snapshot-review>svg{color:var(--gold);margin-top:.2rem}.course-blocker h2,.course-blocker p,.snapshot-review strong,.snapshot-review p{margin:0}.course-blocker>div,.snapshot-review>div{gap:.45rem;display:grid}.course-blocker p,.snapshot-review p{max-width:70ch;color:var(--text-dim);font-size:.875rem;line-height:1.5}.course-blocker ul{color:var(--text-dim);gap:.3rem;margin:.35rem 0 .6rem;padding-left:1.15rem;font-size:.8125rem;display:grid}.course-blocker__links{padding-left:0;list-style:none}.course-blocker__links button{border:0;border-bottom:1px solid var(--hairline-soft);width:100%;min-height:44px;color:var(--text-dim);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 0;display:flex}.course-blocker__links button:hover{color:var(--gold)}.course-blocker__links button:focus-visible{color:var(--gold)}.course-blocker__links svg{flex:none}.course-blocker .button{justify-self:start}.course-layout{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start;gap:1rem;min-width:0;display:grid}.course-catalog-panel,.course-plan-panel{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;min-width:0}.course-plan-panel{position:sticky;top:1.25rem;overflow:hidden}.course-section-heading{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.course-section-heading h2,.course-section-heading p{margin:0}.course-search{border:1px solid var(--hairline);background:var(--bg);border-radius:6px;align-items:center;gap:.55rem;min-width:min(280px,45%);padding:0 .7rem;display:flex}.course-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px #f1c83729;box-shadow:0 0 0 2px color(display-p3 .919578 .789851 .334066/.16);box-shadow:0 0 0 2px lab(82.4675% 5.15312 72.381/.16)}.course-search svg{color:var(--text-faint)}.course-search input{width:100%;min-height:42px;color:var(--text);background:0 0;border:0;outline:0}.catalog-course-list,.selected-course-list{display:grid}.catalog-course,.selected-course{border-bottom:1px solid var(--hairline-soft);min-width:0;padding:1rem}.catalog-course:last-child,.selected-course:last-child{border-bottom:0}.catalog-course{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.catalog-course>div:first-child,.selected-course>header>div,.catalog-course__action{min-width:0}.catalog-course[hidden]{display:none}.catalog-course h3,.catalog-course p,.selected-course h3,.selected-course p{margin:0}.course-code{overflow-wrap:anywhere;word-break:break-word;max-width:100%;color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.625rem}.catalog-course h3,.selected-course h3{margin-top:.25rem;font-size:.95rem;line-height:1.35}.catalog-course dl{gap:1rem;margin:.7rem 0 0;display:flex}.catalog-course dl div{gap:.3rem;display:flex}.catalog-course dt,.catalog-course dd{margin:0;font-family:Departure Mono,monospace;font-size:.625rem}.catalog-course dt{color:var(--text-faint)}.catalog-course dd{color:var(--text-dim)}.catalog-course__action{justify-items:stretch;gap:.4rem;width:170px;display:grid}.catalog-course__action small{color:var(--text-faint);text-align:right;font-size:.6875rem;line-height:1.35}.selected-course>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.selected-course>header>div>span{color:var(--gold);margin-top:.4rem;font-family:Departure Mono,monospace;font-size:.625rem;display:inline-block}.priority-list{gap:.55rem;margin-top:1rem;display:grid}.priority-row{border:1px solid var(--hairline-soft);background:var(--bg);border-radius:6px;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem;display:grid}.priority-row.is-missing{border-color:var(--gold-deep)}.priority-row__label,.priority-row__control{gap:.25rem;min-width:0;display:grid}.priority-row__label span,.priority-row__label small{letter-spacing:.05em;font-family:Departure Mono,monospace;font-size:.5625rem}.priority-row__label span{color:var(--gold)}.priority-row__label small,.priority-row__control small{color:var(--text-faint)}.priority-row__control select{border:1px solid var(--hairline);background:var(--cell);width:100%;min-height:44px;color:var(--text);border-radius:6px;outline:0;padding:0 .65rem}.priority-row__control select:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px #f1c83729;box-shadow:0 0 0 2px color(display-p3 .919578 .789851 .334066/.16);box-shadow:0 0 0 2px lab(82.4675% 5.15312 72.381/.16)}.priority-row__control small{text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.priority-row__control .priority-row__lecturers{color:var(--text-dim);text-overflow:clip;white-space:normal;line-height:1.35;overflow:visible}.priority-row__actions{gap:.3rem;display:flex}.priority-row__actions .icon-button{width:36px;height:36px}@media (pointer:coarse){.priority-row__actions .icon-button{width:44px;height:44px}}.add-fallback{width:100%;margin-top:.7rem}.course-plan-actions{border-top:1px solid var(--hairline-soft);grid-template-columns:1fr auto;gap:.65rem;padding:1rem;display:grid}.course-plan-panel>.form-message{margin:0 1rem 1rem}.course-validation{border-top:1px solid var(--hairline-soft);color:#ffa9a0;color:color(display-p3 .98367 .664892 .622204);color:lab(77.9888% 37.0947 21.4993);margin:0;padding:.75rem 1rem 0;font-size:.75rem}.course-empty,.course-loading{gap:.45rem;padding:1.25rem 1rem;display:grid}.course-empty p{color:var(--text-faint);margin:0;font-size:.8125rem;line-height:1.5}.skeleton{background:var(--cell);border-radius:3px;height:.75rem;animation:1.2s ease-in-out infinite alternate skeleton-pulse;display:block}.skeleton--title{width:45%;height:1rem}.skeleton--copy{width:75%}.course-mobile-war{border-bottom:1px solid var(--hairline-soft);background:var(--surface);min-height:36px;color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:.45rem;padding:.35rem 1rem;font-size:.6875rem;display:none}.course-mobile-war svg{width:14px;height:14px;color:var(--gold)}.course-mobile-war strong{color:var(--text);font-weight:600}.course-mobile-summary{display:none}@media (max-width:1180px){.course-layout{grid-template-columns:1fr}.course-plan-panel{position:static}}@media (max-width:820px){.course-content{padding-bottom:6rem}.course-heading{align-items:stretch}.course-total{min-width:0}.course-mobile-summary{z-index:20;border-top:1px solid var(--hairline);background:var(--surface);padding:.65rem 1rem max(.65rem, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.course-mobile-summary>div{gap:.1rem;display:grid}.course-mobile-summary strong{color:var(--gold)}.course-mobile-summary span{color:var(--text-faint);font-size:.6875rem}.course-mobile-war{display:flex}}@media (max-width:680px){.course-status-strip{grid-template-columns:1fr}.course-status+.course-status{border-top:1px solid var(--hairline-soft);border-left:0}.course-recovery,.course-recovery__facts{grid-template-columns:1fr}.course-recovery__facts>div+div{border-top:1px solid var(--hairline-soft);border-left:0}.course-recovery__actions{display:grid}.course-recovery__actions .button{width:100%}.course-blocker,.snapshot-review{grid-template-columns:auto 1fr}.course-blocker .button,.snapshot-review>.button{grid-column:1/-1;width:100%}.course-section-heading{flex-direction:column;align-items:stretch}.course-search{width:100%;min-width:0}.catalog-course{grid-template-columns:1fr}.catalog-course__action{width:100%}.catalog-course__action small{text-align:left}.priority-row{grid-template-columns:72px minmax(0,1fr)}.priority-row__actions{grid-column:1/-1;justify-content:flex-end}.priority-row__actions .icon-button{width:44px;height:44px}.course-plan-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.security-panel,.catalog-reauth{scroll-margin-top:1rem}.security-panel__body{grid-template-columns:minmax(0,1.15fr) minmax(16rem,.75fr);align-items:start;gap:1.5rem;margin-top:1rem;display:grid}.security-panel__summary{align-content:start;gap:1rem;min-width:0;display:grid}.security-panel__summary .panel__copy,.security-panel__summary .security-password-form,.security-panel__summary .security-password-prompt{margin-top:0;margin-bottom:0}.security-panel__summary>.button{justify-self:start}.security-panel.is-editing .security-panel__body{grid-template-columns:1fr}.security-password-form{gap:1rem;margin-top:1.25rem;display:grid}.security-password-prompt{border-top:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.security-password-prompt p{color:var(--text-dim);margin:0;font-size:.875rem;line-height:1.55}.security-auth-ledger{border-block:1px solid var(--hairline-soft);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.security-auth-ledger div{gap:.35rem;min-width:0;padding:.85rem 1rem;display:grid}.security-auth-ledger div+div{border-left:1px solid var(--hairline-soft)}.security-auth-ledger dt,.security-auth-ledger dd{margin:0}.security-auth-ledger dt{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;font-size:.625rem}.security-auth-ledger dd{color:var(--text);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.75rem}.catalog-reauth{border-color:var(--gold-deep);margin-bottom:1rem}.catalog-reauth .security-password-form{grid-template-columns:minmax(14rem,1fr) auto;align-items:end}.catalog-reauth .form-message{grid-column:1/-1}@media (max-width:680px){.security-password-prompt{flex-direction:column;align-items:stretch}.security-panel .panel__heading{grid-template-columns:auto minmax(0,1fr)}.security-panel .panel__heading .status-chip{grid-column:2;justify-self:start}.security-panel__body{grid-template-columns:1fr;gap:1rem}.security-auth-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.security-auth-ledger div+div{border-top:0;border-left:1px solid var(--hairline-soft)}.security-panel__summary>.button{width:auto}.catalog-reauth .security-password-form{grid-template-columns:1fr}.catalog-reauth .security-password-form .button,.security-password-prompt .button{width:100%}}@media (max-width:460px){.auth-panel{min-height:40rem}.security-password-form .button-row{grid-template-columns:1fr;display:grid}.security-password-form .button-row .button{width:100%}}body:has(.irs-readiness-dialog[open]){overflow:hidden}.irs-readiness-dialog{border:0;border-top:3px solid var(--gold);background:var(--surface);width:min(38rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);border-radius:8px;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 80px #000101b8;box-shadow:0 24px 80px color(display-p3 .00173859 .00285763 .00531366/.72);box-shadow:0 24px 80px lab(.192352% -.0274852 -.294402/.72)}.irs-readiness-dialog[open]{animation:irs-readiness-dialog-enter .26s var(--ease) both}.irs-readiness-dialog::backdrop{-webkit-backdrop-filter:blur(5px);background:#010203cc;background:color(display-p3 .00471107 .00677737 .0109207/.8);background:lab(.458277% -.062108 -.501877/.8)}.irs-readiness-dialog__head{border-bottom:1px solid var(--hairline-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.35rem 1.4rem 1.15rem;display:grid}.irs-readiness-dialog__head h2{letter-spacing:-.03em;text-wrap:balance;max-width:20ch;margin:.42rem 0 0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.08}.irs-readiness-dialog__head>.icon-button{width:40px;height:40px}.irs-readiness-dialog__body{gap:1.15rem;padding:1.35rem 1.4rem;display:grid}.irs-readiness-dialog__body>p{max-width:68ch;color:var(--text-dim);margin:0;font-size:.9375rem;line-height:1.62}.irs-readiness-confirmation{border:1px solid var(--hairline);background:var(--cell);cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;padding:1rem;display:grid}.irs-readiness-confirmation:hover{border-color:var(--text-faint);background:var(--cell-hi)}.irs-readiness-confirmation input{width:1.1rem;height:1.1rem;accent-color:var(--gold);margin:.16rem 0 0}.irs-readiness-confirmation span{gap:.35rem;min-width:0;display:grid}.irs-readiness-confirmation strong{font-size:.9375rem;line-height:1.35}.irs-readiness-confirmation small{color:var(--text-dim);font-size:.8125rem;line-height:1.55}.irs-readiness-password-missing{border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);padding:1rem 0}.irs-readiness-password-missing strong{margin-bottom:.35rem;display:block}.irs-readiness-password-missing p{max-width:60ch;color:var(--text-dim);margin:0 0 .9rem;font-size:.875rem;line-height:1.55}.irs-readiness-dialog__actions{border-top:1px solid var(--hairline-soft);flex-wrap:wrap;gap:.7rem;padding:1rem 1.4rem 1.35rem;display:flex}@keyframes irs-readiness-dialog-enter{0%{opacity:.35;filter:blur(4px);transform:translateY(14px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (max-width:460px){.irs-readiness-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.irs-readiness-dialog__head,.irs-readiness-dialog__body,.irs-readiness-dialog__actions{padding-left:1rem;padding-right:1rem}.irs-readiness-dialog__actions{grid-template-columns:1fr;display:grid}.irs-readiness-dialog__actions .button{width:100%}}.war-room-content{gap:clamp(1.5rem,3vw,2.25rem);width:min(100%,78rem);display:grid}.war-room-runway{border:1px solid var(--hairline);background:var(--surface);border-radius:10px;overflow:hidden}.war-room-runway--good{border-color:var(--gold-deep)}.war-room-runway--danger{border-color:var(--alert)}.war-room-runway__lead{grid-template-columns:minmax(0,1fr) minmax(13rem,.3fr);align-items:end;gap:2rem;padding:clamp(1.5rem,4vw,2.75rem);display:grid}.war-room-runway__lead h1{letter-spacing:-.04em;max-width:13ch;margin:.55rem 0 .75rem;font-size:clamp(2rem,5vw,4rem);line-height:.98}.war-room-runway__lead p:last-child{max-width:52ch;color:var(--text-dim);margin:0;font-size:.9375rem;line-height:1.6}.war-room-seal{border-left:1px solid var(--hairline);grid-template-columns:auto minmax(0,1fr);gap:.35rem .6rem;min-width:0;padding-left:1.25rem;display:grid}.war-room-seal__dot{background:var(--text-faint);border-radius:50%;grid-row:1/4;align-self:start;width:10px;height:10px;margin-top:.2rem}.war-room-runway--good .war-room-seal__dot,.war-room-runway--pending .war-room-seal__dot{background:var(--gold)}.war-room-runway--danger .war-room-seal__dot{background:var(--alert-text)}.war-room-seal small,.war-room-seal em{color:var(--text-faint);font-size:.75rem;font-style:normal}.war-room-seal small{letter-spacing:.06em;font-family:Departure Mono,monospace}.war-room-seal strong{font-size:1.15rem;line-height:1.2}.war-room-runway--good .war-room-seal strong,.war-room-runway--pending .war-room-seal strong{color:var(--gold)}.war-room-runway--danger .war-room-seal strong{color:var(--alert-text)}.war-room-runway__facts{border-block:1px solid var(--hairline-soft);background:var(--bg);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.war-room-runway__facts div{gap:.4rem;min-width:0;padding:1rem clamp(1rem,3vw,1.5rem);display:grid}.war-room-runway__facts div+div{border-left:1px solid var(--hairline-soft)}.war-room-runway__facts dt,.war-room-runway__facts dd{margin:0}.war-room-runway__facts dt{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.625rem}.war-room-runway__facts dd{overflow-wrap:anywhere;color:var(--text-dim);font-size:.8125rem;line-height:1.4}.war-room-runway__actions{align-items:center;gap:.65rem;min-height:70px;padding:.8rem clamp(1rem,3vw,1.5rem);display:flex}.war-room-runway__actions>span{color:var(--text-faint);margin-left:auto;font-family:Departure Mono,monospace;font-size:.625rem}.war-room-brief{border:1px solid var(--hairline);background:var(--surface);border-radius:10px;overflow:hidden}.war-room-brief__header{grid-template-columns:minmax(0,2fr) minmax(16rem,.75fr);align-items:end;gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.35rem,3vw,2rem)}.war-room-brief__header h2{letter-spacing:-.03em;margin:.4rem 0 0;font-size:clamp(1.35rem,3vw,2rem)}.war-room-brief__header>p{color:var(--text-dim);margin:0;font-size:.875rem;line-height:1.55}.war-room-brief__body{border-top:1px solid var(--hairline-soft);grid-template-columns:minmax(0,2.15fr) minmax(16rem,.85fr);display:grid}.war-room-plan,.war-room-operation{min-width:0;padding:clamp(1.25rem,3vw,1.75rem)}.war-room-operation{border-left:1px solid var(--hairline-soft);background:var(--bg)}.war-room-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.war-room-section-heading>div{gap:.25rem;display:grid}.war-room-section-heading span,.war-room-result>span,.war-room-evidence__body span{color:var(--text-faint);letter-spacing:.06em;font-family:Departure Mono,monospace;font-size:.625rem}.war-room-section-heading h3{margin:0;font-size:1rem}.war-room-section-heading>strong{color:var(--gold);font-family:Departure Mono,monospace;font-size:.6875rem;font-weight:400}.war-room-plan-list,.war-room-timeline{margin:0;padding:0;list-style:none;display:grid}.war-room-plan-list li{grid-template-columns:2rem minmax(0,1fr);gap:.85rem;padding:1rem 0;display:grid}.war-room-plan-list li+li{border-top:1px solid var(--hairline-soft)}.war-room-plan-list__index{color:var(--gold);font-family:Departure Mono,monospace;font-size:.75rem}.war-room-plan-list li>div{gap:.35rem;min-width:0;display:grid}.war-room-plan-list strong{font-size:.9375rem}.war-room-plan-list small,.war-room-plan-list__choices span,.war-room-empty p,.war-room-result small,.war-room-brief__footer span{color:var(--text-faint);font-size:.75rem;line-height:1.5}.war-room-plan-list__choices{flex-wrap:wrap;gap:.35rem .75rem;margin-top:.25rem;display:flex}.war-room-plan-list__choices b{color:var(--gold);margin-right:.35rem;font-family:Departure Mono,monospace;font-size:.6875rem;font-weight:400}.war-room-timeline li{grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;min-height:4.6rem;display:grid;position:relative}.war-room-timeline li:not(:last-child):before{background:var(--hairline-soft);content:"";width:1px;position:absolute;top:2.15rem;bottom:0;left:1rem}.war-room-timeline__marker{z-index:1;border:1px solid var(--hairline);background:var(--bg);width:2.1rem;height:2.1rem;color:var(--text-faint);border-radius:50%;place-items:center;font-family:Departure Mono,monospace;font-size:.6875rem;display:grid}.war-room-timeline li>div{align-content:start;gap:.25rem;padding-top:.15rem;display:grid}.war-room-timeline strong{font-size:.8125rem}.war-room-timeline small{color:var(--text-faint);font-size:.75rem}.war-room-timeline li.is-reached .war-room-timeline__marker,.war-room-timeline li.is-current strong{border-color:var(--gold-deep);color:var(--gold)}.war-room-empty{gap:.55rem;padding:.5rem 0 1rem;display:grid}.war-room-empty p{margin:0}.war-room-result{border-top:1px solid var(--gold-deep);gap:.35rem;margin-top:1rem;padding-top:1rem;display:grid}.war-room-result strong{overflow-wrap:anywhere;color:var(--gold);font-family:Departure Mono,monospace;font-size:.875rem;font-weight:400}.war-room-evidence{border-top:1px solid var(--hairline-soft)}.war-room-evidence summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.7rem clamp(1.25rem,3vw,1.75rem);list-style:none;display:flex}.war-room-evidence summary::-webkit-details-marker{display:none}.war-room-evidence summary>span{align-items:center;gap:.55rem;font-size:.8125rem;font-weight:700;display:inline-flex}.war-room-evidence summary>span svg{color:var(--gold-deep)}.war-room-evidence summary>strong{overflow-wrap:anywhere;max-width:60%;color:var(--text-dim);text-align:right;text-transform:uppercase;font-family:Departure Mono,monospace;font-size:.625rem;font-weight:400;line-height:1.4}.war-room-evidence__body{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 clamp(1.25rem,3vw,1.75rem) 1.25rem;display:grid}.war-room-evidence__body div{gap:.35rem;padding:.75rem 0;display:grid}.war-room-evidence__body div+div{border-left:1px solid var(--hairline-soft);padding-left:1rem}.war-room-evidence__body strong{color:var(--text-dim);font-size:.8125rem;font-weight:500}.war-room-brief__footer{border-top:1px solid var(--hairline-soft);grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:1rem clamp(1.25rem,3vw,1.75rem);display:grid}.war-room-brief__footer>svg{color:var(--gold-deep);margin-top:.15rem}.war-room-brief__footer--danger>svg{color:var(--alert-text)}.war-room-brief__footer p{gap:.2rem;margin:0;display:grid}.war-room-brief__footer strong{font-size:.8125rem}@media (max-width:900px){.war-room-runway__lead,.war-room-brief__header,.war-room-brief__body{grid-template-columns:1fr}.war-room-operation{border-top:1px solid var(--hairline-soft);border-left:0}}@media (max-width:680px){.war-room-content{gap:1.25rem}.war-room-runway,.war-room-brief{border-radius:8px}.war-room-runway__lead{gap:1.25rem;padding:1.25rem}.war-room-runway__lead h1{font-size:2.35rem}.war-room-seal{border-top:1px solid var(--hairline-soft);border-left:0;padding:1rem 0 0}.war-room-runway__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.war-room-runway__facts div:nth-child(odd){border-left:0}.war-room-runway__facts div:nth-child(n+3){border-top:1px solid var(--hairline-soft)}.war-room-runway__actions{flex-direction:column;align-items:stretch;padding:1rem}.war-room-runway__actions .button{width:100%}.war-room-runway__actions>span{text-align:center;margin:.2rem 0 0}.war-room-brief__header,.war-room-plan,.war-room-operation{padding:1.25rem}.war-room-brief__header{gap:.75rem}.war-room-section-heading{align-items:baseline}.war-room-evidence summary{align-items:flex-start}.war-room-plan-list__choices{display:grid}.war-room-evidence__body{grid-template-columns:1fr}.war-room-evidence__body div+div{border-top:1px solid var(--hairline-soft);border-left:0;padding-left:0}}
