@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;src:url(./archivo-latin-wght-normal-BEIDiHaE.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Flex;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./google-sans-flex-latin-wght-normal-CRMKv9uI.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#111214;--ground:#0b0c0e;--surface:#111214;--surface-2:#1f1f21;--surface-float:#17181a;--overlay:#0304069e;--blur-bg:#111214db;--text-1:#fff;--text-2:#cececf;--text-3:#9d9e9f;--text-4:#858687;--text-5:#71717a;--text-6:#3c3d3e;--brand:#ed1b2f;--brand-solid:#d6001c;--brand-hover:#b3001a;--brand-soft:#ed1b2f24;--brand-line:#ed1b2f73;--on-brand:#fff;--info:#60a5fa;--info-soft:#60a5fa1f;--ok:#4ade80;--ok-soft:#4ade801a;--caution:#facc15;--warn:var(--attention);--warn-soft:var(--attention-soft);--danger:#f87171;--danger-soft:#f871711a;--attention:var(--danger);--attention-soft:color-mix(in srgb, var(--danger) 18%, transparent);--season-fall:#ea580c;--season-winter:#60a5fa;--season-summer:#34d399;--cat-1:#818cf8;--cat-2:#f472b6;--cat-3:#2dd4bf;--cat-4:#c084fc;--cat-other:#8b8d91;--heat-done:#3fc483;--heat-break:#5aa9d6;--heat-ahead:#ffffff17;--soft-fill:#ffffff0d;--soft-fill-hover:#ffffff14;--row-hover:#ffffff06;--hairline:.5px;--line:#ffffff14;--line-strong:#ffffff24;--line-faint:#ffffff0d;--shadow-card:inset 0 1px 0 #ffffff0f, 0 0 0 var(--hairline) #ffffff12, 0 20px 44px #00000024, 0 4px 10px #00000014;--shadow-panel:inset 0 1px 0 #ffffff17, 0 0 0 var(--hairline) #ffffff1a, 0 24px 60px #00000080;--shadow-button:0 1px 4px #0000001a, 0 0 1px #0000001a;--action:#f2f2f2;--action-hover:#fff;--on-action:#333;--tag-alpha:14%}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#fff;--ground:#f4f5f7;--surface:#fff;--surface-2:#f0f0f2;--surface-float:#fff;--overlay:#10121652;--blur-bg:#ffffffe0;--text-1:#15171a;--text-2:#33363b;--text-3:#5c6067;--text-4:#62666d;--text-5:#7c818a;--text-6:#c2c6cc;--brand:#d6001c;--brand-solid:#c20019;--brand-hover:#9c0014;--brand-soft:#d6001c14;--brand-line:#d6001c66;--on-brand:#fff;--info:#1d4ed8;--info-soft:#1d4ed814;--ok:#15803d;--ok-soft:#15803d1a;--caution:#ca8a04;--warn:var(--attention);--warn-soft:var(--attention-soft);--danger:#c62828;--danger-soft:#c6282814;--attention:color-mix(in srgb, var(--danger) 80%, #fff);--attention-soft:color-mix(in srgb, var(--danger) 15%, #fff);--season-fall:#c2410c;--season-winter:#1d4ed8;--season-summer:#047857;--cat-1:#6366f1;--cat-2:#ec4899;--cat-3:#14b8a6;--cat-4:#a855f7;--cat-other:#9ca3af;--heat-done:#4cc98a;--heat-break:#8cc8ec;--heat-ahead:#e6e8eb;--soft-fill:#1012160d;--soft-fill-hover:#10121617;--row-hover:#10121607;--line:#1012161c;--line-strong:#1012162e;--line-faint:#10121612;--shadow-card:0 0 0 var(--hairline) #10121614, 0 1px 2px #1018280a, 0 8px 24px #1018280d;--shadow-panel:0 0 0 var(--hairline) #1012161a, 0 16px 40px #10182829;--shadow-button:0 1px 2px #1018281f;--action:#15171a;--action-hover:#33363b;--on-action:#fff;--tag-alpha:11%}:root{--accent:var(--text-1);--on-accent:var(--surface);--accent-soft:color-mix(in srgb, var(--accent) 22%, var(--surface));--accent-line:color-mix(in srgb, var(--accent) 40%, transparent);--focus-ring:0 0 0 1.5px var(--accent-line);--motion-fast:.12s;--motion-base:.16s;--motion-slow:.24s;--ease-standard:cubic-bezier(.25, .1, .25, 1);--z-local:2;--z-sticky:40;--z-peek:50;--z-overlay:60;--z-dialog:70;--z-popover:80;--z-toast:90;--opacity-disabled:.45;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--font:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--tag-neutral-bg:var(--soft-fill);--tag-neutral-fg:var(--text-3);--tag-amber-bg:var(--attention-soft);--tag-amber-fg:var(--danger);--tag-green-bg:color-mix(in srgb, var(--ok) var(--tag-alpha), transparent);--tag-green-fg:var(--ok);--tag-blue-bg:color-mix(in srgb, var(--info) calc(var(--tag-alpha) + 4%), transparent);--tag-blue-fg:var(--info);--tag-red-bg:color-mix(in srgb, var(--danger) var(--tag-alpha), transparent);--tag-red-fg:var(--danger);--tag-brand-bg:var(--tag-neutral-bg);--tag-brand-fg:var(--text-1);--radius-xs:6px;--radius-sm:8px;--radius-button:8px;--radius-card:12px;--radius-lg:16px;--page-max:1360px;--topbar-h:56px;--rail-w:244px;--gutter:24px;--pane-pad:24px;--aside-w:264px}@media (resolution<=1.5x){:root{--hairline:1px}}@media (width<=720px){:root{--gutter:16px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--canvas);height:100%;overflow:hidden}#root{height:100%;overflow:hidden}body{background:var(--canvas);height:100%;color:var(--text-1);font-family:var(--font);letter-spacing:-.01em;font-feature-settings:"ss01" on, "ss03" on, "cv11" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;font-weight:400;line-height:1.43;overflow:hidden}:lang(zh) body,html[lang=zh-CN] body{letter-spacing:0}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--text-1);-webkit-text-decoration-color:var(--text-6);text-decoration-color:var(--text-6)}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:color-mix(in srgb, var(--accent) 16%, transparent)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400}kbd{font-family:var(--mono);border-radius:var(--radius-xs);border:var(--hairline) solid var(--line-strong);color:var(--text-2);background:var(--soft-fill);padding:1px 5px;font-size:12px}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{border-radius:var(--radius-sm);white-space:nowrap;min-height:34px;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:15px;height:15px}.btn-primary{background:var(--action);color:var(--on-action);box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-ghost{background:var(--soft-fill);color:var(--text-1)}.btn-ghost:hover:not(:disabled){background:var(--soft-fill-hover)}.btn-quiet{color:var(--text-2);background:0 0;padding-inline:10px}.btn-quiet:hover:not(:disabled){background:var(--soft-fill);color:var(--text-1)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);filter:brightness(1.15)}.btn:disabled{opacity:var(--opacity-disabled)}.btn-sm{border-radius:var(--radius-sm);min-height:28px;padding:4px 10px;font-size:13px}.btn-lg{min-height:42px;padding:10px 22px;font-size:15px}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-4);transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.icon-btn svg{width:16px;height:16px}.icon-btn:hover:not(:disabled),.icon-btn[data-popup-open]{background:var(--soft-fill);color:var(--text-1)}.icon-btn:disabled{opacity:var(--opacity-disabled)}.icon-btn.is-active{color:var(--text-1);background:var(--soft-fill)}.link-btn{color:var(--text-1);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;text-decoration:none;display:inline-flex}.link-btn:hover{color:var(--text-1);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--text-6);text-decoration-color:var(--text-6)}.link-btn svg{width:13px;height:13px;color:var(--text-4)}.tag,.badge{border-radius:var(--radius-xs);background:var(--tag-neutral-bg);max-width:100%;height:20px;color:var(--tag-neutral-fg);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;border:0;align-items:center;gap:5px;padding:0 6px;font-size:12px;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.tag-sm{height:18px;padding:0 5px;font-size:12px}.tag svg,.badge svg{flex:none;width:12px;height:12px}.tag-amber,.badge-amber{background:var(--tag-amber-bg);color:var(--tag-amber-fg)}.tag-green,.badge-mint{background:var(--tag-green-bg);color:var(--tag-green-fg)}.tag-blue,.badge-blue{background:var(--tag-blue-bg);color:var(--tag-blue-fg)}.tag-attention{background:var(--attention-soft);color:var(--danger)}.tag-red,.badge-coral{background:var(--tag-red-bg);color:var(--tag-red-fg)}.tag-brand,.badge-brand{background:var(--tag-brand-bg);color:var(--tag-brand-fg)}.badge-quiet{background:var(--tag-neutral-bg);color:var(--tag-neutral-fg)}button.tag{cursor:pointer}button.tag:hover{filter:brightness(1.12)}.badge .dot,.tag .dot,.dot{background:var(--text-4);border-radius:999px;flex:none;width:6px;height:6px}.dot-fall{background:var(--season-fall)}.dot-winter{background:var(--season-winter)}.dot-summer{background:var(--season-summer)}.dot-prior,.dot-unscheduled{background:var(--text-4)}.dot-done{background:var(--ok)}.dot-active{background:var(--info)}.dot-plan{background:var(--text-4)}.dot-deferred{background:var(--warn)}.dot-warn{background:var(--danger)}.field{gap:6px;min-width:0;display:grid}.block-title{color:var(--text-1);margin:0;font-size:14px;font-weight:500}.field-label{color:var(--text-4);letter-spacing:0;font-size:12px;font-weight:500}.field-hint{color:var(--text-5);font-size:12px;line-height:1.45}.input,.select,.textarea{border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-sm);background:var(--canvas);width:100%;min-height:34px;color:var(--text-1);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);padding:7px 10px;font-size:14px}.input::placeholder,.textarea::placeholder{color:var(--text-5)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-6)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-line);box-shadow:var(--focus-ring);outline:none}.textarea{resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath stroke='%23858687' stroke-width='1.4' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.select option{background:var(--surface-float);color:var(--text-1)}.select-inline{min-height:28px;color:var(--text-2);background-color:#0000;background-position:right 7px center;border-color:#0000;padding:3px 24px 3px 8px;font-size:13px}.select-inline:hover{border-color:var(--line-strong);background-color:var(--soft-fill)}.search{align-items:center;min-width:0;display:flex;position:relative}.search>svg{width:15px;height:15px;color:var(--text-4);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{padding-left:32px;padding-right:34px}.search kbd,.search .search-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear{border-radius:var(--radius-xs);background:var(--soft-fill);width:20px;height:20px;color:var(--text-4);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);border:0;place-items:center;padding:0;display:grid}.search-clear:hover{background:var(--soft-fill-hover);color:var(--text-1)}.search-clear svg{width:12px;height:12px}.checkbox{border:var(--hairline) solid var(--text-6);border-radius:var(--radius-xs);background:var(--surface-2);width:16px;height:16px;color:var(--canvas);box-sizing:border-box;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.checkbox-indicator{justify-content:center;align-items:center;width:100%;height:100%;line-height:0;display:flex}.checkbox:hover{border-color:var(--text-5)}.checkbox.is-blocked{border-color:var(--text-5);background:var(--soft-fill-hover);color:var(--text-3)}.checkbox[data-checked],.checkbox[data-indeterminate]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.checkbox.is-elsewhere[data-checked]{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--surface);cursor:help}.checkbox svg{flex:none;width:11px;height:11px;margin:auto;display:block}.check-row{color:var(--text-2);align-items:center;gap:10px;font-size:14px;display:flex}.segmented{border-radius:calc(var(--radius-sm) + 3px);background:var(--surface);box-shadow:0 0 0 var(--hairline) var(--line);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-sm);min-height:28px;color:var(--text-4);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.segmented button svg{width:14px;height:14px}.segmented button:hover{color:var(--text-1)}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{background:var(--soft-fill-hover);color:var(--text-1);box-shadow:inset 0 1px 0 var(--line-faint)}.card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.card-pad{padding:24px 28px}.select-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:10px;display:grid;container:select-cards/inline-size}.select-card{text-align:left;cursor:pointer;transition:box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:0;align-content:start;gap:6px;padding:16px 18px;display:grid;position:relative}.select-card strong{color:var(--text-1);font-size:14px;font-weight:550;line-height:1.3}.select-card .muted{font-size:12px;line-height:1.45}.select-card-icon svg{width:18px;height:18px;color:var(--text-4)}.select-card:hover{box-shadow:inset 0 0 0 var(--hairline) var(--line-strong), var(--shadow-card)}.select-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.select-card.is-on{background:var(--soft-fill);box-shadow:inset 0 0 0 1px var(--line-strong)}.select-card.is-on .select-card-icon svg{color:var(--text-1)}.select-card.is-quiet{box-shadow:inset 0 0 0 var(--hairline) var(--line);background:0 0}@container select-cards (width<=380px){.select-card{grid-template-columns:18px minmax(0,1fr);gap:2px 12px;padding:12px 14px 12px 12px}.select-card>.select-card-icon{grid-area:1/1/-1;align-self:center}.select-card>:not(.select-card-icon):not(.select-card-mark){grid-column:2}.select-card-mark{top:12px;right:12px}}.select-card-mark{border-radius:999px;place-items:center;width:20px;height:20px;display:inline-grid;position:absolute;top:14px;right:14px}.select-card.is-on .select-card-mark{background:var(--accent);color:var(--on-accent)}.select-card-mark svg{width:12px;height:12px}@media (width<=720px){.card-pad{padding:18px 16px}}.eyebrow{color:var(--text-4);letter-spacing:.02em;font-size:12px;font-weight:500}.muted{color:var(--text-4)}.subtle{color:var(--text-5)}.num{font-variant-numeric:tabular-nums}.meter{background:var(--surface-2);border-radius:999px;height:4px;position:relative;overflow:hidden}.meter>span{border-radius:inherit;transition:width var(--motion-slow) var(--ease-standard);position:absolute;inset:0 auto 0 0}.meter .meter-planned{background:var(--text-5)}.meter .meter-earned{background:var(--ok)}.meter .meter-over{background:var(--danger)}.overlay{z-index:var(--z-overlay);background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity var(--motion-fast) var(--ease-standard);position:fixed;inset:0}.overlay[data-starting-style],.overlay[data-ending-style]{opacity:0}.dialog{z-index:var(--z-dialog);border-radius:var(--radius-lg);background:var(--surface-float);width:min(560px,100vw - 32px);max-height:min(88dvh,900px);box-shadow:var(--shadow-panel);transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);outline:none;gap:18px;padding:28px;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog[data-starting-style],.dialog[data-ending-style]{opacity:0;transform:translate(-50%,-48%)scale(.985)}.dialog-wide{width:min(880px,100vw - 32px)}.dialog-head{gap:6px;padding-right:32px;display:grid}.dialog-title{letter-spacing:-.02em;font-size:22px;font-weight:400;line-height:1.25}.dialog-desc{color:var(--text-4);font-size:14px}.dialog-close{position:absolute;top:18px;right:18px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}@media (width<=720px){.dialog{width:100vw;max-height:92dvh;padding:22px 16px calc(22px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;top:auto;bottom:0;transform:translate(-50%)}.dialog[data-starting-style],.dialog[data-ending-style]{transform:translate(-50%,16px)}}.panel-dialog{flex-direction:column;gap:0;width:min(680px,100vw - 48px);height:min(820px,100dvh - 64px);max-height:none;padding:0;display:flex;overflow:hidden}.popover-layer{z-index:var(--z-popover)}.popover{min-width:220px;max-width:min(360px,100vw - 24px);max-height:var(--available-height,70dvh);border-radius:var(--radius-card);background:var(--surface-float);box-shadow:var(--shadow-panel);transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);outline:none;padding:6px;overflow:auto}.popover[data-starting-style],.popover[data-ending-style]{opacity:0;transform:translateY(-3px)}.popover-pad{gap:12px;padding:10px;display:grid}.menu-item{border-radius:var(--radius-sm);width:100%;min-height:32px;color:var(--text-2);text-align:left;background:0 0;border:0;outline:none;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.menu-item svg{width:15px;height:15px;color:var(--text-4);flex:none}.menu-item:hover,.menu-item[data-highlighted]{background:var(--soft-fill);color:var(--text-1)}.menu-item svg.is-hidden{visibility:hidden}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-sep{height:var(--hairline);background:var(--line);margin:5px 4px}.menu-label{color:var(--text-5);padding:8px 10px 4px;font-size:12px;font-weight:500}.toast{border-radius:var(--radius-card);background:var(--surface-float);border:var(--hairline) solid var(--line);-webkit-backdrop-filter:blur(16px);pointer-events:auto;width:min(420px,100vw - 48px);max-width:calc(100vw - 48px);min-height:88px;animation:toast-in var(--motion-base) var(--ease-standard);align-items:center;gap:12px;padding:16px 20px;font-size:14px;line-height:1.5;display:inline-flex;box-shadow:0 1px 2px #0000001f,0 10px 30px -6px #0000004d}[data-theme=light] .toast{box-shadow:0 1px 2px #1018280f,0 12px 32px -8px #10182833}.toast-action{background:var(--soft-fill);height:28px;color:var(--text-1);font:inherit;cursor:pointer;border:0;border-radius:8px;flex:none;margin-left:4px;padding:0 10px;font-size:13px;font-weight:500}.toast-action:hover{background:var(--soft-fill-hover)}.toast-action:focus-visible{box-shadow:var(--focus-ring);outline:none}.toast .notice-mark{width:22px;height:22px}.toast-text{min-width:0;color:var(--text-1);font-weight:450}.notice-mark{flex:none;width:18px;height:18px}.notice-mark-bg{fill:currentColor;fill-opacity:.14;stroke:currentColor;stroke-opacity:.22;stroke-width:1px}.notice-mark-glyph{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.notice-mark-dot{fill:currentColor}.toast.is-done{color:var(--ok)}.toast.is-info{color:var(--info)}.toast.is-warn{color:var(--warn)}.toast.is-problem{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.callout{border-radius:var(--radius-card);background:var(--danger-soft);box-shadow:inset 0 0 0 var(--hairline) color-mix(in srgb, var(--danger) 35%, transparent);color:var(--text-2);gap:8px;padding:14px 16px;font-size:13px;display:grid}.callout strong{color:var(--text-1);font-weight:500}.callout-info{background:var(--info-soft);box-shadow:inset 0 0 0 var(--hairline) color-mix(in srgb, var(--info) 32%, transparent)}.callout-warn{background:var(--warn-soft);box-shadow:inset 0 0 0 var(--hairline) color-mix(in srgb, var(--warn) 32%, transparent)}.callout-actions{flex-wrap:wrap;gap:8px;display:flex}.callout.banner{width:100%;box-shadow:var(--shadow-panel);align-items:center;gap:12px;display:flex}.callout.banner>svg{width:18px;height:18px;color:var(--text-4);flex:none}.callout.banner>span,.callout.banner>div:not(.callout-actions){flex:auto;min-width:0}.callout.banner>.callout-actions{flex:none}.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.dtable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.dtable th{border-bottom:var(--hairline) solid var(--line);height:32px;color:var(--text-4);text-align:left;white-space:nowrap;letter-spacing:0;padding:0 10px;font-size:12px;font-weight:500;position:relative}.dtable td{border-bottom:var(--hairline) solid var(--line-faint);height:40px;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:0 10px;overflow:hidden}.dtable tr:last-child td{border-bottom:0}.dtable tbody tr:hover td{background:var(--row-hover)}.dtable tr.is-muted td{color:var(--text-5)}.dtable .col-check{width:40px;padding-left:14px;padding-right:0}.col-resize{cursor:col-resize;width:7px;z-index:var(--z-local);background:0 0;border:0;padding:0;position:absolute;top:6px;bottom:6px;right:-3px}.col-resize:after{content:"";background:var(--line);opacity:0;width:1px;position:absolute;top:0;bottom:0;left:3px}.dtable th:hover .col-resize:after,.col-resize:focus-visible:after{opacity:1}.cell-btn{width:100%;min-width:0;height:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.cell-btn span{text-overflow:ellipsis;min-width:0;overflow:hidden}.code{color:var(--text-1);font-variant-numeric:tabular-nums;letter-spacing:-.005em;font-weight:500}.panel-disclosure{border:var(--hairline) solid var(--line-faint);border-radius:var(--radius-sm);padding:10px 14px}.disclosure-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style-position:inside}.disclosure-body{padding-top:8px}.notice-dialog{width:min(480px,100vw - 48px)}.notice-dialog-body{align-items:center;gap:18px;padding-block:12px;display:flex}.notice-dialog-body .notice-mark{width:48px;height:48px;color:var(--danger)}.notice-dialog-body p{color:var(--text-1);margin:0}.notice-inline{align-items:center;gap:12px;display:flex}.notice-inline .notice-mark{width:28px;height:28px;color:var(--warn)}.notice-inline>span{flex:1;min-width:0}.issue-button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;padding:0;display:inline-grid}.issue-button:hover{background:var(--soft-fill-hover)}.issue-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.issue-button>.issue-badge{width:14px;min-width:14px;height:14px;min-height:14px;display:block}.brand{border-radius:var(--radius-sm);color:var(--text-1);background:0 0;border:0;align-items:center;gap:9px;padding:4px 6px 4px 2px;text-decoration:none;display:inline-flex}button.brand:hover{background:var(--soft-fill)}.lang-switch button{min-height:24px;padding:2px 9px;font-size:12px}.loading-screen{height:100%;animation:fade-in var(--motion-slow) var(--ease-standard) .15s both;place-content:center;justify-items:center;gap:14px;display:grid}@keyframes fade-in{0%{opacity:0}}.app-real{height:100%}.onboarding,.status-screen{overscroll-behavior:contain;flex-direction:column;height:100%;display:flex;overflow-y:auto}.ob-topbar{z-index:var(--z-sticky);height:var(--topbar-h);padding:0 var(--gutter);padding-top:env(safe-area-inset-top);box-sizing:content-box;background:var(--blur-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--hairline) solid var(--line-faint);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.ob-topbar-actions{align-items:center;gap:8px;display:flex}.ob-welcome,.status-body{width:100%;max-width:1080px;padding:clamp(56px, 12vh, 132px) var(--gutter) 64px;margin:0 auto}.status-body{gap:16px;max-width:720px;display:grid}.ob-display{letter-spacing:-.028em;max-width:820px;margin-top:18px;font-size:clamp(38px,6.2vw,64px);font-weight:400;line-height:1}.ob-lede{max-width:620px;color:var(--text-4);letter-spacing:-.02em;margin-top:24px;font-size:18px;font-weight:420;line-height:1.5}.ob-actions{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.status-body .ob-actions{margin-top:12px}.ob-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:clamp(56px,10vh,96px) 0 0;padding:0;list-style:none;display:grid}.ob-features li{border-top:var(--hairline) solid var(--line);align-content:start;gap:6px;padding:20px 4px 0;display:grid}.ob-features svg{width:18px;height:18px;color:var(--text-4);margin-bottom:10px}.ob-features strong{font-size:15px;font-weight:500}.ob-features span{color:var(--text-4);font-size:13px}.ob-disclaimer{margin-top:28px;font-size:12px}.ob-welcome .callout{max-width:620px;margin-top:16px}@media (width<=720px){.ob-features{grid-template-columns:1fr}.ob-lede{font-size:16px}.ob-actions .btn{flex:100%}}.ob-title{letter-spacing:-.022em;font-size:clamp(28px,4vw,42px);font-weight:400;line-height:1.15}.ob-form{gap:24px;display:grid}.inline-fields{gap:8px;display:flex}.inline-fields .select{width:auto;min-width:120px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px 20px;display:grid}.form-grid .input.num{width:104px}@media (width<=720px){.form-grid{grid-template-columns:1fr}}.choice-group{border:0;gap:8px;margin:0;padding:0}.choice-group legend{margin-bottom:8px}.choice{border-radius:var(--radius-card);background:var(--surface-2);box-shadow:inset 0 0 0 var(--hairline) var(--line);cursor:pointer;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;padding:14px 16px;display:grid}.choice input{accent-color:var(--accent);grid-row:span 2;margin-top:3px}.choice strong{font-weight:500}.choice .muted{font-size:13px}.choice.is-on{box-shadow:inset 0 0 0 var(--hairline) var(--line-strong);background:var(--soft-fill)}.choice-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.choice-cards{grid-template-columns:1fr}}.choice-card{cursor:pointer;gap:8px;padding:22px 24px;display:grid;position:relative}.choice-card input{accent-color:var(--accent);position:absolute;top:20px;right:20px}.choice-card svg{width:20px;height:20px;color:var(--text-4);margin-bottom:8px}.choice-card strong{font-size:16px;font-weight:500}.choice-card .muted{font-size:13px}.choice-card.is-on{background:var(--soft-fill);box-shadow:inset 0 0 0 var(--hairline) var(--line-strong), var(--shadow-card)}.choice-card.is-on svg{color:var(--text-1)}.choice-card.is-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.ob-summary{gap:10px;display:grid}.ob-summary ul{color:var(--text-1);gap:4px;margin:0;padding-left:18px;display:grid}.picker{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;display:grid}.picker-hint{color:var(--text-4);text-wrap:pretty;font-size:13px;line-height:1.5}.picker-list{grid-template-columns:minmax(0,1fr);gap:18px;max-height:340px;padding-right:4px;display:grid;overflow-y:auto}.picker-section{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.picker-rows{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.picker-section .eyebrow{padding:6px 2px 2px}.program-row{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px 2px 2px;display:flex}.program-row:hover{background:var(--row-hover)}.program-row-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;grid-template-columns:minmax(0,1fr);gap:1px;padding:8px 10px;display:grid}.program-row-title{color:var(--text-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.program-row-meta{color:var(--text-5);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.program-row .icon-btn{opacity:0;flex:none}.program-row:hover .icon-btn,.program-row .icon-btn:focus-visible{opacity:1}.program-row-toggle{background:var(--soft-fill);width:22px;height:22px;color:var(--text-5);cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.program-row-toggle:hover{background:var(--soft-fill-hover);color:var(--text-2)}.program-row-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.program-row-toggle svg{width:13px;height:13px}.picker-empty{color:var(--text-4);padding:24px 12px}.track-grid{grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:12px;display:grid}.track-card{color:inherit;grid-template-columns:minmax(0,1fr);gap:8px}.track-card-top{align-items:center;gap:8px;padding-right:28px;display:flex}.track-name{color:var(--text-1);font-size:15px;font-weight:500}.track-summary{text-wrap:pretty;font-size:13px;line-height:1.5}.track-slots{flex-wrap:wrap;gap:6px;display:flex}.slot-section{border-top:var(--hairline) solid var(--line);grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0;display:grid}.slot-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.slot-head-text{flex:240px;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;display:grid}.slot-title{color:var(--text-1);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.slot-scope{flex:0 auto;max-width:100%}.slot-filled{grid-template-columns:minmax(0,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.slot-filled-row{border-radius:var(--radius-sm);background:var(--soft-fill);box-shadow:inset 0 0 0 var(--hairline) var(--line);align-items:center;gap:9px;padding:8px 8px 8px 11px;display:flex}.slot-filled-row>svg{width:14px;height:14px;color:var(--ok);flex:none}.slot-filled-title{min-width:0;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;overflow:hidden}.course-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.course-link-tag{cursor:pointer;background:var(--soft-fill);color:var(--text-2);transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);text-decoration:none}.course-link-tag:hover{background:var(--soft-fill-hover);color:var(--text-1)}@media (width<=860px){.program-row .icon-btn{opacity:1}.picker-list{max-height:none}}.error-details{border-radius:var(--radius-sm);background:var(--surface);max-height:180px;box-shadow:inset 0 0 0 var(--hairline) var(--line);color:var(--danger);font-family:var(--mono);white-space:pre-wrap;margin:0;padding:12px 14px;font-size:12px;overflow:auto}.theme-switch button{min-height:24px;padding:2px 7px}.theme-switch svg{width:14px;height:14px}.brand-glyph{width:24px;height:24px;color:var(--brand);flex:none}.brand-word{font-family:"Archivo", "Google Sans Flex", "Google Sans Text", "Google Sans", var(--font);font-variation-settings:"wght" 600;letter-spacing:-.015em;font-size:19px;font-weight:600;line-height:1}.faculty-card-top{flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;display:flex}.faculty-card-top svg{width:16px;height:16px;color:var(--text-4)}.faculty-name{color:var(--text-1);font-size:15px;font-weight:500}.faculty-degree{color:var(--text-4);font-variant-numeric:tabular-nums;font-size:13px}.faculty-meta{font-size:12px;line-height:1.5}.picker-scope{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.picker-scope-name{color:var(--text-1);font-size:14px;font-weight:500}.choice-card .tag{justify-self:start}@media (width<=720px){.ob-topbar{height:auto;min-height:var(--topbar-h);flex-wrap:wrap;padding-block:8px}.ob-topbar-actions{margin-left:auto}}.dialog.setup-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:14px;height:min(88dvh,780px);overflow:hidden}@media (width<=720px){.dialog.setup-dialog{height:92dvh}}.setup-dialog-body{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;min-width:0;min-height:0;margin:0 -6px;padding:2px 6px 8px;display:grid;overflow-y:auto}.setup-dialog-intro{text-wrap:pretty;font-size:13px;line-height:1.45}.setup-dialog-foot{border-top:var(--hairline) solid var(--line-faint);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;display:flex}.setup-dialog-status{flex:200px;min-width:0;line-height:1.4}.dialog-wide .picker.picker-track{grid-template-columns:minmax(0,1fr)}.setup-dialog .track-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.setup-stepper ol{flex-wrap:wrap;gap:4px 2px;margin:0;padding:0;list-style:none;display:flex}.setup-stepper-item{min-height:28px;color:var(--text-4);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 4px;font-size:13px;display:inline-flex}.setup-stepper-item:hover:not(:disabled):not([aria-current=step]){background:var(--soft-fill);color:var(--text-1)}.setup-stepper-item:disabled{opacity:var(--opacity-disabled)}.setup-stepper-item[aria-current=step]{background:var(--soft-fill);color:var(--text-1)}.setup-stepper-num{width:20px;height:20px;box-shadow:inset 0 0 0 var(--hairline) var(--line-strong);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:12px;display:inline-grid}.setup-stepper-num svg{width:12px;height:12px}.setup-stepper-item[aria-current=step] .setup-stepper-num{background:var(--accent);box-shadow:none;color:var(--on-accent)}.setup-stepper-item.is-done{color:var(--text-3)}.setup-stepper-item.is-done .setup-stepper-num{color:var(--ok,var(--success,#27834a))}.setup-stepper-compact{display:none}@media (width<=720px){.setup-stepper ol{display:none}.setup-stepper-compact{display:block}}.setup-foundation-name{color:var(--text-1);font-size:14px}.prior-system-grid{flex-wrap:wrap;gap:6px 18px;display:flex}.prior-source-block{gap:8px;display:grid}.prior-source{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.prior-source-label{color:var(--text-1);font-size:13px;font-weight:500}.prior-rules{border:0;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;margin:0;padding:0;display:grid}.prior-rule{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid}.prior-rule:hover{background:var(--row-hover)}.prior-rule.is-on{background:var(--soft-fill);box-shadow:inset 0 0 0 var(--hairline) var(--line)}.prior-rule .checkbox{margin-top:2px}.prior-rule-body{grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;display:grid}.prior-rule-head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.prior-rule-exam{color:var(--text-1);overflow-wrap:anywhere;font-size:14px;font-weight:500}.prior-rule-grants{color:var(--text-2);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.prior-rule-conditions{overflow-wrap:anywhere;font-size:12px;line-height:1.45}.prior-credits{max-width:140px}.prior-total{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.prior-total strong{color:var(--text-1);font-size:15px;font-weight:500}.setup-review{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;display:grid}.setup-review>div{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:150px minmax(0,1fr);gap:4px 16px;padding-bottom:12px;display:grid}.setup-review>div:last-child{border-bottom:0;padding-bottom:0}.setup-review dt{color:var(--text-4);font-size:13px}.setup-review dd{min-width:0;color:var(--text-1);overflow-wrap:anywhere;margin:0;font-size:14px}.setup-review-list{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.setup-review-list li{grid-template-columns:minmax(0,1fr);display:grid}@media (width<=560px){.setup-review>div{grid-template-columns:minmax(0,1fr)}}.ob-check{color:var(--text-1);align-items:center;gap:10px;font-size:14px;display:flex}.ob-check>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.ob-check svg{width:15px;height:15px;color:var(--text-4)}.prior-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:8px;display:grid}.prior-choice{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text-2);text-align:left;cursor:pointer;align-items:center;gap:9px;padding:10px 12px;display:flex}.prior-choice:hover{background:var(--row-hover)}.prior-choice.is-on{border-color:var(--line-strong);background:var(--soft-fill)}.prior-choice:focus-visible{box-shadow:var(--focus-ring);outline:none}.prior-choice strong{flex:1;font-size:13px;font-weight:500}.prior-choice .select-card-icon,.prior-choice .select-card-mark{flex:none;margin:0;display:inline-flex;position:static}.prior-choice .select-card-icon svg{width:18px;height:18px}.prior-choice .select-card-mark{width:16px;height:16px}.prior-choice .select-card-mark svg{width:12px;height:12px}.prior-next{border-radius:var(--radius-sm);background:var(--soft-fill);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.prior-credit-details{gap:14px;min-width:0;scroll-margin-top:8px;display:grid}.prior-credit-details:focus{outline:none}.prior-details-title{margin:0;font-size:15px;font-weight:600}.setup-dates-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 28px;display:grid}.setup-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setup-date-fields .field-label{color:var(--text-4);font-size:12px}.setup-date-fields .select{width:100%;min-width:0}.setup-dates-grid .input{width:100%;max-width:160px}.setup-dates-grid .field-hint{margin:0}@media (width<=560px){.setup-dates-grid{grid-template-columns:minmax(0,1fr)}}.setup-history-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setup-history-section{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.setup-history-section>summary{cursor:pointer;color:var(--text-1);font-size:14px;font-weight:500}.setup-history-section[open]>summary{margin-bottom:14px}@media (width<=560px){.setup-history-options{grid-template-columns:minmax(0,1fr)}}.prior-add-editor{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end;gap:12px;display:grid}.prior-add-editor .select{width:100%;min-width:0}.prior-add-editor>.btn{min-height:36px}.prior-added-heading{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.prior-added-heading strong{font-weight:500}.prior-added-list{gap:8px;display:grid}.prior-added-row{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.prior-added-row>div{gap:4px;min-width:0;display:grid}.prior-added-row strong{font-size:14px;font-weight:500}@media (width<=560px){.prior-add-editor{grid-template-columns:minmax(0,1fr)}}.setup-transcript-offer{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--soft-fill);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.setup-transcript-offer p{color:var(--text-3);margin:0;font-size:13px;line-height:1.5}.setup-transcript-offer>.btn{flex:none}.setup-dialog .setup-stepper ol{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setup-dialog .setup-stepper-compact{display:none}.setup-dialog .setup-stepper-item{gap:8px;min-height:36px;padding:4px}.setup-dialog .setup-stepper-label{display:none}.setup-dialog .setup-stepper-item[aria-current=step]{padding-right:12px}.setup-dialog .setup-stepper-item[aria-current=step] .setup-stepper-label{display:inline}.setup-dialog .setup-stepper-num{background:var(--soft-fill);width:28px;height:28px;color:var(--text-4);font-size:13px;position:relative}.setup-dialog .setup-stepper-item[aria-current=step] .setup-stepper-num{background:var(--accent);color:var(--on-accent)}.setup-dialog .setup-stepper-item.is-done .setup-stepper-num{background:var(--surface);color:var(--text-1);box-shadow:inset 0 0 0 var(--hairline) var(--line-strong)}@media (width<=560px){.setup-transcript-offer{align-items:start;gap:10px}.setup-transcript-offer>.btn{padding:6px 8px}}.dialog.setup-dialog:not(:has(>.setup-transcript-offer)){grid-template-rows:auto auto minmax(0,1fr) auto}.setup-dialog .setup-stepper-item.is-done .setup-stepper-num>svg{width:14px;height:14px}.dialog.setup-dialog{grid-template-rows:auto auto minmax(0,1fr) auto}.setup-dialog .dialog-head{align-items:center;gap:18px;min-width:0;padding-right:30px;display:flex}.setup-dialog .dialog-title{flex:none}.setup-dialog .dialog-header-aside{min-width:0}.setup-transcript-inline{color:var(--text-4);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;line-height:1.4}.setup-transcript-inline-action{color:var(--text-2);text-underline-offset:3px;text-decoration:underline}.setup-transcript-inline:hover .setup-transcript-inline-action{color:var(--text-1)}.setup-transcript-inline:focus-visible{box-shadow:var(--focus-ring);border-radius:3px;outline:none}@media (width<=560px){.setup-dialog .dialog-head{gap:12px}.setup-transcript-inline-hint{display:none}}.setup-transcript-inline{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--soft-fill);white-space:nowrap;cursor:default;align-items:center;gap:10px;padding:5px 6px 5px 12px;display:inline-flex}.setup-transcript-inline>.btn{background:var(--surface);border:var(--hairline) solid var(--line);min-height:28px;padding:4px 9px;font-size:12px}.setup-transcript-inline .setup-transcript-inline-action{text-decoration:none}.setup-dialog .slot-section.is-compact,.setup-dialog .prior-inline-card{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:10px;margin:0;padding:14px 16px;display:grid}.setup-dialog .slot-section.is-compact+.slot-section.is-compact{margin-top:12px}.slot-section.is-compact .slot-head,.slot-section.is-compact .slot-title,.slot-section.is-compact .slot-filled{margin:0}.slot-section.is-compact .picker-list{overscroll-behavior:contain;max-height:240px;overflow-y:auto}.slot-section.is-compact .slot-browse{color:var(--text-4);justify-self:start;font-size:12px}@media (width<=560px){.setup-transcript-inline{padding:4px}}.prior-category-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.prior-add-more{justify-self:start}.dialog.prior-batch-dialog{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;max-height:86dvh;display:grid;overflow:hidden}.prior-batch-body{overscroll-behavior:contain;min-height:0;padding:2px 4px;overflow-y:auto}.prior-batch-tools{flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.prior-batch-tools>.field-hint{margin-left:auto}.prior-batch-foot{border-top:var(--hairline) solid var(--line);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.prior-rule.is-added{opacity:.6;cursor:default}.dialog.setup-dialog{box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;border-radius:0;padding:24px 32px;inset:0;transform:none}.setup-dialog>.dialog-close{top:24px;right:24px}.setup-dialog .setup-dialog-body{padding-bottom:16px}@media (width<=720px){.dialog.setup-dialog{height:100dvh;padding:18px 16px}.setup-dialog>.dialog-close{top:16px;right:12px}}:is(.dialog.setup-dialog,.dialog.setup-dialog:not(:has(>.setup-transcript-offer))){background:var(--ground);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:236px minmax(0,1fr);gap:24px 0;padding:28px 0 24px 24px}.setup-dialog>.dialog-head{grid-area:1/1;padding:0 20px 0 8px}.setup-dialog>.setup-stepper{grid-area:2/1;align-self:stretch;min-height:0;padding-right:20px;overflow-y:auto}.setup-dialog .setup-stepper ol{flex-direction:column;align-items:stretch;gap:8px}.setup-dialog .setup-stepper-item{border-radius:var(--radius-sm);text-align:left;white-space:normal;justify-content:flex-start;gap:10px;width:100%;padding:10px 12px}.setup-dialog .setup-stepper-item[aria-current=step]{padding:10px 12px}.setup-dialog .setup-stepper-label{font-size:13px;line-height:1.4;display:block}.setup-dialog .setup-stepper-num{flex:none}.setup-dialog .setup-stepper-item:disabled{opacity:.65}.setup-dialog>.setup-dialog-body{box-sizing:border-box;background:var(--surface);border-left:var(--hairline) solid var(--line);grid-area:1/2/4;gap:20px;height:calc(100% + 52px);margin:-28px 0 -24px;padding:36px clamp(24px,4vw,64px) 32px}.setup-content-head{padding-right:32px}.setup-content-kicker{color:var(--text-4);margin-bottom:7px;font-size:12px;display:block}.setup-content-head h2{color:var(--text-1);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:500;line-height:1.25}.setup-import-card{background:var(--soft-fill);border:var(--hairline) solid var(--line);border-radius:var(--radius-card);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.setup-import-card strong{font-size:14px;font-weight:500}.setup-import-card p{color:var(--text-4);margin:5px 0 0;font-size:13px;line-height:1.5}.setup-import-card>.btn{background:var(--surface);flex:none}.setup-dialog>.setup-dialog-foot{border-top:var(--hairline) solid var(--line);grid-area:3/1;gap:10px;margin-right:20px;padding-top:16px}.setup-dialog .setup-dialog-status{flex:100%;font-size:12px}.setup-dialog .setup-dialog-foot>.btn{flex:1;justify-content:center;padding:9px 10px}.setup-dialog .select-cards{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.setup-dialog .slot-section.is-compact,.setup-dialog .prior-inline-card{border-color:var(--line-strong,var(--line));box-shadow:var(--shadow-card);gap:12px;padding:18px}.setup-dialog .slot-section.is-compact .slot-head{border-bottom:var(--hairline) solid var(--line);padding-bottom:10px}.setup-dialog .slot-title{font-size:16px}.setup-dialog .slot-section.is-compact .picker-rows{gap:8px;display:grid}.setup-dialog .slot-section.is-compact .program-row,.cegep-dec-choice{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:5px 8px}.setup-dialog .slot-section.is-compact .program-row:hover,.cegep-dec-choice:hover{background:var(--soft-fill);border-color:var(--line-strong,var(--line))}.setup-dialog .slot-section.is-compact .picker-section{margin-top:12px}.setup-dialog .slot-section.is-compact .picker-section>.eyebrow{border-radius:var(--radius-sm);background:var(--soft-fill);margin:0 0 8px;padding:6px 10px}.setup-dialog .slot-filled-row{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--soft-fill);padding:10px}body:has(.dialog.setup-dialog) .degree-assistant{display:none}@media (width<=720px){:is(.dialog.setup-dialog,.dialog.setup-dialog:not(:has(>.setup-transcript-offer))){grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:1fr;gap:14px;padding:20px 16px 16px}.setup-dialog>.dialog-head{grid-area:1/1;padding:0 32px 0 0}.setup-dialog>.setup-stepper{grid-area:2/1;padding:0;overflow:visible}.setup-dialog .setup-stepper ol{flex-flow:row;gap:4px}.setup-dialog .setup-stepper-item,.setup-dialog .setup-stepper-item[aria-current=step]{width:auto;padding:4px}.setup-dialog .setup-stepper-label,.setup-dialog .setup-stepper-item[aria-current=step] .setup-stepper-label{display:none}.setup-dialog>.setup-dialog-body{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);grid-area:3/1;height:100%;margin:0;padding:16px}.setup-dialog>.setup-dialog-foot{grid-area:4/1;margin:0;padding-top:10px}.setup-dialog .setup-dialog-foot>.btn{flex:0 auto}.setup-dialog .setup-dialog-status{flex:1}.setup-content-head h2{font-size:22px}.setup-import-card{flex-direction:column;align-items:flex-start}}.setup-dialog>.setup-navigation{flex-direction:column;grid-area:2/1;gap:20px;min-height:0;padding-right:20px;display:flex;overflow-y:auto}.setup-navigation>.setup-stepper{flex:none;padding:0;overflow:visible}.setup-navigation .setup-import-card{background:var(--surface);border-radius:var(--radius-card);flex-direction:column;align-items:stretch;gap:12px;padding:16px}.setup-navigation .setup-import-card>.btn{background:var(--soft-fill);justify-content:center;width:100%}.setup-dialog .slot-section.is-compact,.setup-dialog .prior-inline-card{background:var(--soft-fill);border-color:var(--line)}.slot-expand{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px;padding:0;display:flex}.slot-expand:disabled{cursor:default}.slot-expand:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.slot-expand-indicator{color:var(--text-4);margin-left:auto;font-size:18px}.prior-category-grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px;display:grid}.prior-category-card{box-sizing:border-box;border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--soft-fill);height:180px;color:var(--text-2);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:9px;padding:16px;display:flex}.prior-category-card:hover{border-color:var(--line-strong)}.prior-category-card.is-on{border-color:var(--line-strong);background:var(--soft-fill)}.prior-category-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.prior-category-icon{color:var(--text-4);display:flex}.prior-category-icon svg{width:20px;height:20px}.prior-category-card strong{font-size:14px;font-weight:500;line-height:1.35}.prior-category-summary{-webkit-line-clamp:2;color:var(--text-4);-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.prior-category-open{color:var(--text-2);margin-top:auto;font-size:12px}.prior-category-open>span{margin-left:4px}@media (width<=720px){.setup-dialog>.setup-navigation{grid-area:2/1;gap:10px;max-height:210px;padding:0;overflow-y:auto}.setup-navigation .setup-import-card{flex-direction:row;align-items:center;padding:12px}.setup-navigation .setup-import-card>.btn{width:auto}.setup-navigation .setup-import-card p{display:none}}.setup-dialog .track-grid{grid-auto-rows:1fr}.setup-dialog .track-card{box-sizing:border-box;height:100%;min-height:150px}.setup-dialog .picker-track{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.dialog-wide.setup-dialog .picker.picker-track{grid-template-columns:minmax(0,1fr)}.setup-dialog .slot-section.is-compact,.setup-dialog .prior-inline-card{min-width:0;margin:0}.setup-dialog .slot-section.is-compact .picker-list{max-height:330px;overflow-y:auto}.setup-dialog .slot-expand:disabled{opacity:1;cursor:default}.setup-dialog .prior-category-card{justify-content:center;height:112px;padding-right:34px;position:relative}.prior-category-arrow{color:var(--text-4);position:absolute;top:16px;right:16px}.setup-season-limits{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.setup-warning-limits .input{width:100%;max-width:160px}.setup-warning-limits h3{margin:0}.dialog.setup-transcript-popup{grid-template-rows:auto minmax(0,1fr);width:min(860px,100vw - 32px);max-height:88dvh;overflow:hidden}.setup-transcript-popup-body{min-height:0;padding:2px;overflow-y:auto}@media (width<=560px){.setup-season-limits{gap:10px}}.setup-start-list{gap:12px;display:grid}.setup-dialog .select-card.setup-start-row{width:100%;min-height:88px;color:var(--text-1);grid-template-columns:20px minmax(0,1fr) auto;align-content:center;align-items:center;gap:16px;padding:20px 24px}.setup-start-row>svg{width:20px;height:20px;color:var(--text-3)}.setup-start-text{gap:4px;min-width:0;display:grid}.setup-start-text h3{margin:0;font-size:16px;font-weight:500;line-height:1.35}.setup-start-text p{margin:0;font-size:13px}.setup-start-row>.btn{min-width:152px}@media (width<=720px){.setup-dialog .select-card.setup-start-row{grid-template-columns:20px minmax(0,1fr)}.setup-start-row>.btn{grid-column:2;justify-self:start}}.setup-save-location{gap:10px;display:grid}.setup-save-row{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.setup-save-row>svg{width:18px;height:18px;color:var(--text-3)}.setup-save-row strong{font-size:14px;font-weight:500}.dialog.setup-dialog{border-radius:var(--radius-card);width:min(1160px,100vw - 48px);max-width:calc(100vw - 48px);height:min(800px,100dvh - 48px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-panel);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.dialog.setup-dialog[data-starting-style],.dialog.setup-dialog[data-ending-style]{transform:translate(-50%,-48%)scale(.985)}@media (width<=720px){.dialog.setup-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.setup-dialog>.setup-navigation{gap:12px;max-height:180px;padding-right:0}}.faculty-details{color:var(--text-4);flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.faculty-details>span{white-space:nowrap}.setup-dialog .select-card{padding:14px 16px}.prior-category-grid.prior-category-inline{flex-wrap:nowrap;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.setup-dialog .prior-category-inline .prior-category-card{white-space:nowrap;border-radius:var(--radius-sm);flex-direction:row;flex:none;justify-content:center;align-items:center;gap:7px;height:42px;padding:10px 12px}.prior-category-inline .prior-category-card strong{font-size:13px}.prior-inline-card{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--soft-fill);gap:14px;min-width:0;padding:18px;display:grid}.prior-inline-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.prior-inline-head h3{margin:0;font-size:16px;font-weight:500}.prior-inline-rules{gap:8px;max-height:330px;display:grid;overflow-y:auto}.prior-inline-rules .prior-rule{background:var(--surface);border:var(--hairline) solid var(--line);border-radius:var(--radius-sm)}.prior-inline-foot{justify-content:flex-end;display:flex}.prior-inline-selected{flex-wrap:wrap;gap:8px;display:flex}.setup-season-limits{grid-template-columns:repeat(3,minmax(0,160px));gap:10px}.setup-dialog .prior-category-inline .prior-category-card{aspect-ratio:2/3;white-space:normal;border-radius:var(--radius-card);flex-direction:column;flex:0 0 112px;justify-content:space-between;align-items:flex-start;width:112px;height:168px;padding:14px 10px}.prior-category-inline .prior-category-card strong{font-size:13px;line-height:1.4}.prior-category-inline .prior-category-icon svg{width:20px;height:20px}.prior-category-check{width:20px;height:20px;color:var(--text-4);background:0 0;border-radius:50%;align-self:flex-end;place-items:center;display:grid}.prior-category-check svg{width:12px;height:12px}.prior-category-card.is-on .prior-category-check{background:var(--accent);color:var(--on-accent)}.prior-inline-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.prior-inline-toggle:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.prior-category-grid.prior-category-inline{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;padding:0;display:grid;overflow:visible}.prior-category-inline .prior-category-card{aspect-ratio:auto;grid-template-columns:20px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;height:84px;padding:14px 16px;display:grid}.prior-category-inline .prior-category-check{align-self:center}.setup-dialog .prior-category-inline .prior-category-card{aspect-ratio:auto;background:var(--surface);width:100%;height:auto;min-height:72px;color:var(--text-1);border-color:var(--line);grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:16px;display:grid}.setup-dialog .prior-category-inline .prior-category-card:hover:not(.is-on),.setup-dialog .prior-category-inline .prior-category-card.is-on{background:var(--soft-fill);border-color:var(--line-strong)}.setup-dialog .prior-category-inline .prior-category-card strong{font-size:14px;font-weight:500}.setup-dialog .prior-inline-head{border-bottom:var(--hairline) solid var(--line);padding-bottom:10px}.setup-dialog .prior-inline-card .choice{background:var(--surface);border-radius:var(--radius-sm)}.setup-dialog .prior-inline-card .choice:hover,.setup-dialog .prior-inline-card .choice.is-on{background:var(--soft-fill)}.cegep-dec-choice{cursor:pointer;position:relative}.cegep-dec-choice input{opacity:0;width:1px;height:1px;position:absolute}.cegep-dec-choice:has(input:focus-visible){box-shadow:var(--focus-ring);outline:none}.cegep-dec-choice.is-on{background:var(--soft-fill);border-color:var(--line-strong)}.cegep-dec-choice.is-on .program-row-toggle{background:var(--accent);color:var(--on-accent)}@media (width>=901px) and (height<=750px){.setup-dialog>.setup-navigation{gap:12px}.setup-navigation .setup-import-card{gap:8px;padding:12px}.setup-dialog .setup-stepper ol{gap:2px}.setup-dialog .setup-stepper-item,.setup-dialog .setup-stepper-item[aria-current=step]{padding:6px 12px}}@media (width>=901px) and (height<=650px){.setup-navigation .setup-import-card p{font-size:12px;line-height:1.35}.setup-dialog .setup-stepper-item,.setup-dialog .setup-stepper-item[aria-current=step]{padding:4px 8px}.setup-dialog .setup-stepper-label{font-size:12px}}.cegep-picker{gap:18px;min-width:0;display:grid}.cegep-courses{gap:12px;min-width:0;display:grid}.cegep-courses>.field-label,.cegep-courses>.field-hint{margin:0}.cegep-courses .prior-rules legend{margin-bottom:6px}.setup-dialog .prior-study-card{min-height:72px;color:var(--text-1);grid-template-columns:20px minmax(0,1fr) 20px;align-content:center;align-items:center;gap:12px;display:grid}.prior-study-card .select-card-mark{color:var(--text-4);position:static}.prior-study-card.is-on .select-card-mark{color:var(--on-accent)}.scroll-pane{min-width:0;min-height:0;padding:var(--pane-pad);scrollbar-gutter:stable;overscroll-behavior:contain;position:relative;overflow-y:auto}.scroll-pane.is-flush{padding:0}.view-frame{grid-template-columns:var(--aside-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid}.view-frame-aside{border-right:var(--hairline) solid var(--line);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.view-frame-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.view-frame-panel-head{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 16px 12px;display:grid}.view-frame-panel-body{padding:12px 10px 24px}.view-frame-main{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.view-frame-toolbar{min-width:0;padding:14px var(--pane-pad) 0;flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.view-frame-scroll{padding-bottom:calc(var(--pane-pad) * 2)}.req-frame{background:var(--ground);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.req-overview{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;padding:18px 20px;display:grid}.req-overview-head{flex-wrap:wrap;align-items:center;gap:10px 24px;min-width:0;display:flex}.req-overview-text{flex:260px;min-width:0}.req-overview-title{color:var(--text-1);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;line-height:1.25}.req-overview-degree{color:var(--text-4);text-overflow:ellipsis;margin-top:3px;font-size:13px;line-height:1.4;overflow:hidden}.req-overview-credits{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.req-overview-number{color:var(--text-3);font-size:13px}.req-progs{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;min-width:0;display:grid}.req-prog{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--ground);min-width:0;color:var(--text-2);text-align:left;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:10px;padding:9px 12px;display:grid}.req-prog:hover{border-color:var(--line-strong);background:var(--surface)}.req-prog:focus-visible{box-shadow:var(--focus-ring)}.req-prog-text{gap:2px;min-width:0;display:grid}.req-prog-title{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden}.req-prog-meta{min-width:0;color:var(--text-4);flex-wrap:wrap;gap:0 8px;font-size:12px;display:flex}.req-prog-meta>span{overflow-wrap:anywhere;min-width:0}.req-scroll{padding-top:14px;padding-right:var(--plan-pane-pad);padding-left:var(--plan-pane-pad);padding-bottom:calc(var(--pane-pad) * 2)}.req-doc{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0;max-width:920px;margin:0 auto;padding:0 0 40px;display:grid;container:req-doc/inline-size}.req-mark{flex:none;place-items:center;width:16px;height:16px;display:inline-grid}.req-mark svg{width:16px;height:16px}.req-mark.is-met,.req-mark.is-chosen{color:var(--ok)}.req-mark.is-over{color:var(--warn)}.req-ring{flex:none;place-items:center;display:inline-grid}.req-ring svg,.req-mark svg{width:100%;height:100%}.req-disc-ring,.req-disc-arc{fill:none;stroke-width:2.2px}.req-disc-ring{stroke:var(--line-strong)}.req-disc-arc{stroke:var(--accent);stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.req-disc-fill,.req-disc-fill.is-chosen{fill:var(--ok)}.req-disc-tick{fill:none;stroke:var(--surface);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.req-ring.is-over .req-disc-arc,.req-mark.is-over .req-disc-arc{stroke:var(--warn)}.req-dot{background:var(--text-6);border-radius:999px;width:5px;height:5px}.req-counter{color:var(--text-3);white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:8px;font-size:13px;display:inline-flex}.req-warn{color:var(--warn);font-weight:500}.req-section{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);outline:none;grid-template-columns:minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.req-section:focus-visible{box-shadow:var(--focus-ring)}.req-section-head{border-bottom:var(--hairline) solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 32px;padding:18px 20px;display:grid}.req-section-title{gap:4px;min-width:0;display:grid}.req-section-title h2{color:var(--text-1);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;line-height:1.25}.req-section-meta{color:var(--text-4);flex-wrap:wrap;align-items:center;gap:2px 14px;font-size:13px;display:flex}.req-source{color:var(--text-3);font-size:13px}.req-source:hover{color:var(--text-1)}.req-section-credits{justify-content:flex-end;align-items:center;gap:12px;display:flex}.req-section-number{color:var(--text-3);white-space:nowrap;font-size:13px}.req-big{color:var(--text-1);letter-spacing:-.015em;font-size:18px}.req-solo-status{align-items:center;gap:8px;display:inline-flex}.req-tree,.req-solo,.req-body,.req-node{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.req-tree>.req-node+.req-node{border-top:var(--hairline) solid var(--line-strong);padding-top:8px}.req-tree,.req-solo{padding:6px 20px 14px}.req-head{border-radius:var(--radius-sm);width:calc(100% + 16px);min-height:38px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;column-gap:10px;margin:0 -8px;padding:7px 8px;display:grid}.req-head:hover{background:var(--row-hover)}.req-head:focus-visible{box-shadow:var(--focus-ring)}.req-name-line{align-items:baseline;gap:10px;min-width:0;display:flex}.req-name{min-width:0;color:var(--text-1);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.35}.req-node.is-top>.req-head .req-name{font-size:15px}.req-shared-indicator{min-width:0;color:var(--text-4);grid-area:2/1/auto/3;font-size:11px;line-height:1.4}.req-peek{min-width:0;color:var(--text-4);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.req-node.is-folded>.req-head .req-name{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;overflow:hidden}.req-node.is-met>.req-head .req-name,.req-node.is-folded>.req-head .req-name{color:var(--text-2)}.req-chevron{width:14px;height:14px;color:var(--text-5);transition:transform var(--motion-fast) var(--ease-standard);transform:rotate(90deg)}.req-node.is-folded>.req-head .req-chevron{transform:none}.req-body{gap:2px;padding:4px 0 12px}.req-body>.req-node,.req-prose-only>.req-node{border-top:var(--hairline) solid var(--line);margin-top:6px;margin-left:12px;padding-top:8px}.req-body>.req-rule-wrap,.req-solo>.req-rule-wrap{padding:0 0 6px}.req-body .req-rule{max-width:720px}.req-note{color:var(--text-3);padding:0 0 6px;font-size:13px}.req-note.is-muted{color:var(--text-4)}.req-foot{color:var(--text-4);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-left:-8px;padding:2px 0 4px;font-size:13px;display:flex}.req-rows{grid-template-columns:minmax(0,1fr);margin:0 -8px 4px;padding:0;list-style:none;display:grid}.req-row{border-radius:var(--radius-xs);grid-template-columns:16px 92px minmax(0,1fr) 72px 40px;grid-template-areas:"check code title seasons credits"".notes notes notes notes";align-items:center;column-gap:10px;min-width:0;min-height:34px;padding:5px 8px;display:grid}.req-row+.req-row{border-top:var(--hairline) solid var(--line-faint)}.req-row:hover{background:var(--row-hover)}.req-check{grid-area:check;display:inline-flex}.req-code,.req-title{text-align:left;background:0 0;border:0;min-width:0;padding:0}.req-code{white-space:nowrap;border-radius:var(--radius-xs);grid-area:code;justify-self:start;align-items:center;gap:6px;display:inline-flex}.req-title{color:var(--text-2);overflow-wrap:anywhere;grid-area:title;font-size:13px;line-height:1.4}.req-code:hover .code,.req-title:hover{text-decoration:underline;-webkit-text-decoration-color:var(--text-6);text-decoration-color:var(--text-6);text-underline-offset:3px}.req-code:focus-visible,.req-title:focus-visible{box-shadow:var(--focus-ring)}.req-seasons{grid-area:seasons}.req-credits{color:var(--text-3);white-space:nowrap;grid-area:credits;justify-self:end;align-items:baseline;gap:3px;font-size:12px;display:inline-flex}.req-credits-unit{color:var(--text-5);letter-spacing:.02em;font-size:10px}.req-title-wrap{flex-wrap:wrap;grid-area:title;align-items:baseline;gap:6px;min-width:0;display:flex}.req-row-remove.link-btn{color:var(--text-4);text-underline-offset:2px;font-size:12px;text-decoration:underline}.req-row-remove.link-btn:hover{color:var(--danger)}.req-row.is-elsewhere .code,.req-row.is-elsewhere .req-title{color:var(--text-3)}.req-row-tag{vertical-align:1px;margin-left:4px}.req-row.is-chosen .req-title{color:var(--text-1)}.req-row.is-dim .code,.req-row.is-dim .req-title{color:var(--text-5)}.req-notes{flex-wrap:wrap;grid-area:notes;align-items:center;gap:6px 8px;min-width:0;padding:2px 0 4px;display:flex}@container req-doc (width<=640px){.req-row{grid-template-columns:16px 88px minmax(0,1fr) auto;grid-template-areas:"check code title credits"". .seasons seasons"".notes notes notes";row-gap:2px}.req-section-head{grid-template-columns:minmax(0,1fr)}.req-section-credits{justify-items:start}}@media print{.req-progs,.req-chevron,.req-foot,.req-check{display:none!important}}.req-rule-wrap{min-width:0}.req-rule{max-width:820px;color:var(--text-4);white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:1.55}.req-rule.is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.req-rule-more{color:var(--text-2);margin-top:4px;font-size:12px}.req-seasons.is-none{position:relative}.req-seasons.is-none:after{content:"";height:var(--hairline);background:var(--text-6);position:absolute;top:50%;left:-1px;right:-1px}.req-seasons{letter-spacing:0;grid-area:seasons;justify-self:start;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.req-season.is-fall{color:var(--season-fall)}.req-season.is-winter{color:var(--season-winter)}.req-season.is-summer{color:var(--season-summer)}.req-season.is-off{color:var(--text-6)}.req-chip{white-space:normal;flex-wrap:wrap;height:auto;min-height:20px;padding:2px 6px;line-height:1.35}.req-notes>.req-chip:first-child{margin-left:-6px}.req-chip-code{white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:inline-flex}.req-chip-or{font-weight:400}.req-chip-btn{color:inherit;font-size:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:500}.req-chip-btn:hover{text-decoration-color:currentColor}.req-chip-btn:focus-visible{box-shadow:var(--focus-ring)}.req-credits.is-uncounted{color:var(--text-5);text-decoration:line-through}.req-section-rules{grid-column:1/-1;gap:2px;display:grid}.req-why{border:var(--hairline) solid var(--text-5);background:var(--soft-fill);width:18px;height:18px;color:var(--text-1);vertical-align:middle;cursor:pointer;border-radius:999px;flex:none;place-items:center;margin-left:6px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.req-why:hover{border-color:var(--text-3);color:var(--text-1)}.req-why:focus-visible{box-shadow:var(--focus-ring);outline:none}.req-met-mark{flex:none;align-self:center}.req-prog-title .req-met-mark{vertical-align:middle;margin-left:7px;display:inline-grid}.req-prose-only{gap:6px;padding:10px 0}.req-prose-only>.req-rule-wrap,.req-prose-only>.req-note{padding-bottom:0}.req-description-toggle{cursor:pointer;align-items:baseline;gap:8px;min-width:0;list-style:none;display:flex}.req-description-toggle::-webkit-details-marker{display:none}.req-description-label{color:var(--text-4);white-space:nowrap;flex:none;font-size:13px;line-height:1.55;text-decoration:none}.req-description-less,.req-description[open] .req-description-more{display:none}.req-description[open] .req-description-less{margin-left:8px;display:inline}.req-description-toggle .req-rule{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:none;display:block;overflow:hidden}.req-description[open]>.req-description-toggle{display:block}.req-description[open]>.req-description-toggle .req-rule{white-space:pre-line;overflow-wrap:anywhere;display:inline;overflow:visible}.req-description-toggle:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}.req-description-box{min-width:0;position:relative}.req-description-measure.req-rule{visibility:hidden;pointer-events:none;white-space:pre-line;width:100%;max-width:none;display:block;position:absolute;inset:0 auto auto 0}.req-description-single.req-rule{white-space:nowrap;text-overflow:ellipsis;max-width:none;display:block;overflow:hidden}.req-program-blocks{outline:none;gap:16px;min-width:0;display:grid}.req-program-blocks+.req-program-blocks{margin-top:8px;padding-top:12px}.req-block-body{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:16px 20px 20px;display:grid}.req-card-path{color:var(--text-4);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.req-block-title{align-items:center;gap:9px;display:flex}.req-course-card .req-section-head{align-items:start}.req-course-card .req-section-head>.req-counter{white-space:normal;flex-wrap:wrap;justify-content:flex-end;padding-top:4px}.req-parent-context{display:contents}@media (width<=760px){.req-block-body{padding:14px 16px 16px}}.req-frame.req-context-layout{padding:14px var(--plan-pane-pad) var(--plan-pane-pad);grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:0}.req-context-layout>.req-scroll{padding:0 0 var(--pane-pad)}.req-program-context{align-self:start;min-width:0}.req-program-stack{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.req-program-context{overscroll-behavior:none;max-height:100%;overflow:hidden}.req-floating-program{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);align-content:start;gap:22px;min-width:0;padding:20px;display:grid}.req-floating-program-head{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:start;gap:12px;width:100%;padding:0;display:flex}.req-floating-program-head .req-program-title{min-width:0;color:var(--text-1);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:19px;font-weight:500;line-height:1.35}.req-floating-program-head .req-ring{flex:none}.req-floating-program-credits{color:var(--text-4);font-size:13px}.req-floating-program-credits strong{color:var(--text-1);font-size:26px;font-weight:500}@media (width<=760px){.req-frame.req-context-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:12px}.req-floating-program{gap:10px;padding:14px 16px}}@media (prefers-reduced-motion:reduce){.req-floating-program{transition:none}}.req-floating-program.is-collapsed{padding:12px 14px}.req-floating-program.is-collapsed .req-program-title{white-space:normal;font-size:13px;line-height:1.4}.req-floating-program.is-expanded{border-color:var(--line-strong)}.req-floating-program-head:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}@media (width>=761px) and (width<=1100px){.req-frame.req-context-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:0}.req-floating-program{padding:16px}}@media (width<=760px){.req-frame.req-context-layout{grid-template-rows:auto minmax(0,1fr)}.req-program-context{max-height:28dvh}}.req-floating-program{transition:padding .22s var(--ease-standard), border-color .18s ease;gap:0}.req-program-title{transition:font-size .22s var(--ease-standard), color .18s ease}.req-program-progress{flex:none;display:inline-flex}.req-program-details{opacity:0;transition:grid-template-rows .24s var(--ease-standard), opacity .18s ease, transform .24s var(--ease-standard);grid-template-rows:0fr;display:grid;transform:translateY(-4px)}.is-expanded .req-program-details{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.req-program-details-inner{min-height:0;overflow:hidden}.req-program-details-inner .req-floating-program-credits{padding-top:14px}@media (prefers-reduced-motion:reduce){.req-floating-program,.req-program-title,.req-program-progress,.req-program-details{transition:none;transform:none}}.req-program-stack .req-floating-program{border-color:var(--line);padding:14px 16px}.req-program-stack .req-floating-program.is-collapsed{padding:12px 16px}.req-program-stack .req-program-title{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.4}.req-program-stack .is-collapsed .req-program-title{font-size:16px}.req-program-stack .req-floating-program-credits{align-items:center;gap:10px;font-size:12px;display:flex}.req-program-stack .req-floating-program-credits strong{font-size:22px}.req-program-stack .req-floating-program-head:hover .req-program-title{color:var(--text-2)}.req-program-groups{border-top:var(--hairline) solid var(--line);gap:4px;margin-top:14px;padding-top:12px;display:grid}.req-program-group{border-radius:var(--radius-sm);text-align:left;color:var(--text-1);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:9px 10px;display:flex}.req-program-group:hover{background:var(--soft-fill)}.req-program-group:focus-visible{box-shadow:var(--focus-ring);outline:none}.req-program-group-name{overflow-wrap:anywhere;align-items:center;gap:7px;font-size:14px;line-height:1.4;display:inline-flex}.req-program-group-count{color:var(--text-4);font-size:12px}.req-prerequisite-warning{vertical-align:middle;flex:none;display:inline-flex}.req-program-title>.req-prerequisite-warning{margin-left:7px}@media (width<=760px){.req-context-layout>.req-program-context{grid-row:1}.req-context-layout>.req-scroll{grid-row:2}}.req-context-layout .req-doc{padding-bottom:var(--req-scroll-tail,40px)}.req-context-layout>.req-program-context{grid-template-rows:auto minmax(0,1fr);align-self:stretch;gap:16px;height:100%;min-height:0;display:grid}.req-degree-summary{box-sizing:border-box;border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);height:50px;color:var(--text-1);white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:15px;line-height:1.4;display:flex}.req-degree-summary strong{font-size:20px;font-weight:600}.req-program-follow{overscroll-behavior:none;min-height:0;overflow-y:auto}.req-program-details-inner>.meter{width:112px;max-width:100%;height:7px;margin-top:10px}.req-program-groups{border-top:0;gap:10px;padding-top:0}@media (width<=760px){.req-context-layout>.req-program-context{height:auto;max-height:32dvh}}.req-frame.is-resuming .req-floating-program,.req-frame.is-resuming .req-program-title,.req-frame.is-resuming .req-program-details{transition:none}.req-program-details-inner .req-floating-program-credits{text-align:right;justify-content:flex-end}.req-program-details-inner>.meter{margin-left:auto}.req-program-card-top{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.is-expanded>.req-program-card-top{grid-template-columns:minmax(0,1fr) 112px}.req-program-stack .is-expanded .req-program-title{font-size:20px;line-height:1.35}.req-program-summary{text-align:right;gap:5px;display:grid}.is-collapsed .req-program-summary{display:none}.req-program-stack .req-program-summary .req-floating-program-credits{justify-content:flex-end;margin:0;padding:0}.req-program-summary>.meter{width:112px;max-width:100%;height:7px;margin:0}.req-program-details-inner .req-program-groups{margin-top:12px}.req-block-body>*{min-width:0}.req-description-box,.req-description{width:100%;min-width:0;max-width:100%}.req-description-single.req-rule{max-width:100%}.req-program-blocks>.req-program-divider{box-sizing:border-box;border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:45px;color:var(--text-1);align-items:center;padding:9px 18px;display:flex}.req-program-heading{align-items:baseline;gap:9px;min-width:0;display:flex}.req-program-divider>.req-program-heading,.req-description-card .req-section-title>.req-program-heading{font-family:var(--font);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:500;line-height:1.35}.req-program-heading:before{content:"";background:#000;border-radius:50%;flex:0 0 6px;align-self:flex-start;width:6px;height:6px;margin-top:.5em}@keyframes req-revealed-inset{0%,35%{outline-color:var(--accent);box-shadow:inset 0 0 0 6px color-mix(in srgb, var(--accent) 12%, transparent)}to{outline-color:#0000;box-shadow:inset 0 0 #0000}}.req-frame .is-revealed{outline-offset:-2px;animation:req-revealed-inset 1.8s var(--ease-standard);outline:2px solid #0000}.req-frame .req-section.is-revealed{border-radius:var(--radius-card)}.req-program-blocks>.req-program-divider{padding:0;display:block}.req-program-title-row{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;min-height:50px;padding:9px 18px;display:flex}.req-program-title-row>.req-program-heading{font-family:var(--font);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:500;line-height:1.35}.req-program-description{border-top:var(--hairline) solid var(--line);color:var(--text-4);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 18px;font-size:13px;line-height:1.5;display:grid}.req-program-description-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.req-program-description-full p{white-space:pre-line;margin:0 0 12px}.req-program-description-full p:last-child{margin-bottom:0}.req-program-description>.link-btn{white-space:nowrap;font-size:13px}.req-program-title-row{min-height:50px;padding:9px 18px}.req-program-title-row .req-source{flex:none}.req-program-description{display:block;position:relative}.req-program-description-preview{margin:0;display:block;overflow:visible}.req-program-description-preview .link-btn{font:inherit;white-space:nowrap;padding:0;display:inline}.req-program-description-probe{visibility:hidden;pointer-events:none;font:inherit;line-height:inherit;white-space:normal;overflow-wrap:normal;position:absolute;top:0;left:0}.req-description-measure-box{visibility:hidden;pointer-events:none;height:0;position:absolute;inset:0 0 auto;overflow:hidden}.req-description-box>.req-rule,.req-description-measure-box>.req-rule{max-width:none}.req-description-box .req-rule a,.req-overview-body a,.req-note a{color:inherit;text-underline-offset:2px;text-decoration:underline}.req-description-box .req-rule a:focus-visible,.req-overview-body a:focus-visible,.req-note a:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.req-description-box>.req-rule-more{padding:0;display:inline}.req-text-only{color:var(--text-4);font-size:13px;line-height:1.55;position:relative}.req-text-only-content{min-width:0}.req-text-only.is-collapsed .req-text-only-content{max-height:3.1em;overflow:hidden}.req-text-only.is-collapsed .req-rule,.req-text-only.is-collapsed .req-note{line-height:inherit;white-space:normal;margin:0}.req-text-only.is-collapsed .req-rule-wrap,.req-text-only.is-collapsed .req-rule,.req-text-only.is-collapsed .req-note{display:inline}.req-text-only.is-collapsed .req-rule:after,.req-text-only.is-collapsed .req-note:after{content:" "}.req-text-only-more{color:var(--text-2);font-size:12px;line-height:20.15px}.req-text-only.is-collapsed>.req-text-only-more{background:linear-gradient(to right, transparent, var(--surface) 16px);padding:0 0 0 20px;position:absolute;bottom:0;right:0}.req-overview{border-top:var(--hairline) solid var(--line);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;padding:12px 18px 14px;display:grid}.req-program-divider>.req-overview{border:0;border-top:var(--hairline) solid var(--line);border-radius:0 0 var(--radius-card) var(--radius-card)}.req-overview-toggle{width:14px;height:20px;color:var(--text-4);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}span.req-overview-toggle{cursor:default}.req-overview-toggle:hover{color:var(--text-1)}.req-overview-toggle:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}.req-overview-caret{width:0;height:0;transition:transform .12s var(--ease-standard);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid}.req-overview-toggle[aria-expanded=true] .req-overview-caret{transform:rotate(90deg)}.req-overview-frame{min-width:0;position:relative}.req-overview-body{color:var(--text-4);overflow-wrap:anywhere;font-size:13px;line-height:1.55}.req-overview-body p,.req-overview-body ul{white-space:pre-line;margin:0 0 8px}.req-overview-body ul{padding-left:18px}.req-overview-body>:last-child{margin-bottom:0}.req-overview-heading{color:var(--text-2);font-weight:500}.req-overview-body.is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.req-overview-body.is-clamped>*,.req-overview-body.is-clamped li{white-space:normal;margin:0;padding:0;display:inline}.req-overview-body.is-clamped>:after,.req-overview-body.is-clamped li:after{content:" "}.req-program-card>.req-section-head{gap:8px 32px;padding:18px 20px}.req-program-card>.req-section-head h2{font-family:var(--font);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:400;line-height:1.25}.req-program-card>.req-tree{padding:6px 20px 14px}.req-program-card .req-body[hidden]{display:none}.req-program-card .req-head{cursor:pointer}.req-program-card .req-head>.req-counter{white-space:normal;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.req-program-card .req-node.is-top>.req-head{min-height:38px}.req-program-card .req-node.is-top>.req-head .req-name{font-size:15px}.req-program-card .req-body{padding:0 0 10px 26px}.req-program-card .req-body>.req-node{border-top:0;margin-top:0;margin-left:0;padding-top:0}.req-program-card .req-tree>.req-node+.req-node{border-top:var(--hairline) solid var(--line-faint);padding-top:0}.req-program-card .req-body>.req-rows{margin-top:6px}@container req-doc (width<=520px){.req-program-card .req-head{grid-template-columns:minmax(0,1fr) 14px;row-gap:4px}.req-program-card .req-head>.req-counter{grid-area:2/1;justify-content:flex-start}.req-program-card .req-head>.req-chevron{grid-area:1/2}.req-program-card .req-head>span:empty{display:none}}.req-program-card .req-name{font-family:var(--font);font-size:14px;font-weight:500;line-height:1.35}.req-program-group-name{font-family:var(--font);font-weight:400}.req-program-card .req-head{grid-template-columns:16px minmax(0,1fr) auto}.req-program-card .req-head>.req-chevron{color:var(--text-3);grid-area:1/1}.req-program-card .req-head>.req-name-line{grid-area:1/2}.req-program-card .req-head>.req-counter{grid-area:1/3}@container req-doc (width<=520px){.req-program-card .req-head{grid-template-columns:16px minmax(0,1fr)}.req-program-card .req-head>.req-counter{grid-area:2/2;justify-content:flex-start}}.req-program-card>.req-section-head{grid-template-columns:minmax(0,1fr)}.req-program-card .req-section-title{gap:6px}.req-program-card .req-section-title>.req-source{justify-self:start}.req-program-card>.req-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.req-program-card-credits{color:var(--text-3);white-space:nowrap;padding-top:5px;font-size:13px;line-height:1.4}.req-frame.req-context-layout{grid-template-columns:minmax(246px,1.17fr) minmax(0,3fr);grid-template-areas:"directory content";column-gap:16px}.req-context-layout>.req-program-context{grid-area:directory}.req-context-layout>.req-scroll{grid-area:content}.req-program-context .req-degree-summary{gap:8px;padding:0 14px;font-size:13px}.req-program-context .req-degree-summary strong{font-size:18px}.req-program-context .req-floating-program{padding:14px}.req-program-context .is-expanded>.req-program-card-top{grid-template-columns:minmax(0,1fr) auto;gap:10px}.req-program-context .req-program-stack .is-expanded .req-program-title{font-size:16px;line-height:1.4}.req-program-context .req-floating-program-credits strong{font-size:18px}@media (width<=760px){.req-frame.req-context-layout{grid-template:"directory""content"minmax(0,1fr)/minmax(0,1fr);gap:12px}}.req-context-layout .req-doc{max-width:none;margin:0}.req-program-context .req-program-stack .req-program-title{font-family:var(--font);letter-spacing:-.02em;font-size:20px;font-weight:400;line-height:1.25}.req-program-context .req-program-stack .req-floating-program-credits,.req-program-context .req-program-stack .req-floating-program-credits strong{color:var(--text-3);font-size:13px;font-weight:400;line-height:1.4}.req-program-context .req-program-summary{padding-top:4px}.req-program-context .req-program-details-inner .req-program-groups{border-top:var(--hairline) solid var(--line-faint);gap:0;margin-top:14px;padding-top:8px}.req-sidebar-node{min-width:0}.req-program-groups>.req-sidebar-node+.req-sidebar-node{border-top:var(--hairline) solid var(--line-faint)}.req-sidebar-node>.req-program-group{border-radius:4px;align-items:baseline;gap:4px 10px;width:100%;min-height:38px;padding:8px 0}.req-sidebar-children{gap:0;margin-left:16px;padding-bottom:6px;display:grid}.req-program-context .req-sidebar-node .req-program-group-name{font-family:var(--font);font-size:14px;font-weight:500;line-height:1.35}.req-program-context .req-sidebar-node.is-top>.req-program-group .req-program-group-name{font-size:15px}.req-sidebar-node .req-program-group-count{flex-shrink:0;font-size:12px}.req-context-layout>.req-scroll{scrollbar-width:none;scrollbar-gutter:auto}.req-context-layout>.req-scroll::-webkit-scrollbar{display:none}.req-scroll-rail{background:0 0;align-self:stretch;min-height:0;padding:0 6px}.req-scroll-track{touch-action:none;cursor:pointer;border-radius:99px;height:100%;min-height:0;position:relative}.req-scroll-track:focus-visible{box-shadow:var(--focus-ring);outline:none}.req-scroll-thumb{background:var(--text-4);opacity:0;cursor:grab;border-radius:99px;width:100%;transition:opacity .22s;position:absolute;top:0;left:0}.req-scroll-rail.is-active .req-scroll-thumb,.req-scroll-rail:hover .req-scroll-thumb,.req-scroll-rail:focus-within .req-scroll-thumb{opacity:.55}.req-scroll-track:active .req-scroll-thumb{opacity:.8;cursor:grabbing}@media (prefers-reduced-motion:reduce){.req-scroll-thumb{transition:none}}@media (width<=760px){.req-frame.req-context-layout{grid-template-columns:minmax(0,1fr)}.req-scroll-rail{display:none}}@media (width>=761px){.req-frame.req-context-layout{grid-template-columns:minmax(246px,1.17fr) 16px minmax(0,3fr) 19px;grid-template-areas:"directory.content scrollbar";column-gap:0}.req-context-layout>.req-scroll-rail{grid-area:scrollbar}.req-frame.req-context-layout{grid-template-columns:minmax(246px,1.17fr) 16px minmax(0,3fr) 13px;padding-right:3px}.req-context-layout>.req-scroll-rail{padding-right:0}}.req-program-context .req-program-stack .req-program-directory-card{text-align:left;cursor:pointer;grid-template-rows:minmax(0,1fr) auto;gap:5px;width:100%;height:88px;padding:12px 14px;transition:background .16s;display:grid}.req-directory-title-row{align-items:start;gap:8px;min-width:0;display:flex}.req-directory-title{font-family:var(--font);color:var(--text-1);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:16px;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}.req-directory-warning{color:var(--danger);flex:none}.req-directory-credits{color:var(--text-3);font-size:12px;line-height:1.4}.req-program-directory-card:hover{background:var(--surface-float)}.req-program-directory-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.req-program-context .req-program-stack .req-program-directory-card{padding:0;position:relative}.req-directory-open{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;gap:5px;width:100%;padding:12px 14px;display:grid;position:absolute;inset:0}.req-directory-open .req-directory-title-row{padding-right:24px}.req-directory-warning{position:absolute;top:11px;right:12px}.req-directory-open:focus-visible{box-shadow:var(--focus-ring);outline:none}.viewbody:has(.sem-board){max-width:none}.sem{min-width:0}@media (width>=1100px){.sem{display:contents}}.sem-tray{min-width:0;transition:box-shadow var(--motion-fast) var(--ease-standard)}.sem-tray.is-over{box-shadow:inset 0 0 0 1.5px var(--line-strong)}.sem-tray-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.sem-tray-title h2{color:var(--text-1);white-space:nowrap;font-size:14px;font-weight:500}.sem-tray-empty{color:var(--text-4);justify-items:start;gap:8px;margin:0;padding:18px 14px 6px;font-size:13px;display:grid}.sem-tier{grid-template-columns:minmax(0,1fr);padding:8px 6px 0;display:grid}.sem-tier-head{color:var(--text-2);align-items:baseline;gap:6px;margin:0;padding:6px 8px 2px;font-size:12px;font-weight:500;display:flex}.sem-tier.is-waiting{border-top:var(--hairline) solid var(--line-faint);margin-top:6px}.sem-tier.is-waiting .sem-tier-head{color:var(--text-4)}.sem-group{grid-template-columns:minmax(0,1fr);display:grid}.sem-group-head{color:var(--text-5);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:8px 8px 2px;font-size:12px;font-weight:500;overflow:hidden}.sem-rows{grid-template-columns:minmax(0,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.sem-row{border-radius:var(--radius-sm);min-width:0;min-height:36px;transition:background-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);align-items:center;gap:2px;padding:0 2px 0 4px;display:flex}.sem-row:hover{background:var(--soft-fill)}.sem-row[draggable=true]{cursor:grab}.sem-row.is-dragging{opacity:.45}.sem-grip{width:13px;height:13px;color:var(--text-6);flex:none}.sem-row:hover .sem-grip{color:var(--text-4)}.sem-row-main{border-radius:var(--radius-xs);min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:auto;grid-template-columns:minmax(0,1fr);padding:4px;display:grid}.sem-row-line{align-items:baseline;gap:6px;min-width:0;display:flex}.sem-row-code{color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:500}.sem-row-credits{color:var(--text-5);white-space:nowrap;font-size:12px}.sem-row-after{color:var(--text-5);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}.sem-row.is-waiting .sem-row-code{color:var(--text-4)}.sem-row.is-waiting .sem-seasons{opacity:.7}.sem-seasons{flex:none;gap:1px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.sem-season{width:14px;color:var(--text-6);text-align:center}.sem-season-fall.is-on{color:var(--season-fall)}.sem-season-winter.is-on{color:var(--season-winter)}.sem-season-summer.is-on{color:var(--season-summer)}.sem-move{width:24px;height:24px}.sem-move svg{width:14px;height:14px}@media (hover:hover) and (pointer:fine){.sem-row .sem-move,.sem-chip .sem-move{opacity:0}.sem-row:hover .sem-move,.sem-row:focus-within .sem-move,.sem-chip:hover .sem-move,.sem-chip:focus-within .sem-move,.sem-move[data-popup-open]{opacity:1}}.sem-tray-drop{border:var(--hairline) dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--text-4);text-align:center;margin:10px 12px 0;padding:12px;font-size:12px}.sem-tray.is-over .sem-tray-drop{border-color:var(--line-strong);color:var(--text-2)}.sem-board-wrap{grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;display:grid}.sem-board{grid-template-columns:minmax(0,1fr);gap:28px;min-width:0;display:grid;position:relative;container-type:inline-size}.sem-year{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.sem-year-head{border-bottom:var(--hairline) solid var(--line);color:var(--text-3);margin:0;padding:0 2px 8px;font-size:12px;font-weight:500}.sem-links{z-index:var(--z-local);pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.sem-link path{fill:none;stroke:var(--line-strong);stroke-width:1.25px;stroke-linecap:round}.sem-link circle{fill:var(--line-strong)}.sem-link.is-up path{stroke:var(--text-3);stroke-width:2px}.sem-link.is-up circle{fill:var(--text-3)}.sem-link.is-down path{stroke:var(--text-3);stroke-width:2px}.sem-link.is-down circle{fill:var(--text-3)}.sem-link.is-late path{stroke:var(--attention);stroke-dasharray:4 3}.sem-link.is-late circle{fill:var(--attention)}.sem-link.is-dim{opacity:.12}.sem-board.is-dragging .sem-links{opacity:.4}.sem-strip{min-width:0;min-height:60px;transition:box-shadow var(--motion-fast) var(--ease-standard);grid-template-columns:216px minmax(0,1fr);display:grid;position:relative;container:sem-strip/inline-size}.sem-strip+.sem-strip{border-top:var(--hairline) solid var(--line-faint)}.sem-strip-head{z-index:var(--z-local);grid-template-columns:minmax(0,1fr);align-content:start;gap:3px;min-width:0;padding:10px 12px 10px 2px;display:grid;position:relative}.sem-strip-top{justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.sem-strip-title{flex:auto;align-items:center;gap:7px;min-width:0;min-height:26px;display:flex}.sem-strip-title h4{min-width:0;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0;font-size:14px;font-weight:500;overflow:hidden}.sem-strip-name-short,.sem-strip-head.is-short-name .sem-strip-name-full{display:none}.sem-strip-head.is-short-name .sem-strip-name-short{display:inline}.sem-strip-name-probe{visibility:hidden;pointer-events:none;white-space:nowrap;position:absolute}.sem-strip-title .tag{flex:none}.sem-strip-menu{width:26px;height:26px;margin-left:auto}.sem-strip-meta{color:var(--text-4);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:12px;display:flex}.sem-strip-reason{justify-self:start;margin-top:2px}.sem-strip-body{grid-template-columns:minmax(0,1fr);align-content:center;gap:8px;min-width:0;padding:10px 2px 10px 12px;display:grid}.sem-strip.is-prior .sem-strip-title h4{color:var(--text-2)}.sem-strip.fit-ok{background:color-mix(in srgb, var(--text-1) 3%, var(--surface))}.sem-strip.fit-warn{background:color-mix(in srgb, var(--warn) 6%, var(--surface))}.sem-strip.is-over.fit-ok{background:color-mix(in srgb, var(--text-1) 8%, var(--surface))}.sem-strip.is-over.fit-warn{background:color-mix(in srgb, var(--warn) 14%, var(--surface))}.sem-strip.fit-closed,.sem-strip.is-over.fit-closed{background:repeating-linear-gradient(-45deg, var(--surface) 0 7px, color-mix(in srgb, var(--text-5) 9%, var(--surface)) 7px 9px)}.sem-strip.fit-closed .sem-strip-title h4{color:var(--text-5)}.sem-strip.is-over.fit-closed{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent)}.sem-chips{flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.sem-drop-hint{border-radius:var(--radius-sm);width:100%;max-width:260px;min-height:30px;color:var(--text-6);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin:0;padding:0 12px;font-size:12px;display:flex}.sem-drop-word{display:none}.sem-strip:hover .sem-drop-hint,.sem-drop-hint:hover{background:var(--soft-fill);color:var(--text-4)}.sem-strip.is-over .sem-drop-hint{background:var(--soft-fill);color:var(--text-2)}.sem-strip.is-over .sem-drop-word{display:inline}.sem-strip.is-compact{min-height:0}.sem-strip.is-compact .sem-strip-head,.sem-strip.is-compact .sem-strip-body{padding-block:6px}.sem-strip.is-compact .sem-drop-hint{border-color:var(--line-faint);min-height:26px}.sem-away-note{margin:0;font-size:12px;line-height:1.4}.sem-chip{z-index:var(--z-local);border-radius:var(--radius-sm);background:linear-gradient(var(--soft-fill), var(--soft-fill)), var(--surface);max-width:100%;height:32px;transition:opacity var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);align-items:center;display:inline-flex;position:relative}.sem-chip[draggable=true]{cursor:grab}.sem-chip-main{border-radius:inherit;min-width:0;height:100%;color:var(--text-1);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.sem-chip-code{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.sem-chip-credits{border-left:var(--hairline) solid var(--line);color:var(--text-4);margin-left:-1px;padding-left:7px;font-size:11px;line-height:1}.issue-badge{flex:none;width:14px;height:14px}.issue-badge-disc{fill:currentColor}.issue-badge-glyph{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}rect.issue-badge-glyph{stroke-width:1.35px}.issue-badge-dot{fill:#fff}.issue-badge.is-danger{color:var(--attention)}.issue-badge.is-warn{color:var(--warn)}.issue-badge.is-notice{color:var(--text-5)}.issue-badge.is-ok{color:var(--ok)}.issue-tag{align-items:center;gap:5px;display:inline-flex}.issue-tag .issue-badge{width:13px;height:13px}.sem-chip .sem-move{width:22px;height:22px}.sem-chip-grip{color:var(--text-4);opacity:.5;cursor:grab;align-items:center;margin-left:-2px;margin-right:-1px;display:inline-flex}.sem-chip-grip svg{width:12px;height:12px}.sem-chip:hover .sem-chip-grip,.sem-chip:focus-within .sem-chip-grip{opacity:.9;color:var(--text-2)}.sem-chip{position:relative;overflow:visible}.sem-chip-mark-slot{z-index:1;pointer-events:none;flex:none;justify-content:center;align-items:center;width:15px;height:15px;margin-left:auto;transition:transform .22s cubic-bezier(.16,1,.3,1),filter .22s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;transform:translate(0)}.sem-chip-mark-slot.is-shifted{z-index:2;transform:translate(6px)}.sem-chip-mark-slot .issue-badge{width:14px;height:14px;transition:filter .22s cubic-bezier(.16,1,.3,1)}.sem-chip-mark-slot.is-shifted .issue-badge{filter:drop-shadow(0 1px 2px #00000038)}.sem-chip.is-blocked{background:linear-gradient(var(--attention-soft), var(--attention-soft)), var(--surface)}.sem-chip-elsewhere{background:var(--info);border-radius:999px;flex:none;width:6px;height:6px}.sem-chip.is-dragging{opacity:.4}.sem-chip.is-active,.sem-row.is-active,.sem-row.is-related{box-shadow:inset 0 0 0 1.5px var(--text-1)}.sem-chip.is-upstream,.sem-chip.is-downstream{box-shadow:inset 0 0 0 1.5px var(--text-3)}.sem.has-active .sem-chip:not(.is-active):not(.is-related),.sem.has-active .sem-row:not(.is-active):not(.is-related){opacity:.4}.popover.chip-card{width:min(294px,100vw - 24px);max-width:min(294px,100vw - 24px);padding:0}.chip-card-body{display:grid}.chip-card-head{align-items:flex-start;gap:6px;padding:12px 8px 6px 14px;display:flex}.chip-card-name{flex:1;gap:2px;min-width:0;display:grid}.chip-card-name p{margin:0}.chip-card-title{color:var(--text-1);font-size:14px;font-weight:600;line-height:1.35}.chip-card-code{color:var(--text-2);font-size:13px;font-weight:500}.chip-card-code span{color:var(--text-4);margin-left:4px;font-size:12px;font-weight:400}.chip-card-actions{gap:0;margin-top:-3px;display:flex}.chip-card-notes{gap:2px;padding:0 14px 8px;display:grid}.chip-card-sub{color:var(--text-4);margin:0;font-size:12px;line-height:1.45}.chip-card-link{color:var(--text-3);text-decoration:none}.chip-card-link:hover{color:var(--text-1);text-underline-offset:2px;text-decoration:underline}.chip-card-issues{flex-wrap:wrap;gap:4px;padding:0 14px 10px;display:flex}.chip-card-issues .tag{white-space:normal;height:auto;min-height:18px;padding-block:2px;line-height:1.35}.chip-card-issues .issue-badge{flex:none;align-self:flex-start;margin-top:1px}.chip-card-move{border-top:var(--hairline) solid var(--line-faint);gap:6px;padding:10px 14px 12px;display:grid}.chip-card-label{color:var(--text-4);margin:0;font-size:12px}.chip-card-grid{border:0;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;margin:0;padding:0;display:grid}.chip-card-cell{border-radius:var(--radius-sm);background:var(--soft-fill);height:26px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:1px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.chip-card-season{font-weight:600}.chip-card-season.is-fall{color:var(--season-fall)}.chip-card-season.is-winter{color:var(--season-winter)}.chip-card-season.is-summer{color:var(--season-summer)}.chip-card-cell:hover{background:var(--soft-fill-hover);color:var(--text-1)}.chip-card-cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.chip-card-cell.is-current{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--text-1);color:var(--text-1);cursor:default}.chip-card-cell.is-closed{box-shadow:inset 0 0 0 1px var(--line);color:var(--text-5);background:0 0}.chip-card-cell.is-closed .chip-card-season{opacity:.5}.chip-card-cell.is-closed:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 60%, var(--line));color:var(--text-3)}.chip-card-cell.is-empty{cursor:default;background:0 0}.chip-card-year{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.chip-card-move-actions{gap:4px;margin-bottom:2px;display:flex}.chip-card-move-actions>.chip-card-cell{flex:1}.chip-card-move-actions>.chip-card-prior{flex:2}.chip-card-more{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}@container (width<=700px){.sem-strip{grid-template-columns:minmax(0,1fr)}.sem-strip-head{border-bottom:0;border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:6px 6px 6px 12px}.sem-strip-reason{grid-column:1/-1;margin:0 0 2px}.sem-strip-body{padding:8px 10px}.sem-drop-hint{max-width:none}}.sem-chip-step{border-radius:4px;flex:none;margin-left:4px;padding:0 4px;font-size:11px;font-weight:600;line-height:16px}.sem-chip-step.is-up,.sem-chip-step.is-down{background:var(--soft-fill-hover);color:var(--text-2)}.sem-visibility-popover{width:260px;max-width:calc(100vw - 32px);padding:14px}.sem-visibility-tools{border-bottom:var(--hairline) solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.sem-visibility-list{gap:10px;max-height:min(420px,60dvh);padding-top:12px;display:grid;overflow-y:auto}.sem-visibility-option{cursor:pointer;align-items:center;gap:10px;font-size:13px;display:flex}.sem.is-deck .sem-board{justify-content:start}.dialog.sem-visibility-dialog{width:min(480px,100vw - 32px);max-height:85dvh}.sem-visibility-dialog .sem-visibility-list{max-height:min(420px,50dvh)}.sem-schedule-notice{top:max(6px, env(safe-area-inset-top));z-index:var(--z-toast);box-sizing:border-box;border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);width:max-content;max-width:min(480px,100vw - 24px);min-height:40px;color:var(--text-2);align-items:center;gap:8px;padding:4px 28px 4px 10px;font-size:13px;line-height:1.4;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.sem-schedule-notice>.issue-badge{flex:none;width:18px;height:18px}.sem-schedule-notice>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.sem-schedule-notice>.icon-btn{width:20px;height:20px;padding:3px;position:absolute;top:3px;right:3px}.sem-schedule-notice>.icon-btn>svg{width:12px;height:12px}.sem-schedule-feedback{color:var(--text-3);align-items:flex-start;gap:8px;margin-top:10px;font-size:13px;display:flex}.sem-schedule-feedback>svg{width:24px;height:24px;color:var(--warn);flex:none}.sem-schedule-feedback summary{cursor:pointer}.sem-schedule-feedback p{max-width:600px;margin:8px 0 0}.sem-tl-head:has(.sem-schedule-feedback){flex-wrap:wrap}.sem-tl-head>.sem-schedule-feedback{border-top:var(--hairline) solid var(--line-faint);flex:1 0 100%;order:1;min-width:0;padding-top:8px}.sem-schedule-feedback>div{min-width:0}.plan-pages{--plan-pane-pad:16px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.plan-page{grid-area:1/1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.plan-page[hidden]{display:none}.plan-terms{background:var(--ground)}.plan-tabs{border-radius:var(--radius-button,10px);background:var(--soft-fill);gap:2px;padding:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.plan-tab{border-radius:calc(var(--radius-button,10px) - 3px);min-height:30px;color:var(--text-3);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;align-items:baseline;gap:7px;padding:5px 12px;font-size:13px;font-weight:500;display:flex}.plan-tab:hover{color:var(--text-1)}.plan-tab[aria-current=page]{background:var(--surface);color:var(--text-1);box-shadow:var(--shadow-card)}.plan-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.plan-tab-meta{color:var(--text-4);font-size:12px;font-weight:400}.plan-tab-meta.has-problem{color:var(--attention)}.plan-waiting{border-bottom:var(--hairline) solid var(--line);background:var(--warn-soft);padding:12px 14px;display:block}.plan-waiting-head{color:var(--text-2);font-size:12px;font-weight:500}.plan-waiting-list{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.plan-waiting-list>li{align-items:center;gap:2px;display:inline-flex}.plan-waiting-edit{width:24px;height:24px;color:var(--text-4)}.plan-waiting-edit svg{width:14px;height:14px}.plan-waiting-chip{border:var(--hairline) solid var(--line);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-2);align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.plan-waiting-chip:hover{border-color:var(--line-strong)}.sem-toolcard{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 10px;display:flex}.sem-toolcard-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.sem-toolcard-actions .btn,.feedback-button{gap:6px;font-size:13px;font-weight:500}.sem-toolcard-actions .btn svg,.feedback-button svg{width:13px;height:13px}.sem-toolcard-actions .btn[aria-pressed=true]{background:var(--soft-fill-hover);color:var(--text-1)}.sem-unplaced{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);transition:border-color var(--motion-fast) var(--ease-standard);gap:10px;margin-bottom:10px;padding:10px 12px 12px;display:grid}.sem-unplaced.is-over{border-color:var(--accent-line)}.sem-unplaced-head{justify-content:space-between;align-items:center;gap:8px;min-height:26px;display:flex}.sem-unplaced-title{align-items:center;gap:8px;min-width:0;display:flex}.sem-unplaced-title h4{min-width:0;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0;font-size:14px;font-weight:600;overflow:hidden}.sem-unplaced-meta{min-width:0;color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sem-unplaced-box .sem-unplaced-title,.sem-unplaced-box .sem-unplaced-title h4{flex:none}.sem-unplaced.is-empty .sem-unplaced-title h4{color:var(--text-4)}.sem-unplaced-list{margin:0}.sem.is-deck{grid-template-columns:var(--card-w,180px) minmax(0, 1fr);min-width:0;min-height:0;padding:14px var(--plan-pane-pad) var(--plan-pane-pad);grid-template-rows:minmax(0,1fr);gap:10px;display:grid}.sem-side{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;min-height:0;padding:9px 10px 10px;display:flex;overflow-y:auto}.sem-side .sem-unplaced{border-radius:var(--radius-sm);background:0 0;border:0;flex:1 0 auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;margin:0;padding:0}.sem-side .sem-unplaced.is-over{box-shadow:none}.sem-side.sem-unplaced{transition:background var(--motion-fast) var(--ease-standard);grid-template-columns:minmax(0,1fr);align-content:start;margin:0;padding:9px 10px 10px;display:grid}.sem-side.sem-unplaced.is-dragging{background:color-mix(in srgb, var(--text-1) 3%, var(--surface))}.sem-side.sem-unplaced.is-over{border-color:var(--line);background:color-mix(in srgb, var(--text-1) 8%, var(--surface))}.sem-side .sem-unplaced-list{flex-flow:column}.sem-side .sem-unplaced-list .sem-chip{width:100%;display:flex}.sem-side .sem-unplaced-list .sem-chip-main{flex:auto}.sem-find{justify-content:center;align-items:center;gap:6px;min-width:0;min-height:30px;display:flex}.sem-find.is-searching{justify-content:stretch}.sem-find-search{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;height:30px;color:var(--text-4);flex:auto;align-items:center;gap:6px;padding:0 8px;display:flex}.sem-find-search:focus-within{border-color:var(--line-strong);box-shadow:var(--focus-ring)}.sem-find-search svg{flex:none;width:13px;height:13px}.sem-find-search input{width:0;min-width:0;color:var(--text-1);font:inherit;background:0 0;border:0;outline:none;flex:auto;font-size:13px}.sem-find-search input:focus-visible{box-shadow:none;outline:none}.sem-find-clear{width:18px;height:18px;color:var(--text-4);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.sem-find-tool{width:30px;height:28px;position:relative}.sem-find-tool svg{width:15px;height:15px}.sem-find-tool.is-active{background:var(--soft-fill);color:var(--text-1)}.sem-find-badge{background:var(--text-1);min-width:13px;height:13px;color:var(--surface);border-radius:7px;place-items:center;padding:0 3px;font-size:9.5px;font-weight:600;line-height:1;display:grid;position:absolute;top:1px;right:1px}.sem-find-count{color:var(--text-4);white-space:nowrap;margin-left:auto;font-size:12px}.sem-find-none{color:var(--text-4);margin:0;font-size:12px}.sem.is-deck.is-folded{grid-template-columns:minmax(0,1fr)}.sem-top{gap:10px;min-width:0;display:flex}.sem-unplaced-box{flex:0 0 var(--semester-card-width,var(--card-w,200px));border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;min-height:51px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.sem-unplaced-mark{flex:none;place-items:center;width:6px;height:16px;display:inline-grid}.sem-unplaced-mark>*{grid-area:1/1}.sem-unplaced-mark.is-done{width:16px}.sem-unplaced-mark.is-done .dot{opacity:0}.sem-unplaced-mark.is-arriving{animation:unplacedSlot .36s var(--ease-standard) .18s both}.sem-unplaced-mark.is-arriving .dot{animation:unplacedDot .36s var(--ease-standard) .18s both}.sem-unplaced-check{width:16px;height:16px}.sem-unplaced-mark.is-arriving .sem-unplaced-check{animation:.16s ease-out .5s both unplacedCheck}.sem-unplaced-mark.is-arriving .req-disc-tick{stroke-dasharray:1;animation:unplacedTick .26s var(--ease-standard) .58s both}@keyframes unplacedSlot{0%{width:6px}to{width:16px}}@keyframes unplacedDot{0%{background:var(--text-4);opacity:1;transform:scale(1)}80%{opacity:1}to{background:var(--ok);opacity:0;transform:scale(2.667)}}@keyframes unplacedCheck{0%{opacity:0}to{opacity:1}}@keyframes unplacedTick{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.sem-unplaced-mark.is-arriving,.sem-unplaced-mark.is-arriving .dot,.sem-unplaced-mark.is-arriving .sem-unplaced-check,.sem-unplaced-mark.is-arriving .req-disc-tick{animation:none}}.sem-unplaced-box.is-dragging{border-style:dashed;border-color:var(--line-strong)}.sem-unplaced-box.is-over{border-color:var(--text-3);background:var(--soft-fill)}.split-btn{border-radius:var(--radius-button,8px);background:var(--soft-fill);align-items:stretch;display:inline-flex}.split-btn .split-btn-main,.split-btn .split-btn-more{background:0 0}.split-btn .split-btn-main{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:4px}.split-btn .split-btn-more{border-top-left-radius:0;border-bottom-left-radius:0;width:24px;padding:0 6px 0 0}.split-btn .split-btn-main:hover:not(:disabled),.split-btn .split-btn-more:hover:not(:disabled){background:0 0}.split-btn:hover:not(:has(:disabled:hover)){background:var(--soft-fill-hover)}.split-btn .split-btn-more svg{width:12px;height:12px;color:var(--text-4)}.menu-item:has(.menu-item-text){align-items:flex-start}.menu-item:has(.menu-item-text)>svg{margin-top:2px}.menu-item-text{gap:1px;display:grid}.menu-item-hint{color:var(--text-4);font-size:12px}.sem-main{scrollbar-gutter:stable;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;display:grid;overflow-y:auto}.sem-stats{grid-template-columns:minmax(260px,2fr) minmax(180px,1.1fr) minmax(200px,1.25fr);gap:10px;min-height:0;display:grid}.sem-stat-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;display:grid}.sem-stats .sem-stat-stack>.sem-stat{grid-template-rows:none;grid-auto-rows:auto}.sem-stats .sem-stat-stack .sem-stat-note{align-self:start}.sem-stat-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sem-stat-count{color:var(--attention);font-size:20px;font-weight:600;line-height:1}.sem-stat-clear{color:var(--text-4);margin:auto 0 0;font-size:12px}.sem-stat.sem-stat-attention{contain:size;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:8px;min-height:160px}.sem-attention-hint{color:var(--text-4);padding:0 6px 4px 27px;font-size:12px;display:block}.sem-attention-list{align-content:start;gap:2px;min-height:0;margin:0 -6px;padding:0;list-style:none;display:grid;overflow-y:auto}.sem-attention-list button{border-radius:var(--radius-sm);width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:7px;padding:4px 6px;display:flex}.sem-attention-note{align-items:flex-start;gap:7px;padding:4px 6px;display:flex}.sem-attention-list button:hover{background:var(--soft-fill)}.sem-attention-code{color:var(--text-1);flex:none;font-size:13px;font-weight:500}.sem-attention-list .issue-badge{margin-top:2px}.sem-attention-fix{flex-wrap:wrap;gap:4px;padding:0 6px 4px 27px;display:flex}.sem-attention-list .sem-attention-action{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);width:auto;color:var(--text-2);align-items:center;gap:3px;padding:1px 8px;font-size:12px;line-height:18px;display:inline-flex}.sem-attention-caret{width:11px;height:11px}.sem-attention-reason{min-width:0;color:var(--text-4);padding-top:1px;font-size:12px;line-height:1.4}.sem-stat{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;min-height:0;color:inherit;font:inherit;text-align:left;grid-template-rows:auto auto 1fr;align-content:start;gap:2px;padding:10px 12px;display:grid}.sem-stat:has(>.sem-stat-meter){grid-template-rows:auto auto auto 1fr}button.sem-stat{cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard)}button.sem-stat:hover:not(:disabled){border-color:var(--line-strong)}button.sem-stat:disabled{cursor:default}button.sem-stat:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem-stat-label{color:var(--text-4);font-size:12px}.sem-stat-value{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:600;line-height:1.3;overflow:hidden}.sem-stat-of{color:var(--text-4);font-size:12px;font-weight:400}.sem-stat-note{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;align-self:end;font-size:12px;overflow:hidden}.sem-stat-note.is-warn,.sem-stat.is-attention .sem-stat-value{color:var(--warn)}.sem-stat-meter{background:var(--line-faint);border-radius:2px;height:4px;margin:4px 0 2px;display:block;position:relative;overflow:hidden}.sem-stat-meter span{border-radius:2px;position:absolute;inset:0 auto 0 0}.sem-stat-meter .is-chosen{background:color-mix(in srgb, var(--text-4) 55%, transparent)}.sem-stat-meter .is-earned{background:var(--text-2)}.sem-timeline{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);gap:8px;padding:10px 12px 12px;display:grid}.sem-tl-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sem-tl-arrows{border-radius:var(--radius-button,8px);background:var(--soft-fill);border:0;align-items:center;height:30px;padding:2px;display:inline-flex}.sem-tl-arrows .sem-page-arrow{border-radius:calc(var(--radius-button,8px) - 2px);width:26px;height:26px;color:var(--text-2);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0}.sem-tl-arrows .sem-page-arrow:hover:not(:disabled){background:var(--soft-fill-hover);color:var(--text-1)}.sem-tl-arrows-sep{background:var(--line-strong);opacity:.35;width:1px;height:14px;margin:0 1px}.sem-tl-terms{grid-template-columns:1fr;gap:16px 4px;min-width:0;display:grid;position:relative}.sem-tl-slot{min-width:0;display:flex;position:relative;container-type:inline-size}.sem-tl-term{border:var(--hairline) solid color-mix(in srgb, var(--line) 55%, var(--line-strong));border-radius:var(--radius-button,8px);background:var(--surface);min-width:0;height:30px;color:var(--text-1);font:inherit;white-space:nowrap;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);flex:auto;justify-content:flex-start;align-items:center;gap:6px;padding:0 8px 0 9px;font-size:13px;font-weight:500;line-height:1;display:flex;position:relative;overflow:hidden}.sem-tl-name{color:var(--text-1);flex:none;font-weight:500}.sem-tl-credits{color:var(--text-4);flex:none;margin-left:auto;font-size:12px;font-weight:400}.sem-tl-dot{flex:none;width:7px;height:7px}.sem-tl-badge{flex:none;width:14px;height:14px}.sem-tl-marks{isolation:isolate;flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.sem-tl-marks .sem-tl-badge{z-index:2;position:relative}@container (width<=98px){.sem-tl-term .sem-tl-credits{display:none}}@container (width<=118px){.sem-tl-term.has-badge .sem-tl-credits{display:none}}.sem-tl-term.is-problem{border-color:color-mix(in srgb, var(--attention) 40%, transparent);background:linear-gradient(var(--attention-soft), var(--attention-soft)), var(--surface)}.sem-tl-term:hover{border-color:var(--line-strong)}.sem-tl-term.is-in-view{background:var(--soft-fill);border-color:#0000}.sem-tl-term.is-in-view.is-problem{border-color:color-mix(in srgb, var(--attention) 40%, transparent);background:linear-gradient(var(--attention-soft), var(--attention-soft)), var(--surface)}.sem-tl-credits.is-over{color:var(--warn);font-weight:500}.sem-tl-term:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem-tl-term.fit-ok{background:color-mix(in srgb, var(--text-1) 6%, transparent)}.sem-tl-term.fit-warn{background:color-mix(in srgb, var(--warn) 12%, transparent)}.sem-tl-term.fit-closed{background:repeating-linear-gradient(-45deg, transparent 0 5px, color-mix(in srgb, var(--text-5) 14%, transparent) 5px 7px)}.sem-tl-term.is-over{box-shadow:inset 0 0 0 1.5px var(--text-3)}.sem-tl-head .sem-tl-tools{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.sem-tl-hint{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.sem-tl-edit{border-radius:var(--radius-button,8px);background:var(--soft-fill);height:30px;color:var(--text-2);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);border:0;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.sem-tl-edit svg{width:13px;height:13px}.sem-tl-edit:hover{background:var(--soft-fill-hover);color:var(--text-1)}.sem-tl-edit[aria-pressed=true]{background:var(--text-1);color:var(--surface)}.sem-tl-edit[aria-pressed=true]:hover{background:var(--text-2);color:var(--surface)}.sem-tl-slot.has-remove .sem-tl-term{padding-right:30px}.sem-tl-slot.has-remove .sem-tl-credits{display:none}.sem-tl-remove{z-index:2;width:18px;height:18px;color:var(--text-3);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.sem-tl-remove:hover{background:var(--soft-fill-hover);color:var(--text-1)}.sem-tl-remove:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem-tl-remove svg{stroke-width:2.2px;width:12px;height:12px}.sem-deck{flex-direction:column;min-width:0;min-height:0;display:flex}.sem-page-arrow{background:var(--surface);color:var(--text-2);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);place-items:center;padding:0;display:grid}.sem-page-arrow svg{width:16px;height:16px}.sem-page-arrow:hover:not(:disabled){background:var(--soft-fill);color:var(--text-1)}.sem-page-arrow:disabled{color:var(--text-6);cursor:default}.sem-page-arrow:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem-viewport{flex:auto;min-width:0;min-height:0;display:flex;overflow:auto}.sem.is-deck .sem-board{grid-template-columns:repeat(var(--term-cols,1), var(--term-w,180px));flex:none;place-content:start center;align-items:start;gap:10px;width:max-content;min-width:100%;display:grid;position:relative}.sem.is-deck .sem-strip{flex-direction:column;flex:0 0 var(--term-w,180px);width:var(--term-w,180px);height:var(--term-h,300px);border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:0;display:flex;container:sem-strip/inline-size}.sem.is-deck .sem-strip+.sem-strip{border-top:var(--hairline) solid var(--line)}.sem.is-deck .sem-strip-head{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 12px;display:grid}.sem.is-deck .sem-strip-top{justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.sem.is-deck .sem-strip-title{flex:auto;align-items:center;gap:7px;min-width:0;display:flex}.sem.is-deck .sem-strip-title h4{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.sem.is-deck .sem-strip-meta{color:var(--text-4);white-space:nowrap;flex:none;align-items:center;gap:5px;padding-left:0;font-size:12px;display:flex}.sem.is-deck .sem-strip-reason{white-space:normal;justify-self:start;max-width:100%;height:auto;margin-top:4px;padding-top:2px;padding-bottom:2px;line-height:1.35}.sem.is-deck .sem-strip-body{flex-direction:column;flex:auto;min-height:0;padding:10px;display:flex;overflow:hidden}.sem.is-deck .sem-strip-body.has-scroll{overflow-y:auto}.sem.is-deck .sem-chips{flex-flow:column;flex:none;gap:6px}.sem.is-deck .sem-chip{flex:none;width:100%;height:32px;display:flex}.sem.is-deck .sem-chip-main{flex:auto}.sem.is-deck .sem-drop-hint{flex:auto;max-width:none;min-height:60px}.sem.is-deck .sem-drop-hint.is-tail{flex:none;height:32px;min-height:0;margin-top:auto}.sem.is-deck .sem-chips+.sem-drop-hint.is-tail{margin-top:auto}.sem.is-deck .sem-strip-body:has(>.sem-chips){gap:6px}.sem-strip-credits.is-over{color:var(--warn);font-weight:500}.sem-strip-issues{margin-right:-3px}.term-issues-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.term-issues-list li{flex-wrap:wrap;align-items:flex-start;gap:6px 10px;font-size:14px;line-height:1.45;display:flex}.term-issues-list li>.issue-badge{margin-top:3px}.term-issues-text{min-width:0;color:var(--text-2);flex:160px}.term-issues-code{color:var(--text-1);font-weight:500}.sem.is-deck .sem-strip.fit-ok{background:color-mix(in srgb, var(--text-1) 3%, var(--surface))}.sem.is-deck .sem-strip.fit-warn{background:color-mix(in srgb, var(--warn) 7%, var(--surface))}.sem.is-deck .sem-strip.is-over.fit-ok{background:color-mix(in srgb, var(--text-1) 8%, var(--surface))}.sem.is-deck .sem-strip.is-over.fit-warn{background:color-mix(in srgb, var(--warn) 16%, var(--surface))}.sem.is-deck .sem-strip.fit-closed,.sem.is-deck .sem-strip.is-over.fit-closed{background:repeating-linear-gradient(-45deg, var(--surface) 0 7px, color-mix(in srgb, var(--text-5) 9%, var(--surface)) 7px 9px)}@keyframes revealed{0%,35%{box-shadow:0 0 0 2px var(--accent), 0 0 0 6px color-mix(in srgb, var(--accent) 12%, transparent)}to{box-shadow:0 0 #0000}}.is-revealed{animation:revealed 1.8s var(--ease-standard);border-radius:var(--radius-sm)}.sem-stats{view-transition-name:sem-stats}.sem.is-deck .sem-strip{view-transition-class:sem-term}.sem-timeline{view-transition-name:sem-timeline}::view-transition-group(*){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(root){animation-duration:.24s}.sem .sem-chip{view-transition-class:sem-course}::view-transition-group(*.sem-course){z-index:50}::view-transition-group(sem-unscheduled){border-radius:var(--radius-card);overflow:clip}::view-transition-group(sem-toolbar){border-radius:var(--radius-card);overflow:clip}::view-transition-group(sem-stats){border-radius:var(--radius-card);overflow:clip}::view-transition-group(sem-timeline){border-radius:var(--radius-card);overflow:clip}::view-transition-group(*.sem-term){border-radius:var(--radius-card);overflow:clip}::view-transition-old(sem-unscheduled){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(sem-unscheduled){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-old(sem-toolbar){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(sem-toolbar){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-old(sem-stats){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(sem-stats){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-old(sem-timeline){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(sem-timeline){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-old(*.sem-term){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(*.sem-term){object-fit:none;object-position:left top;width:100%;height:100%}.dialog.overview-dialog{flex-direction:column;width:min(1180px,100vw - 48px);max-width:none;max-height:calc(100vh - 48px);display:flex}.overview-actions{justify-content:flex-end;margin:-6px 0 10px;display:flex}.overview-actions .btn{gap:6px}.overview-actions .btn svg{width:13px;height:13px}.overview-scroll{min-height:0;overflow:auto}.overview-grid{gap:10px;display:grid}.overview-row{grid-template-columns:88px repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.overview-season,.overview-year{color:var(--text-4);font-size:12px}.overview-head{z-index:1;background:var(--surface);padding-bottom:2px;position:sticky;top:0}.overview-year{padding-top:10px;font-weight:500}.overview-cell{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0}.overview-cell.is-wide{grid-column:span 3}.overview-cell.is-none{border-style:dashed;border-color:var(--line-faint);background:0 0}.overview-cell-head{border-bottom:var(--hairline) solid var(--line-faint);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.overview-term{color:var(--text-1);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.overview-credits{color:var(--text-4);font-size:12px}.overview-courses{gap:2px;margin:0;padding:6px 12px 10px;list-style:none;display:grid}.overview-cell.is-wide .overview-courses{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}.overview-courses li{grid-template-columns:100px minmax(0,1fr) auto;align-items:baseline;gap:8px;min-width:0;line-height:1.6;display:grid}.overview-code{color:var(--text-1);white-space:nowrap;align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.overview-code .issue-badge{width:12px;height:12px}.overview-title{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.overview-cr{color:var(--text-4);font-size:12px}.overview-empty{color:var(--text-4);margin:0;padding:8px 12px 10px;font-size:12px}.sem-toolcard-actions .btn .btn-caret{width:12px;height:12px;color:var(--text-4);margin-left:-2px}.sem-toolcard-actions .btn.is-on{color:var(--text-1)}.sem-tl-tray{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.sem-tl-add{border:var(--hairline) dashed var(--line-strong);border-radius:var(--radius-button,8px);height:30px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);background:0 0;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.sem-tl-add .sem-tl-name{color:var(--text-2)}.sem-tl-add-plus{width:13px;height:13px;color:var(--text-3)}.sem-tl-add:hover,.sem-tl-add.is-over{background:var(--soft-fill);border-style:solid}.sem-tl-add:hover .sem-tl-add-plus{color:var(--text-1)}.sem-tl-add:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem.is-deck .sem-strip.is-prior .sem-strip-title h4{white-space:normal;line-height:1.25}.sem-progs{flex:auto;gap:10px;min-width:0;display:flex}.sem-prog{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;min-height:44px;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);flex:auto;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.sem-prog:hover{border-color:var(--line-strong);background:color-mix(in srgb, var(--surface) 96%, var(--text-1))}.sem-prog:focus-visible{box-shadow:var(--focus-ring);outline:none}.sem-prog-ring{flex:none;width:16px;height:16px}.sem-prog.is-over .req-disc-arc{stroke:var(--warn)}.sem-prog-name{min-width:0;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:14px;font-weight:600;display:block;overflow:hidden}.sem-prog-num{color:var(--text-4);flex:none;margin-left:auto;padding-left:4px;font-size:13px;font-weight:400}.sem-prog-flag{background:var(--attention-soft);color:var(--danger);border-radius:999px;flex:none;padding:1px 6px;font-size:11px;font-weight:500;line-height:16px}.sem-timeline{container:sem-timeline/inline-size}.sem-tl-head{min-height:30px}.sem-tl-head .sem-toolcard{background:0 0;border:0;flex:auto;min-width:0;margin:0;padding:0}.sem-tl-head .sem-toolcard-actions{flex-wrap:nowrap}.sem-tl-head .sem-toolcard-actions .btn{min-height:30px;color:var(--text-2);flex:none;padding:0 10px}.sem-tl-head .sem-toolcard-actions .btn:hover:not(:disabled){color:var(--text-1)}.sem-tl-head .sem-toolcard-actions .btn:disabled{opacity:.45}.sem-tl-head .sem-toolcard-actions .split-btn .split-btn-main{padding-right:0}.sem-tl-head .sem-toolcard-actions .split-btn .split-btn-more{width:26px;padding:0 10px 0 4px}.sem-tl-head .sem-overview-btn{gap:6px;font-size:13px;font-weight:500}.sem-tl-head .sem-overview-btn svg{width:13px;height:13px}.sem-toolcard-sep{background:var(--line-strong);flex:none;width:1px;height:16px;margin:0 4px}.sem-tl-head .sem-tl-hint{flex:auto;min-width:0;line-height:30px}.sem-tl-head.is-folded .sem-tool-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sem-tl-head.is-folded .sem-toolcard-actions .btn{padding:0 8px}.terms-dialog-table{margin-top:12px}.terms-dialog-table th:first-child{width:30%}.terms-dialog-table th:nth-child(2){width:22%}.terms-dialog-table th:nth-child(3){width:30%}.terms-dialog-table td{overflow:visible}.terms-dialog-table th[scope=row]{white-space:nowrap;font-weight:500}.terms-dialog-table th[scope=row] .dot{vertical-align:middle;margin-right:8px;display:inline-block}.terms-dialog-table td .tag{margin-left:6px}.terms-dialog-table tr.is-focus td,.terms-dialog-table tr.is-focus th{background:var(--soft-fill)}.terms-dialog-limit{align-items:center;gap:6px;display:inline-flex}.terms-dialog-limit .input{width:64px;color:var(--text-3)}.terms-dialog-limit .input.is-own{color:var(--text-1)}.terms-dialog-limit .icon-btn{width:26px;height:26px}.terms-dialog-limit .icon-btn svg{width:13px;height:13px}.terms-dialog-default{color:var(--text-4);font-size:12px}.sem.is-deck .sem-strip-title h4{flex:none;min-width:0}.sem.is-deck .sem-strip-title{flex:0 auto}.deg-credits{grid-template-rows:auto minmax(0,1fr);align-content:stretch}.deg-credits,.deg-weeks{gap:8px}.deg-head{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.deg-count{color:var(--text-4);white-space:nowrap;font-size:12px}.deg-bar-block{grid-template-rows:minmax(76px,1fr) auto;gap:8px;display:grid}.deg-bar{background:var(--line-faint);border-radius:8px;gap:2px;min-height:76px;display:flex;overflow:hidden}.deg-seg{background:var(--seg);flex:1 1 0;min-width:0}.deg-head-tools{align-items:center;gap:8px;display:flex}.deg-group{width:28px;height:28px}.deg-group svg{width:15px;height:15px}.deg-legend-value{color:var(--text-4);font-size:11px}.deg-dot.is-free{background:var(--line-strong)}.deg-seg.is-free{background:0 0}.deg-seg.is-transfer,.deg-dot.is-transfer{background:repeating-linear-gradient(-45deg, var(--seg,var(--cat-other)) 0 2px, color-mix(in srgb, var(--seg,var(--cat-other)) 35%, var(--surface)) 2px 4px)}.deg-legend{color:var(--text-3);flex-wrap:wrap;gap:2px 10px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex}.deg-legend li{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.deg-dot{background:var(--seg);border-radius:50%;flex:none;width:8px;height:8px}.deg-legend .deg-legend-transfer{color:var(--text-4)}.deg-weeks{flex-direction:column;display:flex;position:relative}.deg-grid-box{flex:1 1 0;max-width:100%;min-height:104px;position:relative}.deg-grid{grid-auto-flow:column;gap:3px;display:grid;position:absolute;inset:0}.deg-week{background:var(--heat-ahead);border:0;border-radius:2px;min-width:0;min-height:0;padding:0;display:block}.deg-week.is-done{background:var(--heat-done)}.deg-week.is-break{background:var(--heat-break)}.deg-week.is-pressable{cursor:pointer}.deg-week.is-pressable:hover{filter:brightness(.92)}.deg-week.is-pressable:focus-visible{box-shadow:var(--focus-ring);outline:none}.deg-bubble{z-index:5;background:var(--surface-float,var(--surface));box-shadow:var(--shadow-panel);color:var(--text-1);white-space:nowrap;pointer-events:none;border-radius:8px;gap:1px;padding:6px 10px;font-size:12px;line-height:1.35;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 6px))}@container sem-main-stats (width<=760px){.sem-stats{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.deg-credits{grid-column:1/-1}}.sem-main{container:sem-main-stats/inline-size}@container sem-main-stats (width<=380px){.sem-stats{grid-template-columns:minmax(0,1fr)}.deg-head .sem-stat-value{white-space:normal}}.sem-toolbar-row{z-index:3;align-items:stretch;gap:10px;min-width:0;display:flex;position:sticky;top:0}.sem-toolbar-row .sem-timeline{flex:auto;min-width:0;padding-block:10px}@media (width<=620px){.sem-toolbar-row,.sem-tl-head{flex-wrap:wrap}}.terms-limit-heading{justify-content:flex-start;align-items:center;gap:12px;margin-top:20px;display:flex}.terms-limit-list{gap:8px;display:grid}.terms-limit-item{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.terms-limit-item-main{border-radius:var(--radius-sm);min-width:0;color:var(--text-1);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:16px;padding:10px;display:flex}.terms-limit-item-main:hover{background:var(--soft-fill)}.terms-limit-item-term{align-items:center;gap:8px;display:inline-flex}@media (width>=721px){.dialog.term-limit-editor{width:min(400px,100vw - 32px)}}.sem.is-deck .sem-links{z-index:calc(var(--z-local) + 1);overflow:visible}.sem.is-deck .sem-link path{stroke-linejoin:round}.sem.is-deck .sem-link{color:var(--text-5)}.sem.is-deck .sem-link.is-lit{color:var(--text-3)}.sem.is-deck .sem-link circle.sem-link-source{fill:var(--surface);stroke:currentColor;stroke-width:1.75px}.sem.is-deck .sem-link circle.sem-link-target{fill:currentColor;stroke:currentColor;stroke-width:1px}.sem-side.sem-unplaced{flex-direction:column;display:flex;overflow:hidden}.sem-side.sem-unplaced>.sem-unplaced-head,.sem-side.sem-unplaced>.sem-find{flex:none}.sem-unplaced-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.landing{--l-ease:cubic-bezier(.16, 1, .3, 1);--l-max:1280px;background:var(--ground);height:100%;color:var(--text-1);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.active-workspace:has(>.landing) .degree-assistant{display:none!important}.landing-head{padding:0 var(--gutter) clamp(20px, 4.5vh, 48px);background:linear-gradient(to bottom, var(--canvas) 0%, var(--canvas) 30%, var(--ground) 100%);justify-items:center;display:grid}.landing-top{width:min(var(--l-max), 100%);min-height:var(--topbar-h);justify-content:space-between;align-items:flex-start;gap:24px;padding-top:16px;animation:.8s both landing-fade;display:flex}.landing-top .brand-word{font-size:17px}.landing-hero{width:min(var(--l-max), 100%);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 48px;padding-top:clamp(8px,3vh,36px);display:grid}.landing-title{font-family:"Archivo", "Google Sans Flex", var(--font);font-variation-settings:"wght" 650;letter-spacing:-.055em;margin:0;font-size:clamp(36px,min(6vw,5vw + max(0px,10vw - 118px),8.4vh),96px);font-weight:650;line-height:.96}.landing-line{white-space:nowrap;display:block}.landing-w{white-space:pre;animation:landing-word 1s var(--l-ease) both;animation-delay:calc(.12s + var(--w) * 70ms);margin-block:-.2em;padding-block:.2em;display:inline-block}@keyframes landing-word{0%{opacity:0;filter:blur(12px);transform:translateY(.4em)}to{opacity:1;filter:none;transform:none}}.landing-side{justify-items:end;gap:16px;padding-bottom:.3em;display:grid}.landing-actions{animation:landing-up 1s var(--l-ease) .52s both;grid-template-columns:auto auto;grid-template-areas:".fact""open start""hint hint";justify-content:end;gap:10px;display:grid}.landing-actions>.btn-ghost{grid-area:open}.landing-actions>.landing-cta{grid-area:start}.landing-fact,.landing-size-hint{color:var(--text-3);align-items:center;gap:8px;margin:0;font-size:13.5px;line-height:20px;display:flex}.landing-fact{grid-area:fact;justify-self:center}.landing-size-hint{grid-area:hint}.landing-fact svg,.landing-size-hint svg{flex:none;width:15px;height:15px}.landing-size-hint{color:var(--text-1);text-align:center;justify-content:center;font-size:14px;font-weight:500}.landing-size-hint svg{width:17px;height:17px}.landing-actions.is-blocked .btn-lg{min-height:38px;padding-inline:16px;font-size:13.5px}.landing-actions.is-blocked .btn svg{width:15px;height:15px}.landing-actions.is-blocked .btn:disabled{background:color-mix(in srgb, var(--text-1) 5%, transparent);box-shadow:none;color:var(--text-3);opacity:1;cursor:not-allowed;border-color:#0000;transform:none}.landing-actions .btn-lg{border-radius:999px;min-height:50px;padding-inline:24px;font-size:15px}.landing-actions .btn svg{transition:transform .32s var(--l-ease)}.landing-cta:hover:not(:disabled) svg:last-child{transform:translate(3px)}.landing-cta{box-shadow:var(--shadow-button), 0 12px 28px -12px color-mix(in srgb, var(--text-1) 60%, transparent);transition:transform .32s var(--l-ease), box-shadow .32s var(--l-ease), background .16s ease}.landing-cta:hover:not(:disabled){transform:translateY(-1px)}.landing-disclaimer{color:var(--text-3);text-align:right;margin:0;font-size:13.5px;line-height:20px}.landing-recovery{border:var(--hairline) solid var(--line);background:var(--surface);max-width:34rem;box-shadow:var(--shadow-card);animation:landing-up 1s var(--l-ease) .64s both;border-radius:16px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex}.landing-recovery>svg{width:18px;height:18px;color:var(--brand);flex:none}.landing-recovery>div{flex:1;min-width:0;font-size:13px;display:grid}.landing-recovery span{color:var(--text-3)}.landing-error{max-width:28rem;margin:0}.landing-stage{width:min(var(--l-max), calc(100% - 2 * var(--gutter)));justify-self:center;min-height:0;animation:1.2s .4s both landing-fade;-webkit-mask-image:linear-gradient(#000 0 calc(100% - 96px),#0000 100%);mask-image:linear-gradient(#000 0 calc(100% - 96px),#0000 100%)}.landing-demo{pointer-events:none;-webkit-user-select:none;user-select:none;grid-template-columns:580px minmax(0,1fr);height:max(100%,540px);display:grid}.landing-window{position:relative;overflow:hidden}.landing-demo .plan-terms,.landing-demo .req-frame{background:0 0}.landing-page{width:1180px;position:absolute;top:0;bottom:0}.landing-window-req .landing-page{width:100%;left:0}.landing-window-req .req-program-context,.landing-window-req .req-scroll-rail{display:none}.landing-demo .landing-window-req .req-frame.req-context-layout{grid-template:"content"minmax(0,1fr)/minmax(0,1fr);padding-inline:0}.landing-window-terms{margin-left:-6px;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 100px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 100px),#0000 100%)}.landing-demo .sem-tl-head .sem-tool-label{clip:auto;width:auto;height:auto;position:static;overflow:visible}.landing-window-terms .landing-page{width:1080px;height:800px;bottom:auto;left:0}@keyframes landing-up{0%{opacity:0;transform:translateY(14px)}}@keyframes landing-fade{0%{opacity:0}}@media (width<=719px){.landing-hero{grid-template-columns:minmax(0,1fr);row-gap:clamp(16px,4vh,32px)}.landing-title{font-size:clamp(28px,min(8vw,9vh),64px)}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}}.landing-window-req [data-program-section="science/foundation/foundation-year-bsc"] .checkbox[data-checked],.landing-window-req [data-program-section="science/foundation/foundation-year-bsc"] .checkbox[data-indeterminate]{background:var(--text-1);border-color:var(--text-1);color:var(--surface)}.landing-window-req [data-program-section="science/foundation/foundation-year-bsc"] .checkbox.is-elsewhere[data-checked]{background:color-mix(in srgb, var(--text-1) 22%, var(--surface));border-color:color-mix(in srgb, var(--text-1) 30%, var(--surface));color:var(--surface)}@media (width<=640px){.landing-top{gap:12px}.landing-disclaimer{max-width:170px;font-size:11px;line-height:1.4}}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);background:var(--canvas);grid-template-rows:minmax(0,1fr);height:100%;display:grid;overflow:hidden}.main{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.active-workspace{flex-direction:column;height:100%;min-height:0;display:flex}.active-workspace>.app,.active-workspace>.welcome,.active-workspace>.status-screen,.active-workspace>.loading-screen{flex:1 1 0;height:auto;min-height:0}.workspace-notices{z-index:var(--z-toast);box-sizing:border-box;overscroll-behavior:contain;pointer-events:none;justify-items:center;gap:8px;width:max-content;max-width:min(640px,100vw - 16px);max-height:75dvh;padding:8px 24px 24px;display:grid;position:fixed;top:8px;left:50%;overflow-y:auto;transform:translate(-50%)}.workspace-notices>*{pointer-events:auto}.workspace-notices:empty{display:none}.toast-dock{top:max(40px, env(safe-area-inset-top));z-index:var(--z-toast);pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.toast-dock:empty{display:none}.rail{overscroll-behavior:contain;background:var(--canvas);border-right:var(--hairline) solid var(--line);flex-direction:column;gap:2px;min-height:0;padding:10px 10px 12px;display:flex;overflow-y:auto}.rail-scrim,.rail-close,.rail-toggle{display:none}.rail-brand{align-items:center;min-height:36px;padding:2px 6px 8px;display:flex}.rail-section{flex-direction:column;gap:1px;margin-top:10px;display:flex}.rail-label{color:var(--text-5);letter-spacing:.04em;text-transform:uppercase;padding:10px 10px 4px;font-size:12px;font-weight:500}.rail-link{border-radius:var(--radius-button);width:100%;min-width:0;color:var(--text-3);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.rail-link-icon{flex:none;display:inline-flex}.rail-link-icon svg{width:15px;height:15px;color:var(--text-5)}.rail-link-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.rail-link:hover{background:var(--row-hover);color:var(--text-1)}.rail-link[aria-current=page]{background:var(--soft-fill);color:var(--text-1);font-weight:500}.rail-link[aria-current=page] .rail-link-icon svg{color:var(--text-1)}.rail-link.is-done .rail-link-icon svg,.rail-link.is-done .setup-num{color:var(--ok)}.rail-meta{color:var(--text-5);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.rail-meta.is-warn{border-radius:var(--radius-xs);background:var(--tag-amber-bg);color:var(--tag-amber-fg);padding:0 6px;font-size:12px;font-weight:500}.rail-meta.is-ok{color:var(--ok)}.setup-num{border:var(--hairline) solid var(--line-strong);width:18px;height:18px;color:var(--text-5);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.rail-link[aria-current=page] .setup-num{border-color:var(--accent);color:var(--accent)}.rail-link.is-done .setup-num{background:var(--ok);color:var(--on-brand);border-color:#0000}.rail-foot{flex-direction:column;gap:2px;margin-top:auto;padding-top:12px;display:flex}.rail-note{text-wrap:pretty;padding:8px 10px 0;line-height:1.4}.rail-alert{border-radius:var(--radius-button);background:var(--danger-soft);color:var(--danger);text-align:left;cursor:pointer;border:0;align-items:center;gap:7px;margin-bottom:6px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.rail-alert:hover{box-shadow:inset 0 0 0 1px var(--danger)}.rail-alert svg{flex:none;width:14px;height:14px}.rail-box{border-top:var(--hairline) solid var(--line-faint);justify-content:space-between;align-items:center;gap:6px;padding:10px 2px 0;display:flex}.rail-box-row{align-items:center;gap:4px;display:flex}.storage-dialog .storage-rows{margin-bottom:4px}.storage-row .storage-file-path{overflow-wrap:anywhere}.storage-dialog .dialog-actions{justify-content:flex-start;padding-top:10px}.storage-history{margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--hairline) solid var(--line-faint)}.storage-history-head{gap:var(--space-1);display:grid}.storage-history-description{color:var(--text-3);margin:0;font-size:13px;line-height:1.45}.storage-history .history-list{margin-top:var(--space-3);max-height:min(34dvh,260px)}.storage-history .history-empty{color:var(--text-4);padding:0;line-height:1.45}.history-list{overscroll-behavior:contain;flex-direction:column;gap:1px;max-height:min(60dvh,420px);display:flex;overflow-y:auto}.history-empty{color:var(--text-5);margin:0;padding:10px 8px 14px;font-size:13px;line-height:1.4}.history-row{border-radius:var(--radius-sm);width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;padding:8px;font-size:13px;display:flex}.history-row:hover:not(:disabled){background:var(--soft-fill);color:var(--text-1)}.history-row:disabled{cursor:default}.history-row-desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-row-meta{color:var(--text-5);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.history-row.is-current .history-row-meta{color:var(--ok);font-weight:500}.history-foot{border-top:var(--hairline) solid var(--line-faint);color:var(--text-5);flex-direction:column;gap:4px;margin-top:6px;padding:8px 8px 4px;font-size:12px;line-height:1.4;display:flex}.viewhead{z-index:var(--z-sticky);min-height:var(--topbar-h);padding:10px var(--gutter);padding-top:max(10px, env(safe-area-inset-top));background:var(--canvas);border-bottom:var(--hairline) solid var(--line);align-items:center;gap:10px;display:flex;position:relative}.app.is-flat{grid-template-columns:minmax(0,1fr)}.viewhead-lead{align-items:center;gap:4px;min-width:0;display:flex}.viewhead-lead .brand{flex:none}.viewhead-lead .ws-switcher{flex:auto;min-width:0}.viewhead-lead .ws-trigger{width:auto;min-width:0;max-width:320px;padding:5px 8px}.viewhead-tools .icon-btn[aria-pressed=true]{background:var(--soft-fill-hover);color:var(--text-1)}.viewhead-tools .icon-btn.is-marked{position:relative}.icon-btn>.icon-btn-issue{width:11px;height:11px;box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;position:absolute;top:3px;right:3px}.viewhead-text{flex:auto;min-width:0}.viewhead-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:560;overflow:hidden}.viewhead-sub{color:var(--text-5);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:1px 0 0;font-size:12px;display:-webkit-box;overflow:hidden}.view-title{min-width:0;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:560;display:flex;overflow:hidden}.view-title-icon{flex:none;display:inline-flex}.view-title-icon svg{width:16px;height:16px;color:var(--text-4)}.viewhead-actions{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.viewhead-tools{flex:none;align-items:center;gap:2px;margin-left:auto;padding-left:8px;display:flex}.viewhead-tools .tool-sep{width:var(--hairline);background:var(--line);height:18px;margin:0 6px}.viewbody{min-width:0;min-height:0}.viewbody.is-scroll{overscroll-behavior:contain;overflow-y:auto}.viewbody-inner{width:100%;max-width:var(--page-max);padding:20px var(--gutter) 48px;margin:0 auto}.viewbody.is-frame{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.setup-body{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.setup-step{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.setup-step.is-narrow{max-width:720px}.setup-hint{padding:10px var(--gutter);color:var(--text-4);margin:0;font-size:13px}.welcome{overscroll-behavior:contain;flex-direction:column;height:100%;display:flex;overflow-y:auto}.welcome-top{height:var(--topbar-h);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:12px;display:flex}.welcome-top-actions{align-items:center;gap:8px;display:flex}@media (width<=760px){.viewhead{flex-wrap:wrap;gap:8px;padding:10px 14px}.viewhead-lead{gap:8px;width:100%}.viewhead-lead .ws-trigger{width:100%;max-width:100%}.viewhead-tools{flex-wrap:wrap;margin-left:0;padding-left:0}.viewhead-text{flex-basis:60%}.viewhead-actions{margin-left:auto}.app{grid-template-columns:minmax(0,1fr)}.rail{width:min(280px,85vw);z-index:var(--z-dialog);visibility:hidden;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.rail.is-open{visibility:visible;transform:none}.rail-toggle,.rail-close{display:inline-flex}.rail-close{align-self:flex-end}.rail-scrim.is-open{z-index:var(--z-overlay);background:#00000047;display:block;position:fixed;inset:0}.welcome-top{height:auto;min-height:var(--topbar-h);flex-wrap:wrap;padding-block:12px}}.app.is-flat .viewhead-lead{flex:0 auto;max-width:calc(50% - 160px)}.app.is-flat .viewhead-lead .ws-trigger{width:100%;max-width:100%}.app.is-flat .viewhead-lead .ws-trigger-name{min-width:0;display:block}.ws-switcher{flex:none;min-width:0}.ws-trigger{border:var(--hairline) solid transparent;border-radius:var(--radius-button);width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;padding:8px 10px;display:flex}.ws-trigger:hover,.ws-trigger[data-popup-open]{background:var(--row-hover);border-color:var(--line-faint)}.ws-trigger svg{width:15px;height:15px;color:var(--text-5);flex:none}.ws-trigger-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.ws-trigger-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.ws-trigger-meta{color:var(--text-5);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.menu-icon-gap{width:15px;height:15px;display:inline-block}.menu-check .block,.block{margin-top:2px;display:block}.degree-assistant{z-index:var(--z-peek);width:min(var(--assistant-width,400px), calc(100vw - 44px));height:min(var(--assistant-height,500px), calc(100dvh - 90px));color:var(--text-1);pointer-events:none;position:fixed;bottom:22px;right:22px}.degree-assistant.is-resizing{-webkit-user-select:none;user-select:none}.degree-assistant-trigger{box-sizing:border-box;color:#fff;cursor:pointer;pointer-events:auto;background:#15171a;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:background-color .16s,opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;bottom:0;right:0;box-shadow:0 8px 28px #00000017}.degree-assistant-trigger>svg{width:24px;height:24px}.degree-assistant-trigger:hover{color:#fff;background:#292c31}.degree-assistant.is-expanded .degree-assistant-trigger{opacity:0;pointer-events:none;transform:scale(.92)}.degree-assistant-panel{box-sizing:border-box;border:var(--hairline) solid var(--line);background:var(--surface-float);opacity:0;transform-origin:100% 100%;pointer-events:none;border-radius:28px;flex-direction:column;width:100%;height:100%;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden;transform:translateY(8px)scale(.96);box-shadow:0 14px 48px #00000026}.degree-assistant.is-expanded .degree-assistant-panel{opacity:1;pointer-events:auto;transform:none}.degree-assistant-head{border-bottom:var(--hairline) solid var(--line);flex:none;align-items:center;gap:10px;height:52px;padding:0 14px;display:flex}.degree-assistant-head strong{color:var(--text-3);flex:1;font-size:13px;font-weight:500}.degree-assistant-head button{z-index:2;width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:relative}.degree-assistant-head button:hover{background:var(--soft-fill)}.degree-assistant-resize{z-index:1;touch-action:none;background:0 0;border:0;padding:0;position:absolute}.degree-assistant-resize.is-top{cursor:ns-resize;height:5px;top:0;left:28px;right:28px}.degree-assistant-resize.is-left{cursor:ew-resize;width:5px;top:52px;bottom:28px;left:0}.degree-assistant-resize.is-corner{cursor:nwse-resize;width:12px;height:12px;top:0;left:0}.degree-assistant-conversation{flex:1;min-height:0;padding:20px;overflow-y:auto}.degree-assistant p{margin:0;font-size:14px;line-height:1.55}.degree-assistant-connect{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px 8px;display:flex}.degree-assistant-connect strong{font-size:14px;font-weight:500}.degree-assistant-connect p,.degree-assistant-reply{color:var(--text-3)}.degree-assistant-connect button{color:var(--text-1);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:12px;font-weight:500}.degree-assistant-exchange{gap:14px;margin-bottom:24px;display:grid}.degree-assistant-message{background:var(--soft-fill);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px 12px 3px;justify-self:end;max-width:90%;padding:10px 13px}.degree-assistant-composer{flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:14px 16px;display:flex}.degree-assistant-composer textarea{resize:none;width:0;min-width:0;min-height:22px;max-height:132px;color:var(--text-1);font:inherit;background:0 0;border:0;outline:none;flex:1;margin:3px 0;padding:0;font-size:14px;line-height:1.55;overflow-y:auto}.degree-assistant-composer button{color:#fff;cursor:pointer;background:#303238;border:0;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.degree-assistant-composer button:disabled{opacity:.3;cursor:default}.degree-assistant button:focus-visible{box-shadow:var(--focus-ring);outline:none}.degree-assistant-composer textarea:focus-visible{box-shadow:none}.degree-assistant-settings label{gap:8px;max-width:440px;font-size:13px;display:grid}.degree-assistant-settings input{border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-sm);background:var(--canvas);width:100%;height:40px;color:var(--text-1);font:inherit;padding:8px 12px}.degree-assistant-settings input:focus-visible{border-color:var(--accent-line);box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.degree-assistant,.degree-assistant-panel,.degree-assistant-trigger{transition:none}}.degree-assistant-head button[aria-pressed=true]{background:var(--soft-fill);color:var(--text-1)}.degree-assistant-manager{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex}.degree-assistant-chat-list{flex:1;align-content:start;gap:2px;min-height:0;margin:0 -8px;padding:0;list-style:none;display:grid;overflow-y:auto}.degree-assistant-chat-list>li{border-radius:var(--radius-sm);min-height:36px;color:var(--text-2);align-items:center;gap:2px;padding-right:0;display:flex}.degree-assistant-chat-list>li:hover,.degree-assistant-chat-list>li[aria-current=true]{background:var(--soft-fill)}.degree-assistant-chat-list>li[aria-current=true]{color:var(--text-1)}.degree-assistant-chat-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:baseline;gap:10px;padding:8px;display:flex}.degree-assistant-chat-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.degree-assistant-chat-when{color:var(--text-4);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.degree-assistant-chat-actions{flex:none;gap:2px;margin-right:4px;display:none}.degree-assistant-chat-actions button{width:28px;height:28px;color:var(--text-4);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.degree-assistant-chat-actions button:hover{background:var(--surface);color:var(--text-1)}.degree-assistant-chat-actions button:last-child:hover{color:var(--danger)}.degree-assistant-chat-list>li:hover .degree-assistant-chat-actions,.degree-assistant-chat-list>li:focus-within .degree-assistant-chat-actions{display:flex}.degree-assistant-chat-list>li:hover .degree-assistant-chat-when,.degree-assistant-chat-list>li:focus-within .degree-assistant-chat-when{display:none}.degree-assistant-chat-list>li.is-editing{background:var(--soft-fill);gap:6px;padding:4px 4px 4px 8px}.degree-assistant-chat-list>li.is-editing input{border:var(--hairline) solid var(--line-strong);background:var(--surface);min-width:0;height:28px;color:var(--text-1);font:inherit;border-radius:7px;flex:1;padding:0 8px;font-size:13px}.degree-assistant-chat-list>li.is-editing input:focus-visible{box-shadow:var(--focus-ring);outline:none}.degree-assistant-chat-confirm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.degree-assistant .degree-assistant-manager-note{color:var(--text-4);margin:0;font-size:12px;line-height:1.5}.degree-assistant-panel{position:relative}.degree-assistant-conversation.is-unconfigured{justify-content:center;align-items:center;display:flex}.degree-assistant-connect strong{max-width:280px;font-size:22px;font-weight:500;line-height:1.3}.degree-assistant-connect p{max-width:280px;font-size:14px}.degree-assistant-connect button{color:#fff;background:#303238;border-radius:9px;flex:none;padding:11px 18px;font-size:13px}.degree-assistant-connect>svg{color:var(--text-3);flex:none}.degree-assistant-composer textarea:disabled{opacity:.5;cursor:not-allowed}.degree-assistant-head{gap:6px}.degree-assistant-head>button{flex:none}.degree-assistant-head .degree-assistant-title{width:auto;min-width:0;font:inherit;text-align:left;flex:0 auto;justify-content:flex-start;gap:5px;padding:0 8px;font-size:13px;font-weight:500;display:flex}.degree-assistant-head-gap{flex:1}.degree-assistant-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.degree-assistant-title svg{flex:none}.degree-assistant-compose-actions{border-top:var(--hairline) solid var(--line);align-items:flex-end;gap:10px;padding-top:8px;display:flex}.degree-assistant-composer .degree-assistant-attach{color:var(--text-2);background:0 0;border-radius:50%}.degree-assistant-composer .degree-assistant-attach:hover{background:var(--soft-fill)}.degree-assistant-attachments{flex-wrap:wrap;gap:6px;max-height:84px;display:flex;overflow-y:auto}.degree-assistant-attachments>div{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--soft-fill);align-items:center;gap:6px;max-width:100%;padding:5px 8px;font-size:11px;display:flex}.degree-assistant-attachments span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.degree-assistant-attachments svg{flex:none}.degree-assistant-attachments button{width:20px;height:20px;color:var(--text-3);background:0 0}.degree-assistant-reply{color:var(--text-1);overflow-wrap:anywhere;gap:10px;margin-bottom:24px;font-size:14px;line-height:1.55;display:grid}.degree-assistant p.degree-assistant-message{width:fit-content;margin:0 0 14px auto;display:block}.degree-assistant-reply ul,.degree-assistant-reply ol{gap:4px;margin:0;padding-left:20px;font-size:14px;line-height:1.55;display:grid}.degree-assistant-reply li::marker{color:var(--text-4)}.degree-assistant-reply strong{font-weight:500}.degree-assistant .degree-assistant-reply .reply-heading{color:var(--text-1);margin-top:6px;font-size:14px;font-weight:500}.degree-assistant .degree-assistant-reply .reply-heading.is-minor{color:var(--text-2);font-size:13px}.degree-assistant .degree-assistant-reply .reply-heading:first-child{margin-top:0}.reply-table{border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);max-width:100%;overflow-x:auto}.reply-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px;line-height:1.45}.reply-table th{border-bottom:var(--hairline) solid var(--line);background:var(--soft-fill);color:var(--text-3);text-align:left;white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:500}.reply-table td{border-bottom:var(--hairline) solid var(--line-faint);vertical-align:top;overflow-wrap:normal;padding:7px 10px}.reply-table tr:last-child td{border-bottom:0}.reply-code{border-radius:var(--radius-sm);background:var(--soft-fill);font-family:var(--mono);color:var(--text-2);white-space:pre;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow-x:auto}.reply-code code{font-size:inherit}.reply-rule{border:0;border-top:var(--hairline) solid var(--line-faint);width:100%;margin:4px 0}.degree-assistant-reply code,.degree-assistant-settings code{font-family:var(--mono);font-size:12px}.degree-assistant .degree-assistant-status,.degree-assistant .degree-assistant-hint{color:var(--text-3)}.degree-assistant .degree-assistant-error{color:var(--danger)}.degree-assistant-consent{border-top:var(--hairline) solid var(--line);flex:none;gap:10px;margin:0 16px;padding:12px 0 0;display:grid}.degree-assistant-consent>div{gap:8px;display:flex}.degree-assistant .degree-assistant-consent p{color:var(--text-2);font-size:12px}.degree-assistant-data{border-radius:var(--radius-sm);background:var(--soft-fill);max-height:160px;font-family:var(--mono);white-space:pre-wrap;color:var(--text-2);flex:none;margin:6px 16px 0;padding:8px 10px;font-size:11px;line-height:1.45;overflow:auto}.degree-assistant-composer button[aria-label=Stop]{background:var(--text-1)}.degree-assistant-settings{gap:14px;display:grid}.degree-assistant-settings p{max-width:520px;font-size:12px}.degree-assistant-settings-error,.degree-assistant-settings-test .is-failed{color:var(--danger)}.degree-assistant-settings-test .is-ok{color:var(--ok)}.degree-assistant-settings-test{overflow-wrap:anywhere;max-width:520px;font-size:13px}.degree-assistant-settings-actions{align-items:center;gap:8px;display:flex}.degree-assistant-test-ok{color:var(--ok);align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.degree-assistant-key{display:block;position:relative}.degree-assistant-key input.has-saved{padding-right:40px}.degree-assistant-key input.has-saved::placeholder{color:var(--text-1);letter-spacing:.04em;opacity:1}.degree-assistant-key-forget{width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.degree-assistant-key-forget:hover{background:var(--soft-fill);color:var(--danger)}.degree-assistant-key-forget:focus-visible{box-shadow:var(--focus-ring);outline:none}.degree-assistant-thinking{color:var(--text-3);font-size:12px}.degree-assistant-thinking summary{cursor:pointer;width:fit-content;color:var(--text-3);transition:color var(--motion-fast) var(--ease-standard);align-items:center;gap:4px;margin-left:-2px;font-size:12px;list-style:none;display:flex}.degree-assistant-thinking summary::-webkit-details-marker{display:none}.degree-assistant-thinking summary:hover{color:var(--text-1)}.degree-assistant-thinking-chevron{color:var(--text-5);transition:transform var(--motion-fast) var(--ease-standard);flex:none}.degree-assistant-thinking[open] .degree-assistant-thinking-chevron{transform:rotate(90deg)}.degree-assistant-thinking.is-active summary span{animation:degree-assistant-working 1.6s var(--ease-standard) infinite}.degree-assistant-thinking-body{border-left:var(--hairline) solid var(--line);gap:6px;max-height:220px;margin:6px 0 0 5px;padding-left:12px;display:grid;overflow-y:auto}.degree-assistant .degree-assistant-thinking-text{color:var(--text-3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.degree-assistant .degree-assistant-thinking-lookup{color:var(--text-4);font-size:12px}@keyframes degree-assistant-working{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.degree-assistant-thinking.is-active summary span{animation:none}.degree-assistant-thinking-chevron{transition:none}}.degree-assistant-search{border:0;border-top:var(--hairline) solid var(--line);gap:12px;margin:10px 0 0;padding:16px 0 0;display:grid}.degree-assistant-search legend{padding:0;font-size:14px;font-weight:500}.degree-assistant-search label{gap:8px;max-width:440px;font-size:13px;display:grid}.degree-assistant-search select{border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-sm);background:var(--canvas);height:40px;color:var(--text-1);font:inherit;padding:0 10px}.degree-assistant-settings input:hover{border-color:var(--text-6)}.degree-assistant-suggestions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.degree-assistant-suggestions .btn{text-align:left;white-space:normal;height:auto;min-height:34px}.dialog.settings-dialog{background:linear-gradient(to right, var(--ground) 244px, var(--surface) 244px);grid-template-rows:auto minmax(0,1fr);height:min(80dvh,820px);overflow:hidden}.settings-dialog .settings-shell{max-width:none;height:100%;overflow:hidden}.settings-dialog>.dialog-head{grid-template-columns:200px minmax(0,1fr);align-items:center;column-gap:32px}.settings-section-title{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:400;line-height:1.25}.settings-dialog .settings-nav{background:var(--ground);height:100%;position:static;overflow-y:auto}.settings-dialog .settings-nav-body{overscroll-behavior:contain;background:var(--surface);height:100%;margin:-6px 0 -6px -8px;padding:6px 4px 6px 8px;overflow-y:auto}@media (width<=720px){.settings-dialog>.dialog-head{grid-template-columns:1fr}.dialog.settings-dialog{background:var(--surface);height:92dvh}.settings-dialog .settings-nav{border-radius:var(--radius-sm);height:auto;padding:12px}}.settings-shell{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:32px;max-width:960px;display:grid}.settings-nav{top:calc(var(--topbar-h) + 20px);flex-direction:column;gap:18px;display:flex;position:sticky}.settings-nav-group{flex-direction:column;gap:1px;display:flex}.settings-nav-group-label{color:var(--text-5);letter-spacing:.04em;text-transform:uppercase;padding:0 10px 4px;font-size:12px;font-weight:500}.settings-nav-link{border-radius:var(--radius-button);color:var(--text-3);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.settings-nav-link svg{width:15px;height:15px;color:var(--text-5);flex:none;display:block}.settings-nav-icon{flex:0 0 15px;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.settings-nav-text{line-height:1.4}.settings-nav-link:hover{background:var(--surface-2);color:var(--text-1)}.settings-nav-link[aria-current=page]{background:var(--soft-fill);color:var(--text-1);font-weight:500}.settings-nav-link[aria-current=page] svg{color:var(--text-1)}.settings-nav-body{min-width:0}@media (width<=720px){.settings-shell{display:block}.settings-nav{flex-flow:wrap;gap:6px;margin-bottom:20px;position:static}.settings-nav-link{border:var(--hairline) solid var(--line-faint)}}.settings-page{grid-template-columns:minmax(0,1fr);gap:26px;max-width:760px;display:grid}.settings-block{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.settings-block-head h2{color:var(--text-1);margin:0;font-size:14px;font-weight:500}.settings-block-head p{text-wrap:pretty;margin:3px 0 0;line-height:1.45}.settings-block-body{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-save{margin:0 calc(var(--gutter) * -1);padding:12px var(--gutter);background:var(--blur-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:var(--hairline) solid var(--line-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;bottom:0}.settings-save>span:first-child{flex:240px;min-width:0;line-height:1.4}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice-tile{border:var(--hairline) solid var(--line);border-radius:var(--radius-button);background:var(--surface);color:var(--text-2);cursor:pointer;align-items:center;gap:8px;padding:9px 14px;font-size:13px;display:flex}.choice-tile:hover{border-color:var(--line-strong);background:var(--surface-2)}.choice-tile.is-on{border-color:var(--line-strong);background:var(--soft-fill);color:var(--text-1)}.choice-tile svg{width:15px;height:15px}.choice-tile-code{font-variant-numeric:tabular-nums;font-weight:500}.pq-list{grid-template-columns:minmax(0,1fr);gap:3px;margin:0;padding:0;list-style:none;display:grid}.pq-line{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.pq-code{color:var(--text-1);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}button.pq-code-btn{cursor:pointer;background:0 0;border:0;padding:0}button.pq-code-btn:hover{text-underline-offset:3px;text-decoration:underline}.pq-text,.pq-join{color:var(--text-4);font-size:13px}.pq-source{text-wrap:pretty;margin:8px 0 0;line-height:1.45}.ws-list{border-top:var(--hairline) solid var(--line-faint);flex-direction:column;display:flex}.ws-row{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:24px;min-height:48px;padding:8px 0;display:grid}.ws-row.is-current .ws-row-name:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.ws-row-name{min-width:0;color:var(--text-1);overflow-wrap:anywhere;padding-left:14px;font-size:13px;line-height:1.5;position:relative}.ws-row-actions{flex:none;gap:8px;display:flex}.saving-simple{gap:28px}.saving-simple .storage-rows{border-radius:var(--radius-card);background:var(--ground);padding:8px 16px}.saving-simple .settings-block-body{gap:14px;display:grid}.saving-manage{color:var(--text-4);justify-self:start}.saving-export-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=560px){.ws-row{grid-template-columns:minmax(0,1fr);gap:12px}.ws-row-actions{justify-content:flex-end}}.prior-reference{gap:18px;display:grid}.prior-reference>p{margin:0}.prior-reference-system{gap:12px;display:grid}.prior-reference-system>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.prior-reference-system h3{margin:0;font-size:14px;font-weight:500}.prior-reference-rules{margin:0;padding:0;list-style:none}.prior-reference-rules>li{border-bottom:var(--hairline) solid var(--line-faint);gap:8px;padding:14px 0;display:grid}.prior-reference-rules p{margin:0}.prior-reference-links{flex-wrap:wrap;gap:16px;display:flex}.prior-records .prior-category-card{cursor:default}.prior-records .prior-category-card:hover{border-color:var(--line)}.prior-records .prior-category-card.is-on:hover{border-color:var(--line-strong)}.prior-record-card{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--soft-fill);padding:16px}.prior-record-card>header{align-items:center;gap:10px;display:flex}.prior-record-card h3{margin:0;font-size:14px;font-weight:500}.prior-editor{flex-direction:column;min-height:0;max-height:60dvh;display:flex}.prior-editor-content{overscroll-behavior:contain;min-height:0;overflow-y:auto}.prior-editor-actions{border-top:var(--hairline) solid var(--line);flex-shrink:0;margin-top:12px;padding-top:12px}.settings-dialog .settings-nav-body:has(.prior-editor){overflow:hidden}.settings-dialog .settings-page:has(.prior-editor){grid-template-rows:auto minmax(0,1fr);height:100%}.settings-dialog .settings-page:has(.prior-editor)>.ov-panel{grid-template-rows:minmax(0,1fr);align-content:stretch;min-height:0}.settings-dialog .settings-page:has(.prior-editor) .ov-panel-body{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.settings-dialog .prior-editor{height:100%;max-height:none}.terms-config-section{border-top:var(--hairline) solid var(--line-faint);gap:14px;padding-top:20px;display:grid}.terms-config-section h3{margin:0}.terms-config-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.terms-config-limit{grid-template-columns:minmax(0,1fr) 112px 28px;align-items:center;gap:12px;display:grid}.terms-config-credit{color:var(--text-3);align-items:center;gap:8px;font-size:13px;display:flex}.terms-config-credit .input{width:80px}.terms-config-visibility{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;display:grid}.terms-config-option{cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}@media (width<=560px){.terms-config-visibility{grid-template-columns:repeat(2,minmax(0,1fr))}.terms-config-limit{grid-template-columns:minmax(0,1fr) 98px 28px;gap:8px}.terms-config-credit .input{width:68px}}.ov{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.ov-panel{grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;display:grid}.ov-panel-head{border-bottom:var(--hairline) solid var(--line-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.ov-panel-head h2{color:var(--text-1);margin:0;font-size:14px;font-weight:500}.ov-panel-body{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 18px 16px;display:grid}.ov-slot{color:var(--text-5);font-size:12px}.ov-term-head .subtle{margin-left:auto}button.ov-chip{font-variant-numeric:tabular-nums;cursor:pointer}.ov-toolbar .btn-quiet.ov-danger:not(:disabled){color:var(--danger)}.ov-toolbar .btn-quiet.ov-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.ov-panel-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.ov-slots{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.ov-slot-group{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 18px;display:grid}.ov-slot-group:last-child{border-bottom:0}.ov-slot-label{color:var(--text-4);flex-wrap:wrap;gap:8px;font-size:12px;font-weight:500;display:flex}.ov-slot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-width:0;padding:4px 0;display:flex}.ov-slot-row.is-empty>span{flex:200px;min-width:0;line-height:1.45}.ov-slot-row.is-add{justify-content:flex-start;padding-top:8px}.ov-slot-row.is-add>span{flex:200px}.ov-slot-program{flex:260px;grid-template-columns:minmax(0,1fr);justify-items:start;gap:2px;min-width:0;display:grid}.ov-slot-title{color:var(--text-1);overflow-wrap:anywhere;font-size:14px}.ov-slot-program .link-btn{color:var(--text-5);font-size:12px}.ov-slot-actions{flex-wrap:wrap;gap:4px;display:flex}.ov-compare{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;padding-bottom:14px;display:grid}.ov-compare-col{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;display:grid}.ov-impact-block{padding-top:4px}.ov-compare-list{color:var(--text-1);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.ov-impact{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.ov-impact li{color:var(--text-2);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;font-size:14px;line-height:1.45;display:grid}.ov-impact svg{width:16px;height:16px;color:var(--text-5);margin-top:1px}.ov-impact svg.is-ok{color:var(--ok)}.ov-impact svg.is-warn{color:var(--warn)}.ov-codes{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.ov-facts{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;display:grid}.ov-facts>div{grid-template-columns:150px minmax(0,1fr);gap:12px;font-size:13px;display:grid}.ov-facts dt{color:var(--text-4)}.ov-facts dd{min-width:0;color:var(--text-1);overflow-wrap:anywhere;margin:0}@media (width<=480px){.ov-facts>div{grid-template-columns:minmax(0,1fr);gap:0}}.ov-terms-form{gap:16px;padding-bottom:18px}.ov-terms-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:start;gap:16px;display:grid}.ov-terms-grid .field:has(.grad-picker){grid-column:1/-1}.ov-terms-grid .inline-fields .select{height:auto}.ov-terms-grid .inline-fields{flex-wrap:wrap}.ov-terms-grid .inline-fields .select{flex:100px;min-width:0}.ov-form-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ov-form-foot>span{flex:240px;min-width:0;line-height:1.4}.settings-page>.ov-panel .ov-panel-head{padding:0 0 12px}.settings-page>.ov-panel .ov-slot-group{padding:12px 0}.settings-page>.ov-panel .ov-panel-body{padding:0}.ts-privacy{grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px}.ts-privacy>svg{width:16px;height:16px;color:var(--info);margin-top:1px}.ts-steps{color:var(--text-3);gap:6px;margin:0;padding-left:20px;font-size:13px;display:grid}.ts-steps li::marker{color:var(--text-4)}.ts-box{white-space:pre;overflow-wrap:normal;min-height:132px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ts-raw summary{color:var(--text-3);cursor:default;font-size:13px}.ts-raw pre{border-radius:var(--radius-sm);background:var(--soft-fill);color:var(--text-3);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;padding:10px 12px;font-size:12px}.ts-table{table-layout:auto}.ts-table td{white-space:normal;height:auto;padding-top:8px;padding-bottom:8px}.ts-table .code{color:var(--text-1);font-weight:500}.ts-note{color:var(--text-4);font-size:12px;font-style:normal;display:block}.ts-grade{color:var(--text-1);margin-left:8px}.ov-away{border-top:var(--hairline) solid var(--line);gap:6px;margin-top:20px;padding-top:18px;display:grid}.ov-away-terms{flex-wrap:wrap;gap:8px 18px;margin-top:6px;display:flex}@media (width>=721px){.search-dialog.dialog-wide{width:min(680px,100vw - 32px);max-height:min(76dvh,720px);top:clamp(72px,14dvh,140px);transform:translate(-50%)}.dialog.search-dialog[data-starting-style],.dialog.search-dialog[data-ending-style]{transform:translate(-50%,-8px)scale(.985)}}.search-dialog .dialog-close{top:26px;right:28px}.search-dialog .dialog-head{padding-right:48px}.search-dialog .dialog-title{letter-spacing:-.02em;width:100%;font-size:22px;font-weight:400;line-height:1.25}.search-dialog-head{justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:32px;display:flex}.search-dialog-heading{letter-spacing:-.02em;color:var(--text-1);font-size:22px;font-weight:400;line-height:1.25}.search-toggle{border-radius:var(--radius-sm);background:var(--soft-fill);border:var(--hairline) solid var(--line-faint);align-items:center;gap:2px;padding:3px;display:inline-flex}.search-toggle-btn{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-3);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.search-toggle-btn:hover{color:var(--text-1)}.search-toggle-btn.is-active{background:var(--surface-float);color:var(--text-1);box-shadow:0 1px 3px #0000001f}.search-toggle-count{background:var(--soft-fill-hover);min-width:16px;height:16px;color:var(--text-4);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.search-toggle-btn.is-active .search-toggle-count{background:var(--soft-fill);color:var(--text-2)}.search-page{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:100%;display:grid}.search-page-bar{width:100%}.search-page-bar .input{height:44px;padding-left:38px;padding-right:38px;font-size:15px}.search-page-bar>svg{width:16px;height:16px;left:12px}.search-page-bar .search-clear{width:22px;height:22px;right:10px}.search-page-bar .search-clear svg{width:13px;height:13px}.search-unified-container{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;display:grid}.search-filter-bar{flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin-top:-4px;display:flex}.search-filter-btn{border-radius:var(--radius-sm);height:28px;color:var(--text-3);background:var(--soft-fill);border:var(--hairline) solid var(--line-faint);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.search-filter-btn svg{width:13px;height:13px}.search-filter-btn:hover{background:var(--soft-fill-hover);color:var(--text-1)}.search-filter-btn.is-active{background:var(--soft-fill-hover);color:var(--text-1);border-color:var(--line-strong)}.search-filter-badge{background:var(--accent);min-width:16px;height:16px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.search-filter-pill{border-radius:var(--radius-sm);border:var(--hairline) solid var(--line-faint);height:28px;color:var(--text-3);font:inherit;cursor:pointer;white-space:nowrap;transition:all var(--motion-fast) var(--ease-standard);background:0 0;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.search-filter-pill:hover{background:var(--soft-fill);color:var(--text-1)}.search-filter-pill.is-active{background:var(--soft-fill-hover);color:var(--text-1);border-color:var(--line-strong)}.search-filter-pill .pill-close{opacity:.6;align-items:center;margin-left:2px;font-size:13px;line-height:1;display:inline-flex}.search-filter-pill:hover .pill-close{opacity:1}.search-filter-clear{height:28px;color:var(--text-4);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;align-items:center;padding:0 6px;font-size:11px;text-decoration:underline;display:inline-flex}.search-filter-clear:hover{color:var(--text-1)}.search-result-list{flex-direction:column;gap:2px;width:100%;max-height:none;margin:0;padding:0;display:flex;overflow-y:visible}.search-result-list li{border-bottom:0}.search-result-list .result-row,.result-row.search-course-row,.result-row.search-requirement-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--ease-standard);padding:8px 12px;text-decoration:none}.search-result-list .result-row:hover,.search-course-row:hover,.search-requirement-row:hover{background:var(--soft-fill)}.result-row.search-course-row{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"code title""code meta"}.result-row.search-requirement-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action";align-items:center;column-gap:12px;width:100%;display:grid}.search-requirement-row .search-req-content{flex-direction:column;grid-area:title;justify-content:center;min-width:0;display:flex}.search-requirement-row .result-title{color:var(--text-1);white-space:normal;margin:0;font-size:14px;font-weight:500;line-height:1.35;overflow:visible}.search-requirement-row .search-row-action{flex:none;grid-area:action;justify-content:flex-end;align-items:center;display:flex}.search-link-icon{width:22px;height:22px;color:var(--text-4);transition:color var(--motion-fast) var(--ease-standard);background:0 0;justify-content:center;align-items:center;display:inline-flex}.search-link-icon svg{width:15px;height:15px}.search-requirement-row:hover .search-link-icon{color:var(--text-1)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px;padding:18px 20px 16px;display:grid}.small{font-size:12px}.spacer,.grow{flex:1}.danger-text,.danger-text svg{color:var(--danger)!important}.empty{text-align:center;gap:4px;padding:40px 24px;display:grid}.center-note{text-align:center;padding:32px 0}.section-title{letter-spacing:-.015em;font-size:20px;font-weight:400}.view-stack{gap:14px;display:grid}.view-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-card{overflow:hidden}.cell-title span{color:var(--text-1)}.cell-group{color:var(--text-4);text-overflow:ellipsis;display:block;overflow:hidden}.cell-select{align-items:center;gap:6px;min-width:0;display:flex}.cell-select .select-inline{padding-left:2px}.dtable th.has-dot{padding-left:22px}.cell-select .select-inline{flex:1;min-width:0}.cell-seasons{gap:8px;display:inline-flex}.season-tag{color:var(--text-4);align-items:center;gap:4px;font-size:12px;display:inline-flex}.dtable tr.is-muted .code,.dtable tr.is-muted .cell-title span{color:var(--text-3)}.dtable .tag{height:18px;font-size:12px}.dtable.is-phone{width:100%}.dtable.is-phone .col-check{width:34px;padding-left:8px}.dtable.is-phone td,.dtable.is-phone th{padding:0 6px}.panel-head{border-bottom:var(--hairline) solid var(--line);flex:none;gap:8px;padding:22px 20px 18px 28px;display:grid}.panel-head-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-head-actions{flex:none;align-items:center;gap:8px;display:flex}.panel-kicker{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-kind{align-items:center;gap:8px;min-width:0;display:flex}.panel-remove{color:var(--text-4);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.panel-remove:hover{color:var(--text-1);text-underline-offset:3px;text-decoration:underline}.panel-remove:focus-visible{box-shadow:var(--focus-ring)}.panel-faces{margin-left:auto}.panel-note{color:var(--text-2);white-space:pre-wrap;margin:0 0 6px;font-size:13px;line-height:1.5}.panel-faces button{min-height:26px;padding:3px 10px}.panel-title{gap:4px;margin:0;font-weight:400;display:grid}.panel-title .code{color:var(--text-4);font-size:13px;font-weight:500}.panel-edited{color:var(--text-3);margin-left:6px;font-weight:400}.code-edited{vertical-align:middle;background:#000;border-radius:50%;width:4px;height:4px;margin-left:2px;font-size:0;display:inline-block;position:relative;top:-4px}.panel-subtitle{letter-spacing:-.02em;font-size:22px;line-height:1.25}.panel-group{color:var(--text-4);font-size:13px}.panel-facts{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:8px;font-size:13px;display:flex}.panel-facts>span{align-items:center;gap:6px;display:inline-flex}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 28px 28px;overflow-y:auto}.panel-section{border-bottom:var(--hairline) solid var(--line-faint);gap:10px;padding:18px 0;display:grid}.panel-section:last-child{border-bottom:0}.course-edit .panel-section{gap:var(--space-4);padding-block:var(--space-6)}.course-edit .panel-section>p{margin:0}.course-edit-check{gap:var(--space-1);display:grid}.course-edit-check .field-hint{margin:0;padding-left:26px}.course-edit-list{gap:var(--space-2);display:grid}.prerequisite-heading{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.prerequisite-heading .eyebrow{margin:0}.prerequisite-waive{text-underline-offset:2px;font-size:12px;text-decoration:underline}.prop-grid{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.prop-label{color:var(--text-4);font-size:13px}.prop-value{padding-left:8px}.prop-grid .select-inline{width:100%}.input-compact{width:96px;min-height:28px;padding:3px 8px}.panel-edit{gap:10px;margin-top:6px;display:grid}.facts{grid-template-columns:132px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--text-4)}.facts dd{color:var(--text-2);margin:0;line-height:1.5}.season-checks{flex-wrap:wrap;gap:18px;display:flex}.chip-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tray-chip{border-radius:var(--radius-sm);background:var(--soft-fill);align-items:center;gap:2px;height:26px;padding-left:10px;display:inline-flex}.tray-chip:hover{background:var(--soft-fill-hover)}.tray-chip-remove{width:22px;height:22px}.chip-link{color:var(--text-1);background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.add-search{gap:12px;display:grid}.add-manual{color:var(--text-4);align-items:baseline;gap:4px;font-size:13px;display:inline-flex}.add-manual-link{text-underline-offset:3px;text-decoration:underline}.result-list{gap:0;max-height:46dvh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.result-list li{border-bottom:var(--hairline) solid var(--line-faint)}.result-list li:last-child{border-bottom:0}.result-row{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:0;grid-template-columns:96px minmax(0,1fr) auto;grid-template-areas:"code title badge""code meta badge";align-items:center;column-gap:12px;padding:8px 10px;display:grid}.result-row:hover{background:var(--soft-fill)}.result-row .code{grid-area:code}.result-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;grid-area:title;overflow:hidden}.result-row .subtle{grid-area:meta;font-size:12px}.result-row .tag{grid-area:badge}.picked{border-top:var(--hairline) solid var(--line-faint);gap:6px;padding:12px 4px 0;display:grid}.picked-head{align-items:center;gap:10px;display:flex}.picked-head>span:nth-child(2){flex:1}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}.settings-form{gap:16px;display:grid}.dialog-wide .picker{grid-template-columns:210px minmax(0,1fr)}.dialog .picker-tray{box-shadow:inset 0 0 0 var(--hairline) var(--line);position:static}.dialog .picker-list{padding-bottom:8px}.dialog-wide .picker-faculties{top:0}.storage-rows{gap:0;display:grid}.storage-row{border-bottom:var(--hairline) solid var(--line-faint);grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.storage-row:last-child{border-bottom:0}.storage-row>svg{width:18px;height:18px;color:var(--text-4);margin-top:1px}.storage-row strong{font-weight:500}.help-list{gap:12px;margin:0;display:grid}.help-list dt{font-weight:500}.help-list dd{margin:2px 0 0;font-size:13px}@media print{@page{size:A4;margin:14mm}:root,:root[data-theme=dark],:root[data-theme=light]{--text-1:#111;--text-2:#222;--text-3:#555;--text-4:#555;--text-5:#666;--text-6:#999;--surface:#fff;--surface-2:#fff;--surface-float:#fff;--canvas:#fff;--line:#ccc;--line-faint:#ddd;--line-strong:#bbb;--soft-fill:transparent;--soft-fill-hover:transparent;--row-hover:transparent;--brand:#d6001c;--brand-soft:transparent;--shadow-card:none;--shadow-panel:none;--hairline:1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#111;background:#fff;font-size:12px}.viewhead,.rail,.filter-chips,.program-chips .btn,.banner,.toast,.col-check,.col-resize,.page-footer span:last-child{display:none!important}.page{max-width:none;padding:0}.card{break-inside:avoid-page;box-shadow:0 0 0 1px #ccc}.select-inline{appearance:none;background:0 0;padding:0}.table-wrap{overflow:visible}.dtable{width:100%!important}}@media (width>=721px){.menu-prefs{display:none}}.course-marker{vertical-align:super;width:9px;height:9px;color:var(--text-4);flex:none;justify-content:center;align-items:center;margin-left:3px;line-height:1;display:inline-flex;transform:translateY(-.15em)}.course-marker svg{flex:none;width:9px;height:9px}.course-marker.is-stacked{vertical-align:middle;flex-direction:column;gap:2px;height:20px;transform:none}.add-pool{gap:8px;display:grid}.feedback-dialog{width:min(480px, calc(100vw - var(--space-8)));padding:var(--space-6);gap:var(--space-6)}.feedback-dialog .dialog-head{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto}.feedback-dialog .dialog-title{color:var(--text-1);margin:0;font-size:18px;font-weight:500}.feedback-dialog .dialog-header-aside{align-items:center;display:flex}.feedback-dialog .dialog-desc{color:var(--text-3);grid-column:1/-1;font-size:13px}.feedback-form{gap:var(--space-6);display:grid}.feedback-fields{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.feedback-fields .field{gap:var(--space-2);margin:0;display:grid}.feedback-fields .field-label{color:var(--text-3)}.feedback-type{justify-self:start}.feedback-fields textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:104px}.feedback-honeypot{clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.feedback-form .callout{gap:var(--space-2);justify-items:start;display:grid}.feedback-programs{gap:var(--space-2);display:grid}.feedback-programs .block-title{margin:0}.feedback-programs ul{margin:0;padding:0;list-style:none}.feedback-programs li{padding-block:var(--space-2);border-top:var(--hairline) solid var(--line-faint);color:var(--text-3);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.feedback-dialog .dialog-actions{padding-top:var(--space-4);border-top:var(--hairline) solid var(--line-faint);margin:0}.add-pool-filter{flex-wrap:wrap;justify-self:start}*{scrollbar-width:none!important}::-webkit-scrollbar{width:0;height:0;display:none}.app-scrollbar{z-index:var(--z-local);touch-action:none;cursor:pointer;border-radius:99px;position:fixed}.app-scrollbar-thumb{background:var(--text-4);opacity:.55;cursor:grab;border-radius:99px;width:100%;height:100%;transition:opacity .22s;animation:.22s app-scrollbar-in;position:absolute;top:0;left:0}.app-scrollbar.is-x .app-scrollbar-thumb{width:auto}.app-scrollbar.is-y .app-scrollbar-thumb{height:auto}.app-scrollbar.is-dragging .app-scrollbar-thumb{opacity:.8;cursor:grabbing}.app-scrollbar.is-leaving{pointer-events:none}.app-scrollbar.is-leaving .app-scrollbar-thumb{opacity:0}@keyframes app-scrollbar-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.app-scrollbar-thumb{transition:none;animation:none}}.viewport-limit{display:none}@media (width<=1023px),(height<=599px){.app-real{display:none!important}.viewport-limit{z-index:2147483647;background:var(--ground);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.viewport-limit-card{border:var(--hairline) solid var(--line);border-radius:var(--radius-card);background:var(--surface);width:min(100%,440px);padding:28px}.viewport-limit-card h1{color:var(--text-1);margin:24px 0 12px;font-size:22px;font-weight:500}.viewport-limit-card p{color:var(--text-3);margin:8px 0 0;font-size:14px;line-height:1.6}.app-real:has(.landing){display:block!important}.app-real:has(.landing)~.viewport-limit{display:none!important}}
