:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f3f4f7;--surface-3:#e8eaef;--ink:#111827;--ink-2:#414b5c;--ink-3:#6b7383;--line:#eaecf0;--edge:#e3e6eb;--edge-strong:#cdd2da;--on-ink:#fff;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280d;--shadow-lg:0 16px 40px -12px #10182838, 0 2px 6px #1018280f;--ok:#12925a;--warn:#c56a06;--bad:#d83a3a;--info:#2f5fe0;--hi:#e6edff;--core:#3a66e0;--math:#e36b33;--phys:#14a08f;--eng:#dca21b;--pol:#d6497c;--gen:#52a743;--elec:#7656dc;--thesis:#4a5366;--r:14px;--r-sm:10px;--font:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--font);--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--side:252px;--acc:#2f5bd8;--acc-ink:#fff;--acc-bg:var(--acc);--accent:var(--acc);--sb:color-mix(in oklab, var(--ink-3) 42%, transparent);--sb-hover:color-mix(in oklab, var(--ink-3) 70%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0c0e13;--surface:#14171f;--surface-2:#1a1e28;--surface-3:#242936;--ink:#eceef3;--ink-2:#bcc2ce;--ink-3:#8a91a1;--line:#222734;--edge:#262c3a;--edge-strong:#363d4e;--on-ink:#111827;--hi:#22305a;--thesis:#a9b1c2;--acc:#4b74ec;--info:#6b8ff0;--shadow:inset 0 1px 0 #ffffff09;--shadow-sm:inset 0 1px 0 #ffffff08;--shadow-lg:0 20px 48px -12px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.g-core{--c:color-mix(in oklab, var(--core), #000 5%);--on:#fff}.g-math{--c:color-mix(in oklab, var(--math), #000 5%);--on:#fff}.g-phys{--c:color-mix(in oklab, var(--phys), #000 5%);--on:#fff}.g-eng{--c:color-mix(in oklab, var(--eng), #000 5%);--on:#2a1d00}.g-pol{--c:color-mix(in oklab, var(--pol), #000 5%);--on:#fff}.g-gen{--c:color-mix(in oklab, var(--gen), #000 5%);--on:#fff}.g-elec{--c:color-mix(in oklab, var(--elec), #000 5%);--on:#fff}.g-thesis{--c:color-mix(in oklab, var(--thesis), #000 5%);--on:var(--surface)}[class*=g-]{--c-soft:color-mix(in oklab, var(--c) 12%, var(--surface));--c-ink:color-mix(in oklab, var(--c) 70%, var(--ink))}:root[data-theme=dark] [class*=g-]{--c-soft:color-mix(in oklab, var(--c) 20%, var(--surface));--c-ink:color-mix(in oklab, var(--c) 62%, var(--ink))}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--sb) transparent}html{-webkit-text-size-adjust:100%}body{font:15px/1.55 var(--font);color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.015em;margin:0;line-height:1.2}h1{font-size:clamp(24px,2.4vw,30px);font-weight:700}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;display:block}.icon.sm{width:16px;height:16px}.icon.lg{width:26px;height:26px}:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--on-ink);border-radius:10px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}::selection{background:color-mix(in oklab, var(--info) 22%, transparent)}.t2{color:var(--ink-2)}.t3{color:var(--ink-3)}.small{font-size:13px}.xs{font-size:12px}.b{font-weight:650}.mono{font-family:var(--mono);font-size:.9em}.code{font-family:var(--mono);letter-spacing:.01em;background:var(--surface-3);color:var(--ink);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:700}.link{color:var(--info);font-weight:600;text-decoration:none}.link:hover{text-underline-offset:3px;text-decoration:underline}button.link{cursor:pointer;background:0 0;border:0;padding:0}.card{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:18px 22px}.card.flush{padding:0}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 6px;display:flex}.card-head .meta{color:var(--ink-3);font-size:13px}.box{background:var(--surface-2);border-radius:14px;min-width:0;padding:14px 16px}.btn{cursor:pointer;white-space:nowrap;background:var(--surface);min-height:38px;color:var(--ink);border:1px solid var(--edge-strong);box-shadow:var(--shadow-sm);border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--acc-bg);color:var(--acc-ink);border-color:#0000}.btn.primary:hover{background:color-mix(in oklab, var(--acc) 88%, #fff)}.btn.danger{background:var(--bad);color:#fff;border-color:#0000}.btn.danger:hover{background:color-mix(in oklab, var(--bad) 88%, #000)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{border-radius:8px;min-height:32px;padding:0 11px;font-size:13px}.btn.icon-only{width:38px;padding:0}.btn.sm.icon-only{width:32px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.block{width:100%}.btn.big{min-height:50px}.chip{white-space:nowrap;background:var(--surface-3);min-height:26px;color:var(--ink-2);border:1.5px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:650;display:inline-flex}.chip.c{background:var(--c);color:var(--on)}.chip.soft{background:var(--c-soft);color:var(--c-ink)}.chip.ok{background:color-mix(in oklab, var(--ok) 15%, var(--surface));color:color-mix(in oklab, var(--ok) 75%, var(--ink))}.chip.warn{background:color-mix(in oklab, var(--warn) 17%, var(--surface));color:color-mix(in oklab, var(--warn) 72%, var(--ink))}.chip.bad{background:color-mix(in oklab, var(--bad) 14%, var(--surface));color:color-mix(in oklab, var(--bad) 80%, var(--ink))}.chip.info{background:color-mix(in oklab, var(--info) 14%, var(--surface));color:color-mix(in oklab, var(--info) 78%, var(--ink))}.chip.ink{background:var(--acc-bg);color:var(--acc-ink)}.glyph{background:var(--c-soft);width:36px;height:36px;color:var(--c-ink);font-family:var(--display);letter-spacing:-.02em;border-radius:9px;flex:none;place-items:center;font-size:15px;font-weight:700;display:inline-grid}.glyph.sm{border-radius:7px;width:26px;height:26px;font-size:12px}:root[data-theme=dark] .glyph{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 30%, transparent)}.field{gap:6px;display:grid}.field>span,.label{font-size:13.5px;font-weight:650}.input,.select{background:var(--surface);border:1px solid var(--edge-strong);border-radius:9px;outline:none;width:100%;min-height:40px;padding:8px 12px}.input:focus,.select:focus{border-color:var(--info);box-shadow:0 0 0 3px color-mix(in oklab, var(--info) 22%, transparent)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--bad);border-width:2px}.hint{color:var(--ink-3);font-size:12.5px}.field-error{color:color-mix(in oklab, var(--bad) 85%, var(--ink));font-size:12.5px;font-weight:600}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--acc);flex:none;margin:1px 0 0}.seg{background:var(--surface-3);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:650;display:inline-flex}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:1px solid var(--edge)}.meter{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.meter>i{height:100%;transition:width .2s;display:block}.page{grid-template-columns:minmax(0,1fr);gap:22px;max-width:1280px;margin:0 auto;display:grid}.page>*{min-width:0}.stack{gap:22px;display:grid}.stack>*{min-width:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head p{color:var(--ink-2);max-width:70ch;margin-top:6px}.head-actions{flex-wrap:wrap;gap:10px;display:flex}.crumbs{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.crumbs a{font-weight:600;text-decoration:none}.crumbs a:hover{color:var(--ink)}.table-wrap{position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--edge);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:650}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}.callout{border:1px solid var(--edge);background:var(--surface-2);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.callout>.icon{margin-top:2px}.callout.warn{background:color-mix(in oklab, var(--warn) 14%, var(--surface))}.callout.bad{background:color-mix(in oklab, var(--bad) 11%, var(--surface));border-color:color-mix(in oklab, var(--bad) 40%, var(--edge))}.callout.ok{background:color-mix(in oklab, var(--ok) 12%, var(--surface))}.callout.info{background:color-mix(in oklab, var(--info) 11%, var(--surface))}.callout b{display:block}.callout p{color:var(--ink-2);font-size:14px}dialog.modal{background:var(--surface);width:min(480px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--ink);border:1px solid var(--edge);box-shadow:var(--shadow-lg);border-radius:16px;padding:24px;overflow-y:auto}dialog.modal[open]{gap:14px;display:grid}dialog.modal::backdrop{background:#0c0e1473}dialog.modal h2{font-size:22px;line-height:1.3}dialog.modal .ic{background:color-mix(in oklab, var(--bad) 13%, var(--surface));width:44px;height:44px;color:var(--bad);border-radius:50%;place-items:center;display:grid}dialog.modal .acts{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.toast{z-index:90;opacity:0;pointer-events:none;background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=620px){body{font-size:14.5px}.card{padding:16px}.card.flush{padding:0}.card-head{padding:16px 16px 6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand .name{letter-spacing:-.02em;white-space:nowrap;font-size:17px;font-weight:700}.logo{flex:none;width:28px;height:28px}.side{background:var(--surface);border-right:1px solid var(--edge);scrollbar-width:none;flex-direction:column;gap:6px;height:100vh;padding:20px 16px;transition:padding .3s cubic-bezier(.2,.8,.2,1);display:flex;position:sticky;top:0;overflow:hidden auto}.side .brand{padding:2px 6px 16px}.nav{grid-template-columns:minmax(0,1fr);gap:3px;display:grid}.nav-label{color:var(--ink-3);padding:14px 10px 6px;font-size:12px;font-weight:650;transition:margin .3s,padding .3s}.nav a,.side-toggle{color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:550;text-decoration:none;display:flex;position:relative;overflow:hidden}.side-toggle{cursor:pointer;text-align:left;width:100%;color:var(--ink-3);background:0 0;border:0}.nav a:hover,.side-toggle:hover{background:var(--surface-2);color:var(--ink)}.nav a.router-link-active{background:var(--surface-3);color:var(--ink);font-weight:650}.side .ico{width:20px;height:20px;color:var(--ink-3);flex:none;place-items:center;display:grid}.nav a.router-link-active .ico{color:var(--c)}.side .ico .icon{width:18px;height:18px}.side .tx{white-space:nowrap;transition:opacity .2s 80ms;overflow:hidden}.side-toggle kbd{font:600 11px var(--mono);background:var(--surface-3);color:var(--ink-3);border-radius:5px;margin-left:auto;padding:1px 6px}.side-toggle[aria-pressed=true] .ico .icon{transform:scaleX(-1)}.side-foot{grid-template-columns:minmax(0,1fr);gap:4px;margin-top:auto;padding-top:16px;display:grid}.me{background:var(--surface-2);border-radius:14px;align-items:center;gap:10px;margin-top:6px;padding:10px;text-decoration:none;display:flex;overflow:hidden}.me .tx{min-width:0}.me b{text-overflow:ellipsis;font-size:14px;line-height:1.25;display:block;overflow:hidden}.me small{color:var(--ink-3);text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.avatar{background:var(--surface-3);width:34px;height:34px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:650;text-decoration:none;display:grid}.side-mini{--side:72px}.side-mini .side .brand .name,.side-mini .side .tx{opacity:0;transition-delay:0s}.side-mini .nav-label{border-top:1px solid var(--edge);height:0;margin:6px 10px;padding:6px 0 0}.side-mini .me{background:0 0;padding:3px}.side-mini .nav a,.side-mini .side-toggle{justify-content:center;justify-self:center;gap:0;width:40px;height:36px;padding:0}.side-mini .nav a .tx,.side-mini .side-toggle .tx{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.mobile-top,.tabbar{display:none}@media (width<=960px){.mobile-top{background:var(--surface);border-bottom:1px solid var(--edge);z-index:30;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-top .end{align-items:center;gap:6px;display:flex}.tabbar{grid-template-columns:repeat(var(--tabs), minmax(0, 1fr));z-index:50;background:var(--surface);border:1px solid var(--edge);box-shadow:var(--shadow-lg);border-radius:14px;padding:6px;display:grid;position:fixed;bottom:10px;left:10px;right:10px}.tabbar a,.tabbar button{cursor:pointer;font:inherit;color:var(--ink-3);background:0 0;border:0;border-radius:10px;justify-items:center;gap:2px;padding:6px 0;font-size:11.5px;font-weight:650;text-decoration:none;display:grid}.tabbar a.router-link-active,.tabbar button.router-link-active{background:var(--c);color:var(--on)}}dialog.modal.more-sheet{border-radius:16px;width:auto;max-width:none;margin:auto 10px 10px;padding:0}.more-body{gap:8px;padding:16px;display:grid}.more-head{justify-content:space-between;align-items:center;gap:12px;display:flex}dialog.modal.more-sheet h2{font-size:18px}.more-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.more-list a{color:var(--ink);border-radius:10px;align-items:center;gap:12px;padding:12px;font-weight:600;text-decoration:none;display:flex}.more-list a .icon{color:var(--c)}.more-list a.router-link-active{background:var(--c);color:var(--on)}.more-list a.router-link-active .icon{color:inherit}.pub-foot{border-top:1px solid var(--edge);color:var(--ink-3);background:var(--surface);flex-wrap:wrap;justify-content:space-between;gap:12px 20px;padding:28px clamp(16px,4vw,48px) 48px;font-size:13.5px;display:flex}.pub-foot a{color:var(--ink-2)}.pub-head{z-index:30;background:color-mix(in oklab, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--edge);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.pub-nav{gap:4px;display:flex}.pub-nav a{color:var(--ink-2);border-radius:10px;padding:8px 12px;font-size:14.5px;font-weight:600;text-decoration:none}.pub-nav a:hover,.pub-nav a.router-link-active{background:var(--surface);color:var(--ink)}.pub-head .end{align-items:center;gap:6px;margin-left:auto;display:flex}.lang-btn,.theme-btn{cursor:pointer}.pub-head .ico,.mobile-top .ico{place-items:center;display:grid}.pub-head .ico .icon,.mobile-top .ico .icon{width:16px;height:16px}@media (width<=620px){.pub-head .end .sign-in{display:none}.pub-head .brand .name{font-size:15px}.pub-nav a{padding:8px}}@media (width<=420px){.pub-head .brand .name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}#main:focus{outline:none}.frame-public #main{padding:32px clamp(16px,4vw,48px) 80px}.frame-app{grid-template-columns:var(--side) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .3s cubic-bezier(.2,.8,.2,1);display:grid}.frame-app .column{min-width:0}.frame-app #main{padding:28px clamp(16px,3.2vw,44px) 80px}@media (width<=960px){.frame-app{display:block}.frame-app .side{display:none}.frame-app #main{padding-top:20px;padding-bottom:110px}}.goal-fields{gap:18px;display:grid}.goal-fields .select{max-width:320px}.goal-fields .field>span,.goal-fields .field>label{font-size:13.5px;font-weight:650}.goal-fields .hint{font-weight:400}.credits-row{align-items:center;gap:10px;display:flex}.credits-row .input{width:120px}.study-form{gap:18px;padding:4px 22px 22px;display:grid}.study-program{flex-wrap:wrap;gap:14px;display:flex}.study-program .field{flex:200px;max-width:320px}@media (width<=620px){.study-form{padding:4px 16px 18px}}.delete-form{gap:14px}.settings-page{max-width:1080px}.settings{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:22px;display:grid}.settings>.stack{grid-area:1/1}.snav{grid-column:2;gap:4px;padding:10px;display:grid;position:sticky;top:20px}.snav a{color:var(--ink-2);border-radius:10px;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none}.snav a:hover{background:var(--surface-2);color:var(--ink)}.settings section{scroll-margin-top:20px}.srow{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:16px 22px;display:flex}.card-head+.srow{border-top:0}.srow .txt{flex:260px;min-width:0}.srow .txt b{font-size:14.5px;display:block}.srow .txt p{color:var(--ink-2);font-size:13.5px}.srow .value{overflow-wrap:anywhere;min-width:0;font-weight:600}.srow-note{padding:0 22px 8px}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.danger-zone{border-color:var(--bad);box-shadow:4px 4px 0 var(--bad)}.sign-out{justify-self:start}.sessions td .chip{vertical-align:middle;margin-left:6px}@media (width<=960px){.settings{grid-template-columns:1fr}.settings>.stack,.snav{grid-area:auto/1}.snav{display:flex;position:static;overflow-x:auto}.snav a{white-space:nowrap}}@media (width<=620px){.srow{padding:14px 16px}.srow-note{padding:0 16px 8px}.sessions thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sessions tr{border-top:1px solid var(--line);gap:4px;padding:12px 16px;display:grid}.sessions td{text-align:left;border:0;padding:0;display:block}.sessions td[data-label]:before{content:attr(data-label) ": ";color:var(--ink-3)}.sessions td.r{text-align:left;margin-top:4px}}.callout .btn[data-v-8e155faf]{margin-top:10px}.audit-page .au-sum-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.au-fig{align-content:start;gap:6px;min-width:0;display:grid}.au-fig .label{color:var(--ink-3);font-size:13px;font-weight:650}.au-fig>b{letter-spacing:-.02em;font-size:22px}.au-fig .chip{white-space:normal;justify-self:start;min-height:30px;padding:4px 12px}.au-dl{grid-template-columns:auto auto;justify-content:start;gap:2px 12px;margin:0;display:grid}.au-dl dt{color:var(--ink-3)}.au-dl dd{margin:0;font-weight:650}.au-conditions{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px;padding-top:18px;display:grid}.au-conditions h3{margin-bottom:6px}.au-conditions ul{gap:6px;margin:6px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.au-conditions li{overflow-wrap:anywhere}.audit-page .state{color:var(--ink-3);font-weight:650}.audit-page .state.ok{color:color-mix(in oklab, var(--ok) 80%, var(--ink))}.audit-page .state.todo{color:color-mix(in oklab, var(--warn) 80%, var(--ink))}.audit-page .cite{color:var(--ink-3);border:1px solid var(--edge);white-space:normal;overflow-wrap:anywhere;border-radius:6px;padding:0 6px;font-size:12px;font-weight:600;display:inline-block}.au-group{gap:12px;display:grid}.audit-page :is(#graduation,.au-group,.au-list>li[id]){scroll-margin-top:16px}.au-group-head{align-items:flex-start;gap:12px;display:flex}.au-group-title{flex:1;gap:2px;min-width:0;display:grid}.au-group-title h2{overflow-wrap:anywhere}.au-group-head>.chip{white-space:nowrap}.au-missing{background:var(--c-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:10px 12px;font-size:14px;display:flex}.au-courses td{padding:8px 12px}.au-courses .chip{min-height:20px;margin-left:6px;font-size:11.5px}.au-courses .status{font-size:13px;font-weight:650}.au-courses .status.passed{color:color-mix(in oklab, var(--ok) 80%, var(--ink))}.au-courses .status.failed{color:color-mix(in oklab, var(--bad) 80%, var(--ink))}.au-courses .status.in_progress{color:var(--c-ink)}.au-courses .status.not_taken,.au-courses .status.counted_in_other_group{color:var(--ink-3)}.au-list{gap:12px;margin:10px 0 0;padding:0;list-style:none;display:grid}.au-list>li{overflow-wrap:anywhere;justify-items:start;gap:4px;display:grid}.au-list-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.au-violation{justify-items:start;gap:4px;display:grid}.au-violation+.au-violation{margin-top:8px}.au-violation .chip{white-space:normal}@media (width<=960px){.audit-page :is(#graduation,.au-group,.au-list>li[id]){scroll-margin-top:72px}}@media (width<=760px){.audit-page .au-sum-row{grid-template-columns:minmax(0,1fr)}}.dashboard-page .db-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.db-stat{align-content:start;gap:8px;min-width:0;display:grid}.db-stat .label{color:var(--ink-3);font-size:13px;font-weight:650}.db-stat .big{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.1}.db-stat .chip{white-space:normal;justify-self:start;min-height:30px;padding:4px 12px}.meter.split{display:flex}.meter.split>i{flex:none}.legend{--c:var(--ink-3)}.meter .passed,.legend .passed{background:var(--c,var(--acc))}.meter .overflow,.legend .overflow{background:color-mix(in oklab, var(--c,var(--acc)) 55%, var(--surface))}.meter .current,.legend .current{background:repeating-linear-gradient(45deg, color-mix(in oklab, var(--c,var(--acc)) 45%, var(--surface)) 0 4px, var(--surface-3) 4px 8px)}.db-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.db-aside{gap:22px;min-width:0;display:grid}.db-sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.legend{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:4px;width:14px;height:8px;display:inline-block}.db-groups,.db-unmet{gap:4px;margin:0;padding:0;list-style:none;display:grid}.db-g{color:inherit;border-radius:10px;align-items:flex-start;gap:12px;margin:0 -10px;padding:10px;text-decoration:none;display:flex}.db-g:hover{background:var(--surface-2)}.db-g .glyph.combined{background:var(--surface-3);color:var(--ink-2)}.db-g-body{flex:1;gap:6px;min-width:0;display:grid}.db-g-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.db-g-top .nm{overflow-wrap:anywhere;font-size:14px}.db-g-top .fig{white-space:nowrap;color:var(--ink-2);font-size:13px;font-weight:650}.db-g-note .state{font-weight:650}.db-g-note .state.ok{color:color-mix(in oklab, var(--ok) 80%, var(--ink))}.db-unmet a{color:inherit;border-radius:10px;gap:2px;margin:0 -10px;padding:8px 10px;text-decoration:none;display:grid}.db-unmet a:hover{background:var(--surface-2)}.db-unmet .nm{overflow-wrap:anywhere;font-size:14px;font-weight:600}.db-next{gap:4px;display:grid}.db-next h2{margin-bottom:8px}.db-link{color:inherit;border-radius:10px;align-items:flex-start;gap:12px;margin:0 -10px;padding:10px;text-decoration:none;display:flex}a.db-link:hover{background:var(--surface-2)}.db-link>.icon{color:var(--ink-3);margin-top:2px}.db-link>span{gap:2px;min-width:0;display:grid}.db-link b{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.db-link small{color:var(--ink-3);font-size:12.5px}@media (width<=1100px){.db-main{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.dashboard-page .db-top{grid-template-columns:minmax(0,1fr)}}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:100vh;display:grid}.auth-form{align-content:center;justify-items:center;padding:64px 16px;display:grid;position:relative}.auth-tools{gap:6px;display:flex;position:absolute;top:14px;right:16px}.auth-tools .ico{place-items:center;display:grid}.auth-tools .ico .icon{width:16px;height:16px}.auth-form .inner{gap:18px;width:min(420px,100%);display:grid}.auth-form h1{font-size:clamp(26px,3vw,34px)}.auth-art{border-left:1px solid var(--edge);place-items:center;padding:40px;display:grid;position:relative;overflow:hidden}.auth-art.tone-ink{color:#fff;background:#111827}.auth-art.tone-phys{background:var(--phys);color:#06221f}.auth-art .quote{gap:14px;max-width:420px;display:grid}.auth-art .quote b{font:700 clamp(28px, 3vw, 40px) / 1.08 var(--display);letter-spacing:-.03em}.auth-art .chip{color:#14161e;background:#fff;justify-self:start}.auth-form .error-list{margin:4px 0 0;padding-left:1.2em}@media (width<=960px){.auth{grid-template-columns:1fr}.auth-art{display:none}}.auth-fields{gap:14px;display:grid}.auth-fields .field>label{font-size:13.5px;font-weight:650}.auth-form .lead{margin-top:8px}dialog.modal.drawer{border-width:0 0 0 1px;border-radius:0;align-content:start;width:min(460px,100vw);height:100vh;max-height:100vh;margin:0 0 0 auto;padding:0 0 24px}dialog.modal.drawer>:not(.drawer-head){margin:0 22px}.drawer-head{border-bottom:1px solid var(--edge);align-items:flex-start;gap:14px;padding:20px 22px;display:flex}.drawer-title{flex:1;min-width:0}.drawer-title h2{overflow-wrap:anywhere}.drawer .eyebrow{margin-bottom:4px}.kv{grid-template-columns:120px minmax(0,1fr);gap:10px 16px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--ink-3);font-weight:600}.kv dd{min-width:0;margin:0}.memberships{gap:6px;margin:0;padding:0;list-style:none;display:grid}.icon.inline{vertical-align:-3px;margin-right:6px;display:inline-block}.explorer-page{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}.explorer-page .head-actions .field{min-width:160px}.ex-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ex-tools .search{flex:260px;max-width:380px;display:block;position:relative}.ex-tools .search .icon{color:var(--ink-3);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ex-tools .search .input{width:100%;padding-left:36px}.ex-tools .chips{flex-wrap:wrap;gap:6px;display:flex}.ex-tools .chip{cursor:pointer}.ex-tools .chip[aria-pressed=true]{border-color:currentColor}.ex-tools .chip:not(.soft)[aria-pressed=true]{background:var(--ink);color:var(--surface)}.ex-group{gap:12px;display:grid}.ex-group-head{align-items:flex-start;gap:12px;display:flex}.ex-group-head>div{min-width:0}.ex-group-head h2{font-size:19px}.ex-group-head .notes{max-width:70ch;margin-top:4px}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tile{text-align:left;border:1px solid var(--edge);background:var(--surface);width:100%;height:100%;min-height:84px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;align-content:start;gap:6px;padding:12px 14px 12px 18px;display:grid;position:relative}.tile:before{content:"";background:var(--c);border-radius:4px;width:4px;position:absolute;top:10px;bottom:10px;left:6px}.tile:hover{border-color:var(--c)}.tile .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tile .k{font:700 12px var(--mono);color:var(--c-ink)}.tile .cr{background:var(--c);color:var(--on);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:650}.tile .nm{overflow-wrap:anywhere;font-size:13.5px;font-weight:650;line-height:1.3}.tile .mark{color:var(--ink-2);align-items:center;gap:5px;font-size:12px;display:inline-flex}.tile .mark .icon{width:14px;height:14px}.explorer-page .empty{text-align:center;gap:4px;display:grid}@media (width<=620px){.explorer-page .head-actions{width:100%}.explorer-page .head-actions .field{flex:140px;min-width:0}.ex-tools .search{max-width:none}.ex-grid{grid-template-columns:1fr}}.guide-page[data-v-08d6b2d4]{gap:12px;max-width:1080px;margin:0 auto;display:grid}.crumbs[data-v-08d6b2d4]{color:var(--ink-3);margin:0;font-size:13px}.crumbs a[data-v-08d6b2d4]{font-weight:600;text-decoration:none}.crumbs a[data-v-08d6b2d4]:hover{color:var(--ink)}.head[data-v-08d6b2d4]{gap:10px;margin-bottom:18px;display:grid}.head p[data-v-08d6b2d4]{color:var(--ink-2);max-width:70ch;margin:0}h2[data-v-08d6b2d4]{margin:0 0 10px;font-size:16px}.column h2+h2[data-v-08d6b2d4],.column p+h2[data-v-08d6b2d4],.column ul+h2[data-v-08d6b2d4]{margin-top:16px}h3[data-v-08d6b2d4]{margin:0 0 4px;font-size:14.5px}.layout[data-v-08d6b2d4]{gap:18px;display:grid}@media (width>=900px){.layout[data-v-08d6b2d4]{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.column[data-v-08d6b2d4]{gap:18px;min-width:0;display:grid}.card>p[data-v-08d6b2d4],.note p[data-v-08d6b2d4]{margin:0 0 8px}.card ul[data-v-08d6b2d4]{margin:0;padding-left:1.2em}.steps[data-v-08d6b2d4]{counter-reset:step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.steps li[data-v-08d6b2d4]{counter-increment:step;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;display:grid}.steps li[data-v-08d6b2d4]:before{content:counter(step);background:var(--acc-bg);width:34px;height:34px;color:var(--acc-ink);font:700 15px var(--display);border-radius:10px;place-items:center;display:grid}.board[data-v-08d6b2d4]{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px;margin:0;list-style:none;display:grid;padding:0!important}.board li[data-v-08d6b2d4]{background:var(--surface-2);border-radius:12px;gap:2px;padding:12px 14px;font-size:13.5px;display:grid}.note+.note[data-v-08d6b2d4]{border-top:1px solid var(--line);padding-top:10px}.source[data-v-08d6b2d4]{color:var(--ink-3);font-size:13px}.host[data-v-08d6b2d4]{font-family:var(--mono);color:var(--info);font-size:12px}.callout[data-v-08d6b2d4]{margin:0;display:block}.callout.warn[data-v-08d6b2d4]{border-color:color-mix(in oklab, var(--warn) 45%, var(--edge))}.callout.warn p[data-v-08d6b2d4]{margin:4px 0 0}.open-portal[data-v-08d6b2d4]{white-space:normal;text-align:center;min-height:42px;margin-top:4px}.meta[data-v-08d6b2d4]{color:var(--ink-3);font-size:13px}.meta p[data-v-08d6b2d4]{margin:0 0 4px}a[data-v-08d6b2d4],p[data-v-08d6b2d4],li[data-v-08d6b2d4],h1[data-v-08d6b2d4]{overflow-wrap:anywhere}.guides[data-v-4badd6d2]{gap:18px;max-width:1080px;margin:0 auto;display:grid}.intro[data-v-4badd6d2]{color:var(--ink-2);max-width:70ch}.note[data-v-4badd6d2]{color:var(--ink-3);align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.search[data-v-4badd6d2]{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow);gap:8px;padding:20px 22px;display:grid}.search label[data-v-4badd6d2]{font-size:17px;font-weight:650}.search input[data-v-4badd6d2]{font:inherit;border:1px solid var(--edge-strong);background:var(--surface);border-radius:10px;width:100%;min-height:52px;padding:10px 14px;font-size:16px}.search input[data-v-4badd6d2]:focus{border-color:var(--info);box-shadow:0 0 0 3px color-mix(in oklab, var(--info) 22%, transparent);outline:none}.search small[data-v-4badd6d2]{color:var(--ink-3)}#guide-results[data-v-4badd6d2]{gap:22px;display:grid}.group h2[data-v-4badd6d2]{margin:0 0 10px;font-size:17px}.entries[data-v-4badd6d2],.groups[data-v-4badd6d2]{margin:0;padding:0;list-style:none}.entries[data-v-4badd6d2]{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.groups[data-v-4badd6d2]{flex-wrap:wrap;gap:8px;display:flex}.groups button[data-v-4badd6d2]{font:inherit;border:1px solid var(--edge-strong);background:var(--surface);cursor:pointer;border-radius:9px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600}.groups button[data-v-4badd6d2]:hover{background:var(--surface-2)}.entry[data-v-4badd6d2]{align-content:start;gap:8px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.entry[data-v-4badd6d2]:hover{border-color:var(--edge-strong);box-shadow:var(--shadow-lg)}.title[data-v-4badd6d2]{color:var(--ink);font-size:15.5px;font-weight:650;line-height:1.3;text-decoration:none}.title[data-v-4badd6d2]:hover{text-underline-offset:3px;text-decoration:underline}.meta[data-v-4badd6d2]{color:var(--ink-3);margin:0;font-size:13px}.meta[data-v-4badd6d2],.title[data-v-4badd6d2],.portal[data-v-4badd6d2]{overflow-wrap:anywhere}.chips[data-v-4badd6d2]{flex-wrap:wrap;gap:6px;margin:0;display:flex}.chip[data-v-4badd6d2]{white-space:normal}.portal[data-v-4badd6d2]{color:var(--info);justify-self:start;font-size:14px;font-weight:600;text-decoration:none}.portal[data-v-4badd6d2]:hover{text-decoration:underline}.wizard{align-content:start;gap:26px;max-width:860px;min-height:100vh;margin:0 auto;padding:24px 16px 96px;display:grid}.wizard:focus{outline:none}.wizard-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wizard-tools{align-items:center;gap:6px;display:flex}.dots{align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dots li{background:var(--surface-3);border-radius:999px;width:6px;height:6px;transition:width .25s,background .25s}.dots li.on{background:var(--info);width:24px}.dots li.done{background:var(--acc)}.eyebrow{color:var(--ink-3);margin-bottom:8px;font-size:13px;font-weight:650}.q{font:700 clamp(28px, 4vw, 42px) / 1.08 var(--display);letter-spacing:-.03em}.q:focus{outline:none}.options{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.opt{text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--edge);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;border-radius:14px;gap:8px;padding:18px;display:grid;position:relative}.opt:hover:not([disabled]){border-color:var(--edge-strong)}.opt[aria-pressed=true]{background:var(--hi);border-color:var(--info);box-shadow:0 0 0 1px var(--info)}.opt[aria-pressed=true]:after{content:"✓";background:var(--info);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid;position:absolute;top:12px;right:14px}.opt small{color:var(--ink-2);font-size:13px}.not-offered{color:var(--ink-2);font-size:14px}.not-offered summary{cursor:pointer;font-weight:600}.not-offered ul{gap:4px;margin:8px 0 0;padding-left:1.2em;display:grid}.wizard-nav{justify-content:space-between;gap:12px;display:flex}.wizard-nav .btn.primary{justify-content:center;min-width:140px}@media (width<=420px){.wizard-top .brand-name{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.issues-panel{align-content:start;gap:12px;display:grid}.issues-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.issues-head h2{font-size:18px}.issue-counts{flex-wrap:wrap;gap:6px;display:flex}.issues-panel .chip.line{border:1px dashed var(--edge-strong);color:var(--ink-2);background:0 0}.issues-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-bottom:6px;font-size:13px}.issue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.issue{border:1px solid var(--edge);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px 12px;font-size:13.5px;display:grid}.issue .ic{margin-top:1px}.issue.violation{border-color:color-mix(in oklab, var(--bad) 45%, var(--edge));background:color-mix(in oklab, var(--bad) 8%, var(--surface))}.issue.violation .ic{color:var(--bad)}.issue.flag{border-color:color-mix(in oklab, var(--warn) 45%, var(--edge));background:color-mix(in oklab, var(--warn) 8%, var(--surface))}.issue.flag .ic{color:var(--warn)}.issue.unknown{color:var(--ink-2);background:0 0;border-style:dashed}.issue .cite{font-family:var(--mono)}.link-button{all:unset;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--edge-strong);text-decoration-color:var(--edge-strong)}.link-button:focus-visible{outline:2px solid var(--info);outline-offset:2px}.unknowns summary{cursor:pointer;color:var(--ink-2);font-size:13.5px;font-weight:650}.unknowns[open]{gap:8px;display:grid}.coverage{gap:6px;font-size:13.5px;display:grid}.coverage .ok{color:color-mix(in oklab, var(--ok) 80%, var(--ink));font-weight:650}.cov-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.cov-list li{justify-content:space-between;gap:10px;font-size:13px;display:flex}.cov-list .nm{overflow-wrap:anywhere;min-width:0;color:var(--ink-2)}.cov-list .v{white-space:nowrap;font-weight:600}.cov-list li.short .v{color:color-mix(in oklab, var(--bad) 80%, var(--ink))}.issues-panel .stale{opacity:.55}.planner-page{max-width:1480px}.planner-status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.planner-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.planner-main{gap:14px;min-width:0;display:grid}.planner-layout .issues-panel{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.tray{gap:10px;display:grid}.tray.drop-ok{outline:2px dashed var(--info)}.tray-head{align-items:center;gap:10px;display:flex}.tray-head h2{font-size:17px}.tray-tools{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.tray-tools .search{flex:240px;display:block;position:relative}.tray-tools .search .icon{color:var(--ink-3);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tray-tools .search .input{padding-left:36px}.tray-tools .add-to{flex:0 220px}.tray-list{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.pcourse{border:1px solid var(--edge);background:var(--surface);cursor:grab;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:4px 6px 4px 14px;display:grid;position:relative}.pcourse:before{content:"";background:var(--c);border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:5px}.pcourse .k,.ptile .k{font:700 12px var(--mono);color:var(--c-ink,var(--ink))}.pcourse .nm{overflow-wrap:anywhere;font-size:13.5px}.pcourse .mark{color:var(--ink-3);white-space:nowrap;align-items:center;gap:4px;margin-left:6px;font-size:12px;display:inline-flex}.pcourse .mark .icon{width:13px;height:13px}.pcourse .cr{color:var(--ink-3);white-space:nowrap;font-size:12px}.rows{gap:10px;display:grid}.trow{border:1px solid var(--edge);background:var(--surface);border-radius:14px;gap:10px;padding:12px 14px;display:grid}.trow.has-violation{border-color:color-mix(in oklab, var(--bad) 55%, var(--edge))}.trow.has-flag{border-color:color-mix(in oklab, var(--warn) 55%, var(--edge))}.trow.drop-target{outline:2px dashed var(--info);outline-offset:2px}.trow.stale .tload,.trow.stale .tmeter,.trow.stale .row-issues,.trow.stale .tile-issues{opacity:.55}.trow-h{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;display:grid}.tname{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tname h3{font-size:15px}.tload{white-space:nowrap;font-size:13.5px}.tmeter{grid-column:1/-1;height:8px;position:relative}.tmeter .track{background:var(--surface-3);border-radius:999px;height:8px;display:block;overflow:hidden}.tmeter .fill{background:var(--ok);height:100%;transition:width .2s;display:block}.trow.has-flag .tmeter .fill{background:var(--warn)}.tmeter .tick{background:var(--ink-3);border-radius:2px;width:2px;position:absolute;top:-3px;bottom:-3px}.row-issues,.tile-issues{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ri,.ti{align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.35;display:flex}.ri .icon,.ti .icon{flex:none;width:14px;height:14px;margin-top:1px}.ri.violation,.ti.violation{color:color-mix(in oklab, var(--bad) 82%, var(--ink));font-weight:600}.ri.flag,.ti.flag{color:color-mix(in oklab, var(--warn) 78%, var(--ink))}.ri.unknown,.ti.unknown{color:var(--ink-3);font-style:italic}.ri .cite,.ti .cite{font:500 11px var(--mono);color:var(--ink-3)}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ptile{border:1px solid var(--edge);background:var(--surface);box-shadow:var(--shadow-sm);cursor:grab;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:10px 6px 10px 16px;display:grid;position:relative}.ptile:before{content:"";background:var(--c,var(--edge-strong));border-radius:4px;width:4px;position:absolute;top:10px;bottom:10px;left:6px}.ptile.slot{box-shadow:none;background:0 0;border-style:dashed}.ptile.has-violation{border:2px solid var(--bad)}.ptile.has-flag{border:2px dashed var(--warn)}.ptile.lifted{outline:3px solid var(--info);outline-offset:2px;transform:translateY(-2px)}.ptile-body{gap:4px;min-width:0;display:grid}.ptile .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ptile .cr{background:var(--c,var(--surface-3));color:var(--on,var(--ink));white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:650}.ptile .nm{overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.3}.ptile-acts{flex-direction:column;gap:2px;display:flex}.ptile-acts .btn.sm.icon-only{width:28px;min-height:26px}.drop-hint{border:1px dashed var(--edge-strong);text-align:center;color:var(--ink-3);border-radius:12px;padding:14px;font-size:13px}.add-row{justify-self:start}@media (width<=1100px){.planner-layout{grid-template-columns:minmax(0,1fr)}.planner-layout .issues-panel{max-height:none;position:static}}@media (width<=620px){.tiles{grid-template-columns:1fr}.tray-tools .add-to{flex:100%}}.plan-name-form{gap:14px}.plans-page .empty{text-align:center;gap:4px;display:grid}.plan-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.plan-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.plan-card-main{gap:4px;min-width:0;display:grid}.plan-name{color:var(--ink);overflow-wrap:anywhere;font-size:16.5px;font-weight:700;text-decoration:none}.plan-name:hover{text-decoration:underline}.plan-card-acts{flex-wrap:wrap;gap:8px;display:flex}.transcript-page .notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.status-strip{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 20px;display:grid}.status-strip .est{align-items:center;gap:12px;display:flex}.status-strip .cap{background:color-mix(in oklab, var(--ok) 15%, var(--surface));width:40px;height:40px;color:var(--ok);border-radius:12px;flex:none;place-items:center;display:grid}.status-strip.bad .cap{background:color-mix(in oklab, var(--bad) 14%, var(--surface));color:var(--bad)}.status-strip .est b{display:block}.status-strip .est small{color:var(--ink-3);font-size:13px}.counts{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.counts li{align-items:center;gap:6px;display:inline-flex}.review-card{container-type:inline-size}.review td{padding:8px 6px}.review th{padding:10px 6px}.review th:first-child,.review td:first-child{padding-left:16px}.review th:last-child,.review td:last-child{padding-right:12px}.review .select,.review .input{border-radius:9px;min-height:36px;padding:4px 8px}.review .term .select{width:auto}.review .code-input{text-transform:uppercase;width:104px}.review .num-input{width:64px}.review td:nth-child(3) .input{min-width:140px}.review tr.err td,.review tr.problems td{background:color-mix(in oklab, var(--bad) 7%, var(--surface))}.review tr.err td{border-bottom:0}.review tr.problems td{color:color-mix(in oklab, var(--bad) 85%, var(--ink));padding-top:0;font-size:13px;font-weight:650}.st{white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.st.ok{color:color-mix(in oklab, var(--ok) 80%, var(--ink))}.st.bad{color:color-mix(in oklab, var(--bad) 85%, var(--ink))}.empty{text-align:center;padding:32px 22px}@media (width<=1100px){.status-strip{grid-template-columns:1fr}}@media (width<=900px){.transcript-page .notes{grid-template-columns:1fr}}@container (width<=860px){.review thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.review,.review tbody{display:block}.review tr{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:14px 16px;display:grid}.review tr.err,.review tr.problems{background:color-mix(in oklab, var(--bad) 7%, var(--surface))}.review tr.problems{border-top:0;padding-top:0;display:block}.review td{border:0;gap:4px;min-width:0;display:grid;background:0 0!important;padding:0!important}.review td[data-label]:before{content:attr(data-label);color:var(--ink-3);font-size:12px;font-weight:650}.review .term,.review td:nth-child(3){grid-column:1/-1}.review .term .select,.review .code-input,.review .num-input,.review td:nth-child(3) .input{width:100%;min-width:0}.review td.r{place-self:end}}.landing[data-v-8b75f2eb]{max-width:1240px;margin:0 auto}.l-hero[data-v-8b75f2eb]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:20px 0 40px;display:grid}.l-hero h1[data-v-8b75f2eb]{letter-spacing:-.045em;overflow-wrap:anywhere;margin-top:18px;font-size:clamp(36px,5.6vw,68px);line-height:1.02}.chip.ink[data-v-8b75f2eb]{white-space:normal;min-height:28px;padding:4px 12px}.lead[data-v-8b75f2eb]{color:var(--ink-2);max-width:46ch;margin-top:18px;font-size:18px}.l-cta[data-v-8b75f2eb]{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.l-cta .btn[data-v-8b75f2eb]{white-space:normal;border-radius:14px;min-height:52px;padding:0 22px;font-size:16px}.l-note[data-v-8b75f2eb]{margin-top:16px}.l-stage[data-v-8b75f2eb]{gap:12px;margin:0;display:grid}.l-board[data-v-8b75f2eb]{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:18px;list-style:none;display:grid}.l-tile[data-v-8b75f2eb]{background:var(--c);color:var(--on);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-size:14px;font-weight:650;display:flex}.l-tile .glyph[data-v-8b75f2eb]{color:inherit;box-shadow:none;background:#ffffff38}.l-section[data-v-8b75f2eb]{gap:26px;padding:40px 0;display:grid}.l-section>h2[data-v-8b75f2eb]{letter-spacing:-.035em;max-width:22ch;font-size:clamp(26px,3.4vw,40px);font-weight:700}.features[data-v-8b75f2eb]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature[data-v-8b75f2eb]{align-content:start;gap:10px;padding:22px;display:grid}.feature h3[data-v-8b75f2eb]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feature p[data-v-8b75f2eb]{color:var(--ink-2);font-size:14.5px}.feature.soon[data-v-8b75f2eb]{box-shadow:none;background:0 0;border-style:dashed}.promise[data-v-8b75f2eb]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.promise .box[data-v-8b75f2eb]{border:1px solid var(--edge);background:var(--surface);gap:8px;padding:20px;display:grid}.l-final[data-v-8b75f2eb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.l-final h2[data-v-8b75f2eb]{font-size:clamp(22px,2.6vw,28px)}.l-final p[data-v-8b75f2eb]{margin-top:6px}.l-status[data-v-8b75f2eb]{padding-top:8px}@media (width<=1180px){.features[data-v-8b75f2eb]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.l-hero[data-v-8b75f2eb],.promise[data-v-8b75f2eb]{grid-template-columns:1fr}}@media (width<=620px){.features[data-v-8b75f2eb]{grid-template-columns:1fr}}
