: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{color:var(--ink-3);border-radius:10px;justify-items:center;gap:2px;padding:6px 2px;font-size:11.5px;font-weight:650;text-decoration:none;display:grid}.tabbar a.router-link-active{background:var(--c);color:var(--on)}}.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}}.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}}.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-078e66c2]{max-width:1240px;margin:0 auto}.l-hero[data-v-078e66c2]{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-078e66c2]{letter-spacing:-.045em;overflow-wrap:anywhere;margin-top:18px;font-size:clamp(36px,5.6vw,68px);line-height:1.02}.chip.ink[data-v-078e66c2]{white-space:normal;min-height:28px;padding:4px 12px}.lead[data-v-078e66c2]{color:var(--ink-2);max-width:46ch;margin-top:18px;font-size:18px}.l-cta[data-v-078e66c2]{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.l-cta .btn[data-v-078e66c2]{white-space:normal;border-radius:14px;min-height:52px;padding:0 22px;font-size:16px}.l-note[data-v-078e66c2]{margin-top:16px}.l-stage[data-v-078e66c2]{gap:12px;margin:0;display:grid}.l-board[data-v-078e66c2]{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-078e66c2]{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-078e66c2]{color:inherit;box-shadow:none;background:#ffffff38}.l-section[data-v-078e66c2]{gap:26px;padding:40px 0;display:grid}.l-section>h2[data-v-078e66c2]{letter-spacing:-.035em;max-width:22ch;font-size:clamp(26px,3.4vw,40px);font-weight:700}.features[data-v-078e66c2]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature[data-v-078e66c2]{align-content:start;gap:10px;padding:22px;display:grid}.feature h3[data-v-078e66c2]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feature p[data-v-078e66c2]{color:var(--ink-2);font-size:14.5px}.feature.soon[data-v-078e66c2]{box-shadow:none;background:0 0;border-style:dashed}.promise[data-v-078e66c2]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.promise .box[data-v-078e66c2]{border:1px solid var(--edge);background:var(--surface);gap:8px;padding:20px;display:grid}.l-final[data-v-078e66c2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.l-final h2[data-v-078e66c2]{font-size:clamp(22px,2.6vw,28px)}.l-final p[data-v-078e66c2]{margin-top:6px}.l-status[data-v-078e66c2]{padding-top:8px}@media (width<=1180px){.features[data-v-078e66c2]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.l-hero[data-v-078e66c2],.promise[data-v-078e66c2]{grid-template-columns:1fr}}@media (width<=620px){.features[data-v-078e66c2]{grid-template-columns:1fr}}
