@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--sans: "Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--bg: #f6f3ed;--surface: #fffdfa;--surface-2: #f0ede6;--surface-3: #e6e2d9;--border: rgba(24, 22, 19, .1);--border-strong: rgba(24, 22, 19, .2);--text: #181613;--text-2: #4f4a43;--text-3: #67615a;--accent: #2557c9;--on-accent: #ffffff;--accent-soft: #e6edfb;--focus: #2557c9;--agent: #b01f55;--on-agent: #ffffff;--agent-soft: #fbebf1;--edge: inset 0 1px 0 rgba(255, 255, 255, .95);--sheen: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0));--shadow-1: 0 1px 2px rgba(28, 22, 14, .05);--shadow-2: 0 1px 2px rgba(28, 22, 14, .05), 0 10px 26px rgba(28, 22, 14, .08);--shadow-3: 0 1px 2px rgba(28, 22, 14, .06), 0 22px 48px rgba(28, 22, 14, .16);--shadow-accent: 0 1px 2px rgba(37, 87, 201, .4), 0 4px 10px -3px rgba(37, 87, 201, .4);--scrim: rgba(24, 22, 19, .4);--glow: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 220px);--on-status: #ffffff;--band-0: #2557c9;--band-1: #0d9488;--band-2: #c2410c;--on-band: #ffffff;--ease: cubic-bezier(.2, .6, .2, 1);--t-fast: .12s var(--ease);--t-base: .18s var(--ease);--wharton-base: #16807a;--engineering-base: #3a63c8;--masters-base: #a8553a;--wharton: #e1f0ee;--wharton-ink: #0f5f5b;--engineering: #e5ebf9;--engineering-ink: #23407f;--masters: #f6e9e3;--masters-ink: #7a3622;--done: #16a34a;--done-bg: #ecf8f0;--done-ink: #136b36;--planned: #d99a06;--planned-bg: #fdf5e0;--planned-ink: #85560a;--unplaced: #ea6a1c;--unplaced-bg: #fdf0e6;--unplaced-ink: #a1440a;--unfilled: #e5484d;--unfilled-bg: #fdeeee;--unfilled-ink: #b0222a;--overlimit: #71717a;--overlimit-bg: #f0f0f3;--overlimit-ink: #4f4f58;--toolbar-h: 44px;--s1: 2px;--s2: 4px;--s3: 6px;--s4: 8px;--s5: 12px;--s6: 16px;--s7: 24px;--fs-1: 10.5px;--fs-2: 11.5px;--fs-3: 12.5px;--fs-4: 13.5px;--fs-5: 15.5px;--fs-6: 19px;--fs-7: 24px;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-pill: 5px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #131210;--surface: #1b1a17;--surface-2: #232120;--surface-3: #2d2a27;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--text: #f0ede7;--text-2: #a9a29a;--text-3: #9a938a;--accent: #6ea8fe;--on-accent: #0c1424;--accent-soft: #1b2a45;--focus: #6ea8fe;--agent: #f08cae;--on-agent: #2a0a17;--agent-soft: #34131f;--edge: inset 0 1px 0 rgba(255, 255, 255, .055);--sheen: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0));--shadow-1: 0 1px 2px rgba(0, 0, 0, .45);--shadow-2: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 28px rgba(0, 0, 0, .42);--shadow-3: 0 1px 2px rgba(0, 0, 0, .55), 0 24px 56px rgba(0, 0, 0, .55);--shadow-accent: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 12px -3px rgba(110, 168, 254, .35);--scrim: rgba(0, 0, 0, .6);--glow: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0) 220px);--on-status: #230808;--band-0: #6ea8fe;--band-1: #5eead4;--band-2: #fdba74;--on-band: #0c1424;--wharton: #14322f;--wharton-ink: #8fd6cf;--engineering: #1a2744;--engineering-ink: #a6bdf2;--masters: #3a2219;--masters-ink: #efb49c;--done: #4ade80;--done-bg: #10231a;--done-ink: #6ee7a0;--planned: #fbbf24;--planned-bg: #2a2210;--planned-ink: #fcd34d;--unplaced: #fb923c;--unplaced-bg: #2b1a10;--unplaced-ink: #fdba74;--unfilled: #f87171;--unfilled-bg: #2b1315;--unfilled-ink: #fca5a5;--overlimit: #9ca3af;--overlimit-bg: #1f2127;--overlimit-ink: #b4bac4}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #131210;--surface: #1b1a17;--surface-2: #232120;--surface-3: #2d2a27;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--text: #f0ede7;--text-2: #a9a29a;--text-3: #9a938a;--accent: #6ea8fe;--on-accent: #0c1424;--accent-soft: #1b2a45;--focus: #6ea8fe;--agent: #f08cae;--on-agent: #2a0a17;--agent-soft: #34131f;--edge: inset 0 1px 0 rgba(255, 255, 255, .055);--sheen: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0));--shadow-1: 0 1px 2px rgba(0, 0, 0, .45);--shadow-2: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 28px rgba(0, 0, 0, .42);--shadow-3: 0 1px 2px rgba(0, 0, 0, .55), 0 24px 56px rgba(0, 0, 0, .55);--shadow-accent: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 12px -3px rgba(110, 168, 254, .35);--scrim: rgba(0, 0, 0, .6);--glow: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0) 220px);--on-status: #230808;--band-0: #6ea8fe;--band-1: #5eead4;--band-2: #fdba74;--on-band: #0c1424;--wharton: #14322f;--wharton-ink: #8fd6cf;--engineering: #1a2744;--engineering-ink: #a6bdf2;--masters: #3a2219;--masters-ink: #efb49c;--done: #4ade80;--done-bg: #10231a;--done-ink: #6ee7a0;--planned: #fbbf24;--planned-bg: #2a2210;--planned-ink: #fcd34d;--unplaced: #fb923c;--unplaced-bg: #2b1a10;--unplaced-ink: #fdba74;--unfilled: #f87171;--unfilled-bg: #2b1315;--unfilled-ink: #fca5a5;--overlimit: #9ca3af;--overlimit-bg: #1f2127;--overlimit-ink: #b4bac4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);font-size:var(--fs-4);line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";text-rendering:optimizeLegibility}h1,h2,h3,h4{letter-spacing:-.015em}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box;border:3px solid transparent}::-webkit-scrollbar-track{background:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:5px var(--s5);color:var(--text);font-weight:500;box-shadow:var(--edge),var(--shadow-1);transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-3);box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 85%,#000);color:var(--on-accent);font-weight:600;box-shadow:inset 0 1px #ffffff47,var(--shadow-accent)}button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 90%,#fff);border-color:color-mix(in srgb,var(--accent) 85%,#000)}button.primary:active:not(:disabled){background:var(--accent);box-shadow:none}button.ghost{background:transparent;border-color:transparent;color:var(--text-2);box-shadow:none}button.ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}button.danger{color:var(--unfilled-ink)}button.danger:hover:not(:disabled){background:var(--unfilled-bg);border-color:var(--unfilled)}button.warn{background:var(--planned-bg);color:var(--planned-ink);border-color:var(--planned)}button.warn:hover:not(:disabled){background:var(--planned-bg);filter:brightness(.97);border-color:var(--planned)}button.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-size:inherit;box-shadow:none;font-weight:inherit}button.link:hover:not(:disabled){background:none;filter:brightness(1.2)}input:disabled,select:disabled,textarea:disabled{opacity:.6;background:var(--surface-2);cursor:not-allowed}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:5px var(--s5);width:100%;box-shadow:inset 0 1px 1px #14142808;transition:border-color var(--t-fast),box-shadow var(--t-fast),background-color var(--t-fast)}input::placeholder,textarea::placeholder{color:var(--text-3);opacity:.85}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}textarea{resize:vertical;font-family:inherit;padding:var(--s4) var(--s5)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft)}.rulerow:focus-visible,.rulegroup-head:focus-visible,.entry:focus-visible,.resultinfo:focus-visible,.violation:focus-visible,.pane-collapsed:focus-visible,.block:focus-visible{outline-offset:-2px}.pill:focus-visible,.pinbtn:focus-visible,.notebtn:focus-visible,.slotbtn:focus-visible,.cu:focus-visible,.stat.clickable:focus-visible,.instructor:focus-visible{outline-offset:1px;border-radius:var(--radius-sm)}a{color:var(--accent)}.mono{font-family:var(--mono)}.muted{color:var(--text-3)}.small{font-size:var(--fs-2)}.row{display:flex;align-items:center;gap:var(--s3)}.col{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.spacer{flex:1}.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hidden{display:none!important}.app{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg) var(--glow) no-repeat}.app>.topbar,.app>.panelbar,.app>.banner{flex:0 0 auto}.app>.appbody{flex:1 1 auto;min-height:0}.appbody{display:flex;min-height:0;overflow:hidden}.panes{display:flex;flex:1;min-height:0;min-width:0;overflow:clip}.paneslot{display:flex;flex:0 0 auto;min-width:0;min-height:0}.paneslot:has(>.pane.grow){flex:1 1 auto}.pane{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.paneslot:first-child .pane:not(.pane-schedule){border-left:none}.paneslot:last-child .pane{border-right:none}.pane.pane-schedule{background:transparent;flex:1;min-width:320px}.pane-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);font-size:var(--fs-2);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-2)}.pane-collapsed{writing-mode:vertical-rl;width:30px;min-width:30px;background:var(--surface-2);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:var(--s4);cursor:pointer;font-size:var(--fs-2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding:var(--s4) 0}.pane-collapsed:hover{background:var(--surface-3);color:var(--text)}.resizer{width:5px;cursor:col-resize;background:transparent;flex:0 0 auto;transition:background-color .12s ease}.resizer{position:relative}.resizer:after{content:"";position:absolute;top:0;right:2px;bottom:0;left:2px;border-radius:2px;background:transparent;transition:background-color var(--t-fast)}.resizer:hover:after,.resizer.active:after{background:var(--accent)}.topbar{display:flex;flex-wrap:wrap;row-gap:var(--s2);align-items:center;gap:var(--s4);padding:var(--s4) var(--s6);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border);position:relative;z-index:4}.brand{display:inline-flex;align-items:center;gap:var(--s4);font-size:var(--fs-5)}.brand .wordmark{font-weight:700;letter-spacing:-.03em;white-space:nowrap;font-size:1.05em}.brand .mark{color:var(--accent)}.brand .logomark{height:1.3em;width:auto;image-rendering:pixelated;flex:none}:root[data-theme=dark] .brand .logomark,:root:not([data-theme=light]) .brand .logomark{background:#fff;border-radius:3px;padding:2px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .brand .logomark{background:none;border-radius:0;padding:0}}.stat{display:inline-flex;align-items:baseline;gap:var(--s2);padding:3px var(--s5);border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid transparent;color:var(--text-2);font-size:var(--fs-3);font-weight:500;white-space:nowrap}.stat b{font-variant-numeric:tabular-nums;color:var(--text);font-weight:650}.stat.warn{background:var(--planned-bg);color:var(--planned-ink)}.stat.bad{background:var(--unfilled-bg);color:var(--unfilled-ink)}.stat.good{background:var(--done-bg);color:var(--done-ink)}.stat.warn b{color:var(--planned-ink)}.stat.bad b{color:var(--unfilled-ink)}.stat.good b{color:var(--done-ink)}.stat.clickable{cursor:pointer;transition:border-color var(--t-fast),filter var(--t-fast)}.stat.clickable:hover{border-color:var(--border-strong);filter:brightness(.97)}.rulegroup{border-bottom:1px solid var(--border)}.rulegroup-head{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3) var(--s5);background:var(--surface);border:none;border-radius:0;box-shadow:none;text-align:left;font-weight:650;font-size:var(--fs-3);letter-spacing:-.005em}.rulegroup-head:hover:not(:disabled){background:var(--surface-2)}.rulegroup-head .caret{width:12px;flex:0 0 12px;color:var(--text-3);font-size:var(--fs-1);display:inline-flex}.rulerow{display:flex;align-items:flex-start;gap:var(--s3);width:100%;padding:4px var(--s5) 4px 5px;border:none;border-left:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;text-align:left;font-size:var(--fs-3);font-weight:400;line-height:1.35}.rulerow:hover:not(:disabled){background:var(--surface-2)}.rulerow .icon{width:14px;flex:0 0 14px;display:inline-flex;justify-content:center;padding-top:2px}.rulerow .title{flex:1;min-width:0}.rulerow .cu{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:var(--fs-2);white-space:nowrap;flex:0 0 auto}.s-satisfied-completed{border-left-color:var(--done)}.s-satisfied-completed .icon{color:var(--done-ink)}.s-satisfied-locked{border-left-color:var(--planned)}.s-satisfied-locked .icon{color:var(--planned-ink)}.s-satisfied-planned{border-left-color:var(--planned)}.s-satisfied-planned .icon{color:var(--planned-ink)}.s-chosen-unplaced{border-left-color:var(--unplaced)}.s-chosen-unplaced .icon{color:var(--unplaced-ink)}.s-partial{border-left-color:var(--unplaced)}.rulerow.s-partial{background:color-mix(in srgb,var(--unplaced-bg) 55%,transparent)}.s-partial .icon{color:var(--unplaced-ink)}.s-unfilled{border-left-color:color-mix(in srgb,var(--unfilled) 55%,transparent)}.s-unfilled .icon{color:var(--unfilled-ink)}.s-placed-undecided{border-left-color:var(--unfilled)}.s-placed-undecided .icon{color:var(--unfilled-ink)}.s-over-limit{border-left-color:var(--overlimit)}.rulerow.s-over-limit{background:var(--overlimit-bg)}.s-over-limit .icon{color:var(--overlimit-ink)}.rulerow.depth-1{padding-left:21px}.rulerow.depth-2{padding-left:37px}.rulerow{cursor:grab}.rulerow:active{cursor:grabbing}.rulerow.dragging{opacity:.4}.rulerow .rulename{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.rulerow .accepts{display:block;font-size:var(--fs-2);font-style:italic;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rulerow .fill{display:block;font-size:var(--fs-2);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rulerow .fill .fillnote{color:var(--text-3);font-style:italic}.slotbtn{padding:1px var(--s4);font-size:var(--fs-2);font-weight:500;border-radius:var(--radius-pill);box-shadow:none;color:var(--text-3);background:transparent;border:1px solid var(--border);white-space:nowrap}.rulerow:hover .slotbtn,.rulerow:focus-within .slotbtn{color:var(--text);background:var(--surface);border-color:var(--border-strong)}.rulerow.s-unfilled .slotbtn,.rulerow.s-partial .slotbtn{color:var(--text-2);border-color:var(--border-strong);background:var(--surface)}.slotbtn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.slotbtn-gap{display:inline-block;flex:none;width:3.4rem}.linked,.dimmed,.dimmed-soft,.entry,.rulerow,.block,.result,.resultinfo{transition:background-color .42s ease-out,box-shadow .42s ease-out,opacity .42s ease-out}.linked{box-shadow:inset 0 0 0 1.5px var(--focus);background:var(--accent-soft)!important}.dimmed{opacity:.6}.dimmed-soft{opacity:.62}@media(prefers-reduced-motion:reduce){.linked,.dimmed,.dimmed-soft,.entry,.rulerow,.block,.result,.resultinfo{transition:none}}.pinbtn{border:none;background:transparent;box-shadow:none;padding:1px var(--s2);font-size:var(--fs-1);line-height:1;opacity:.35;color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center}.rulerow:hover .pinbtn,.entry:hover .pinbtn,.rulerow:focus-within .pinbtn,.entry:focus-within .pinbtn,.pinbtn:focus-visible,.pinbtn.on{opacity:1}.pinbtn.on{background:var(--accent);color:var(--on-accent)}.years{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s6)}.yearlabel{font-size:var(--fs-2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 var(--s3) var(--s2)}.yearrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s5)}.yearrow.unplaced{grid-template-columns:repeat(auto-fit,minmax(230px,320px))}.semester{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--edge),var(--shadow-1);display:flex;flex-direction:column;min-height:96px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.semester:hover{border-color:var(--border-strong)}.semester.dragover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.semester-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);background:transparent;border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:var(--fs-3);font-weight:650;letter-spacing:-.005em}.semester-body{padding:var(--s4) var(--s4) var(--s3);display:flex;flex-direction:column;gap:var(--s3);flex:1}.semester-foot{padding:0 var(--s4) var(--s4);display:flex;gap:var(--s2)}.entry{display:flex;align-items:center;gap:var(--s3);padding:5px var(--s4);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);background:var(--surface-2);font-size:var(--fs-3);box-shadow:var(--shadow-1);cursor:grab;-webkit-user-select:none;user-select:none}.entry:active{cursor:grabbing}.entry.dragging{opacity:.4}.entry.school-wharton{background:var(--wharton);color:var(--wharton-ink)}.entry.school-engineering{background:var(--engineering);color:var(--engineering-ink)}.entry.school-masters{background:var(--masters);color:var(--masters-ink)}.entry.school-counted{color:var(--text)}.entry.st-completed{border-left-color:var(--done)}.entry.st-planned,.entry.st-locked{border-left-color:var(--planned)}.entry.semester-locked{cursor:default;border-left-color:var(--accent)}.entry.semester-locked:active{cursor:default}.lockbadge{flex:0 0 auto;display:inline-flex;align-items:center;opacity:.85}.entry.placeholder{border-style:dashed;background:var(--surface-2);color:var(--text-2)}.entry .code{font-family:var(--mono);font-size:var(--fs-2);font-weight:600;white-space:nowrap;letter-spacing:-.02em}.entry{overflow:hidden}.entry .code{flex:0 0 auto}.entry .pill{min-width:0;overflow:hidden;text-overflow:ellipsis}.entry .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-3)}.entry .cu{font-variant-numeric:tabular-nums;font-size:var(--fs-2);opacity:.8}.entry.ruleslot{border-style:dashed;border-left-style:solid;border-left-color:var(--unfilled);background:var(--surface-2);color:var(--text-2)}.entry.ruleslot .name{white-space:normal;font-style:italic}.entry.ruleslot .glyph{flex:0 0 auto;color:var(--unfilled-ink);font-weight:700}.entry.ruleslot .code{font-style:normal;opacity:.9}.rulename .rulecode{font-family:var(--mono);font-weight:600;color:var(--text)}.termlock{border:1px solid var(--border);border-left:3px solid var(--planned);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--s3);margin-bottom:var(--s3)}.termlock.on{border-left-color:var(--accent);background:var(--accent-soft)}.termlock p{margin:0 0 var(--s2)}.termlock p:last-child{margin-bottom:0}.termstats{width:100%;border-collapse:collapse;margin:var(--s2) 0}.termstats th,.termstats td{text-align:left;padding:2px var(--s2) 2px 0;font-weight:400}.termstats thead th{color:var(--text-3);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.05em}.termstats tbody th{font-weight:600}.termstats td{font-variant-numeric:tabular-nums}.termstats tr.on{background:var(--accent-soft)}.pill{display:inline-flex;align-items:center;font-size:var(--fs-1);font-weight:650;letter-spacing:.04em;text-transform:uppercase;padding:1px var(--s3);border-radius:var(--radius-pill);white-space:nowrap;line-height:1.5}.pill .pill-what{font-weight:600;opacity:.85;letter-spacing:.03em}.pill .pill-what:before{content:"·";margin:0 .35em;opacity:.6;font-weight:400}.pill.wharton{background:color-mix(in srgb,var(--wharton-ink) 16%,var(--surface));color:var(--wharton-ink)}.pill.engineering{background:color-mix(in srgb,var(--engineering-ink) 16%,var(--surface));color:var(--engineering-ink)}.pill.masters{background:color-mix(in srgb,var(--masters-ink) 16%,var(--surface));color:var(--masters-ink)}.pill.neutral{background:var(--surface-3);color:var(--text-2)}.pill.attr{background:var(--surface-3);color:var(--text-2);cursor:pointer;font-family:var(--mono);text-transform:none;letter-spacing:0;border:1px solid transparent}.pill.attr:hover{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.pill.fills{background:var(--done-bg);color:var(--done-ink)}.pill.term{background:var(--surface-3);color:var(--text-2);text-transform:none;letter-spacing:0}.pill.warn{background:var(--planned-bg);color:var(--planned-ink)}.pill.bad{background:var(--unfilled-bg);color:var(--unfilled-ink)}.panelbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s2);padding:var(--s3) var(--s6);background:transparent;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.panelbar::-webkit-scrollbar{display:none}.panelchip{flex:0 0 auto;white-space:nowrap}.panelchip{display:inline-flex;align-items:center;gap:var(--s3);border:1px solid transparent;background:transparent;box-shadow:none;border-radius:var(--radius-pill);padding:3px var(--s5) 3px var(--s4);font-size:var(--fs-3);font-weight:500;color:var(--text-2);cursor:pointer}.panelchip:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:transparent}.panelchip.on{background:var(--surface);border-color:var(--border);box-shadow:var(--edge),var(--shadow-1);color:var(--text);font-weight:600}.panelchip-box{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:5px;border:1px solid var(--border-strong);background:transparent;color:var(--on-accent);transition:background-color var(--t-fast),border-color var(--t-fast)}.panelchip.on .panelchip-box{background:var(--accent);border-color:var(--accent)}.modal.modal-wide{max-width:min(980px,94vw);width:980px}.inplan{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);margin-bottom:var(--s4)}.inplan h3{margin-top:0}.inplan-warn{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);margin-bottom:var(--s3);border-radius:var(--radius);background:var(--unplaced-bg);border:1px solid var(--unplaced);color:var(--unplaced-ink)}.inplan-warn.hard{background:var(--unfilled-bg);border-color:var(--unfilled);color:var(--unfilled-ink)}.inplan-warn p{margin:0 0 2px;font-size:var(--fs-3)}.inplan-warn p:last-child{margin-bottom:0}.inplan-warn-mark{font-size:var(--fs-4);line-height:1.1}.inplan-fills ul{margin:4px 0 0;padding-left:0;list-style:none}.inplan-fills li{padding:2px 0}.row.wrap{flex-wrap:wrap}.concblock{padding:var(--s3) var(--s4) var(--s4);margin:var(--s3) var(--s3) var(--s2);min-width:0;max-width:100%;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--s2)}.concblock p{margin:0}.concblock label{min-width:0}.concblock select{min-width:0;max-width:100%;flex:1 1 auto;text-overflow:ellipsis}.concblock .chips{gap:var(--s2)}.conc-resolved{color:var(--accent)}.conc-mark{color:var(--accent);font-weight:700}.pill.conc-on{background:var(--accent);color:var(--on-accent)}.conc-courses{margin:0;padding-left:0;list-style:none}.conc-courses li{padding:1px 0}.colordot{width:13px;height:13px;min-width:13px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);cursor:pointer;box-shadow:0 0 0 2px var(--surface);background-clip:padding-box}.colordot:hover{transform:scale(1.15)}.colorpicker{min-width:200px}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);padding:var(--s2) var(--s3)}.swatch{width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--text) 20%,transparent);cursor:pointer;padding:0;box-shadow:none}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--focus)}.icscolors{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s2)}.swatch.none{background:var(--surface-2);background-image:linear-gradient(to top right,transparent calc(50% - 1px),var(--muted) calc(50% - 1px),var(--muted) calc(50% + 1px),transparent calc(50% + 1px))}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.menu-wrap{position:relative;display:inline-flex;align-items:center;gap:var(--s2)}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--edge),var(--shadow-2);padding:var(--s3);display:flex;flex-direction:column;gap:2px}.menu-head{padding:var(--s3) var(--s4);font-size:var(--fs-2);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;border:none;background:transparent;box-shadow:none;border-radius:var(--radius);padding:var(--s3) var(--s4);font-size:var(--fs-3);font-weight:450;color:var(--text);text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--surface-3);border-color:transparent}.menu-sub{font-size:var(--fs-2);color:var(--text-2)}.menu-foot{padding:var(--s2) var(--s3);border-top:1px solid var(--border);margin-top:var(--s2)}.searchbar{display:flex;flex-wrap:wrap;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);align-items:center;position:sticky;top:0;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3}.searchbar>*{flex:0 0 auto}.searchbar .q{flex:1 1 200px;min-width:160px}.searchbar select{width:auto}.searchpanel{container-type:inline-size}.result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);align-items:start}@container (max-width: 560px){.result{grid-template-columns:minmax(0,1fr)}.result .actions{justify-content:flex-start;flex-wrap:wrap}}.result:hover{background:var(--surface-2)}.result.dragging{opacity:.4}.resultinfo{cursor:grab;min-width:0}.resultinfo:active{cursor:grabbing}.result .grip{color:var(--text-3);font-size:var(--fs-2);letter-spacing:-2px}.instructor{position:relative;cursor:help;border-bottom:1px dotted var(--border-strong)}.instructorpop{position:absolute;left:0;bottom:100%;margin-bottom:var(--s2);z-index:40;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--edge),var(--shadow-2);padding:var(--s4) var(--s5);color:var(--text);white-space:normal}.result .head{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}.result .code{font-family:var(--mono);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s1)}.result .actions{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.result .chips .pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}.result .bars{max-width:100%}.bars{display:flex;gap:var(--s4);margin-top:var(--s1);flex-wrap:wrap}.bar{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-2);color:var(--text-3)}.bar .track{width:42px;height:4px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden}.bar .fillbar{height:100%;background:var(--accent);border-radius:inherit}.bar.good .fillbar{background:var(--done)}.bar.bad .fillbar{background:var(--unfilled)}.week{display:grid;grid-template-columns:46px repeat(var(--daycount, 5),1fr);position:relative;padding-right:var(--s3)}.week .hourlabel{font-size:var(--fs-1);color:var(--text-3);text-align:right;padding-right:5px;border-right:1px solid var(--border)}.week .daycol{position:relative;border-right:1px solid var(--border)}.week .dayhead{position:sticky;top:var(--toolbar-h);z-index:2;text-align:center;font-size:var(--fs-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:var(--s3) 0;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.week .hourline{border-top:1px solid var(--border)}.block{position:absolute;left:2px;right:2px;border-radius:var(--radius-sm);padding:2px var(--s3);font-size:var(--fs-2);overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);box-shadow:var(--shadow-1);cursor:pointer}.block.conflict{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--unfilled) 28%,transparent) 0 6px,transparent 6px 12px);border-color:var(--unfilled);border-width:2px}.block.projected{border-style:dashed;opacity:.85}.block .bcode{font-family:var(--mono);font-weight:700}.chatwrap{display:flex;height:100%;min-height:0}.chat{display:flex;flex-direction:column;height:100%;min-height:0;flex:1;min-width:0}.chat-log{flex:1;overflow-y:auto;padding:var(--s6) var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s6);font-size:var(--fs-4);line-height:1.55}.msg{max-width:78ch}.msg.user{align-self:flex-end;background:var(--surface-3);border:1px solid transparent;border-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-sm);padding:var(--s4) var(--s6)}.msg.assistant{align-self:stretch;max-width:78ch}.msg.assistant .body{background:none;border:none;padding:0}.chathead{position:relative;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4) var(--s3) var(--s5);border-bottom:1px solid var(--border);background:var(--surface);min-height:46px}.chatswitch{display:inline-flex;align-items:center;gap:var(--s3);min-width:0;max-width:calc(100% - 44px);padding:4px var(--s4);margin-left:calc(var(--s4) * -1);font-size:var(--fs-4);font-weight:650;letter-spacing:-.01em;color:var(--text)}.chatswitch-title{min-width:0}.iconbtn-sq{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;flex:none}.chatmenu{left:var(--s4);right:var(--s4);top:calc(100% + 4px);min-width:0;padding:var(--s3)}.chatmenu-search{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3);padding:0 var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-3);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.chatmenu-search:hover{border-color:var(--border-strong)}.chatmenu-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft)}.chatmenu-search input,.chatmenu-search input:hover,.chatmenu-search input:focus-visible{border:none;box-shadow:none;background:transparent;padding:6px 0;width:100%;outline:none}.chatmenu-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.chatmenu-empty{padding:var(--s4);margin:0}.chatmenu-row{display:flex;align-items:center;gap:var(--s2);border-radius:var(--radius)}.chatmenu-row:hover,.chatmenu-row:focus-within{background:var(--surface-3)}.chatmenu-pick{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s4);border:none;background:transparent;box-shadow:none;text-align:left;padding:var(--s4) var(--s4);font-size:var(--fs-3);font-weight:450;color:var(--text-2)}.chatmenu-pick:hover:not(:disabled){background:transparent}.chatmenu-row.on .chatmenu-pick{color:var(--text);font-weight:600}.chatmenu-title{flex:1;min-width:0}.chatmenu-del{visibility:hidden;margin-right:var(--s2)}.chatmenu-row:hover .chatmenu-del,.chatmenu-row:focus-within .chatmenu-del{visibility:visible}@media(hover:none){.chatmenu-del{visibility:visible}}.chatmeta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s5);padding:0 var(--s6) var(--s4)}.chatmeta>*+*:before{content:"·";margin-right:var(--s5);color:var(--border-strong)}.steplist{list-style:none;margin:0 0 var(--s2);padding:0}.steplist li{display:flex;align-items:flex-start;gap:var(--s3);font-size:var(--fs-2);color:var(--text-3);padding:1px 0}.stepbody{min-width:0;flex:1}.steplabel{display:block}.stepmeta{margin:2px 0 4px;padding-left:var(--s3);border-left:2px solid var(--border);display:flex;flex-direction:column;gap:2px}.steptool{align-self:flex-start;font-family:var(--mono);font-size:var(--fs-1);color:var(--text-2);background:var(--surface-2);border-radius:3px;padding:0 4px}.stepargs{margin:0;font-family:var(--mono);font-size:var(--fs-1);color:var(--text-3);white-space:pre-wrap;word-break:break-word;max-height:12em;overflow-y:auto}.stepresult{color:var(--text-2)}.stepdot{width:6px;height:6px;min-width:6px;border-radius:50%;background:var(--text-3)}.steplist li.running{color:var(--text-2)}.steplist li.running .stepdot{background:var(--accent);animation:steppulse 1.1s ease-in-out infinite}@keyframes steppulse{0%,to{opacity:.35}50%{opacity:1}}.steplist-done>summary{font-size:var(--fs-2);color:var(--text-3);cursor:pointer;margin-bottom:var(--s2)}.thinking{margin-bottom:var(--s2)}.thinking>summary{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-2);color:var(--text-3);cursor:pointer}.thinking-body{margin-top:var(--s2);padding-left:var(--s4);border-left:2px solid var(--border);font-size:var(--fs-2);color:var(--text-3);white-space:pre-wrap;max-height:160px;overflow-y:auto}.strands .w1{stroke:var(--wharton-ink, var(--accent))}.strands .w2{stroke:var(--engineering-ink, var(--accent))}.strands .w3{stroke:var(--masters-ink, var(--accent))}.strands path{stroke-dasharray:30;stroke-dashoffset:30;animation:strand 1.8s ease-in-out infinite}.strands .w2{animation-delay:.2s}.strands .w3{animation-delay:.4s}@keyframes strand{0%{stroke-dashoffset:30}45%{stroke-dashoffset:0}55%{stroke-dashoffset:0}to{stroke-dashoffset:-30}}@media(prefers-reduced-motion:reduce){.strands path{animation:none;stroke-dashoffset:0}.steplist li.running .stepdot{animation:none;opacity:1}}.msg .body h1,.msg .body h2,.msg .body h3,.msg .body h4,.msg .body h5,.msg .body h6{font-size:var(--fs-4);font-weight:700;margin:var(--s5) 0 var(--s2);line-height:1.3;letter-spacing:-.01em}.msg .body h1{font-size:var(--fs-5)}.msg .body h4,.msg .body h5,.msg .body h6{font-size:var(--fs-3);color:var(--text-2)}.msg .body h1:first-child,.msg .body h2:first-child,.msg .body h3:first-child{margin-top:0}.msg .body blockquote{margin:var(--s2) 0;padding-left:var(--s4);border-left:2px solid var(--border);color:var(--text-3)}.msg .body hr{border:0;border-top:1px solid var(--border);margin:var(--s4) 0}.msg .body table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;font-size:var(--fs-2);margin:var(--s2) 0 var(--s3)}.msg .body th,.msg .body td{border:1px solid var(--border);padding:3px var(--s3);text-align:left;vertical-align:top}.msg .body th{background:var(--surface-2);font-weight:650;white-space:nowrap}.msg .body p{margin:0 0 var(--s3)}.msg .body p:last-child{margin-bottom:0}.msg .body ul,.msg .body ol{margin:var(--s2) 0 var(--s3);padding-left:20px}.msg .body li+li{margin-top:var(--s1)}.msg .body code{font-family:var(--mono);background:var(--surface-3);padding:0 var(--s1);border-radius:var(--radius-sm);font-size:var(--fs-3)}.msg .body pre{background:var(--surface-3);padding:var(--s3) var(--s4);border-radius:var(--radius);overflow-x:auto}.msg .body pre code{background:none;padding:0}.msg .body table{border-collapse:collapse;font-size:var(--fs-3)}.msg .body th,.msg .body td{border:1px solid var(--border);padding:var(--s1) var(--s3);text-align:left}.composer{margin:var(--s4);padding:var(--s4) var(--s4) var(--s3);background:var(--surface);border:1px solid var(--border);box-shadow:var(--edge),var(--shadow-1);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--s2);transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.composer:hover{border-color:var(--border-strong)}.composer:focus-within{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:var(--edge),0 0 0 3px var(--accent-soft)}.composer textarea{width:100%;border:none;background:transparent;resize:none;padding:var(--s2) var(--s2) 0;font:inherit;color:var(--text);min-height:24px;overflow-y:auto}.composer textarea:focus,.composer textarea:focus-visible{outline:none;box-shadow:none}.composer textarea::placeholder{color:var(--text-3)}.composer-tools{display:flex;align-items:center;gap:var(--s2);min-height:28px}.composer-hint{color:var(--text-3);opacity:.8}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--radius);background:transparent;box-shadow:none;color:var(--text-2);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),opacity var(--t-fast)}.iconbtn:not(.sendbtn):not(.stopbtn):hover{background:var(--surface-3);color:var(--text)}.iconbtn:disabled{opacity:.35;cursor:default;background:transparent}.iconbtn.sendbtn{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px #ffffff47,var(--shadow-accent)}.iconbtn.sendbtn:hover:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:transparent;filter:brightness(1.12)}.iconbtn.sendbtn:disabled{background:var(--surface-3);color:var(--text-3);box-shadow:none}.iconbtn.stopbtn{background:var(--unfilled);color:var(--on-status)}.iconbtn.stopbtn:hover:not(:disabled){background:var(--unfilled);color:var(--on-status);border-color:transparent;filter:brightness(1.1)}.dsession{flex:1 1 0;min-width:min-content;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--s4);min-height:30px;cursor:default}.dwave{flex:1 1 0;width:0;min-width:0;max-width:180px;height:22px;display:flex;align-items:center;justify-content:flex-end;gap:2px;overflow:hidden}.dbar{flex:none;width:2px;--level: 0;height:max(2px,calc(var(--level) * 100%));border-radius:1px;background:var(--text-2)}.dsession[data-dictation=paused] .dbar{background:var(--border-strong)}.dtime{flex:none;color:var(--text-2);font-size:var(--fs-3);font-variant-numeric:tabular-nums;white-space:nowrap}.dsession[data-near] .dtime{color:var(--unfilled-ink);font-weight:600}.dsession[data-near] .dbar{background:var(--unfilled)}.dword{display:inline-flex;align-items:center;gap:var(--s3);color:var(--text-2);font-size:var(--fs-3);white-space:nowrap}.dcontrols{flex:none;display:inline-flex;align-items:center;gap:var(--s2)}.iconbtn.dfinish{color:var(--done)}.iconbtn.dfinish:hover:not(:disabled){background:var(--done-bg);color:var(--done-ink)}.dapart{display:inline-flex;margin-left:var(--s5)}.dsaid{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:0 var(--s6) var(--s4);color:var(--text-2);font-size:var(--fs-3)}.dfield{position:relative;display:flex;flex-direction:column;min-width:0}.dlayer{position:absolute;top:0;left:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none}.dalone{height:0;overflow:hidden;visibility:hidden}.dunseen{visibility:hidden}.dtail{color:var(--text-3)}.proposal{border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:var(--radius-lg);margin-top:var(--s4);background:var(--surface);box-shadow:var(--edge),var(--shadow-1);overflow:hidden}.proposal-head{padding:var(--s3) var(--s4);background:var(--accent-soft);border-bottom:1px solid var(--border);font-size:var(--fs-3)}.proposal-edit{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px solid var(--border);font-size:var(--fs-3)}.proposal-edit:hover{background:var(--surface-2)}.proposal-edit.stale{opacity:.5;text-decoration:line-through}.proposal-foot{padding:var(--s3) var(--s4);display:flex;gap:var(--s3);align-items:center}.suggestions{container-type:inline-size;margin-top:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}.suggestions-head{font-size:var(--fs-2);font-weight:650;color:var(--text-2)}.suggestion{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-left:3px solid var(--agent);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1)}.suggestion.showing{background:var(--agent-soft);border-color:var(--agent)}.suggestion-main{flex:1;min-width:0}.suggestion-actions{flex:0 0 auto;display:flex;gap:var(--s2);align-items:center}@container (max-width: 420px){.suggestion{flex-direction:column;align-items:stretch}.suggestion-actions{justify-content:flex-end}}.note{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s4) var(--s5);background:var(--surface);box-shadow:var(--shadow-1)}.note-target{font-size:var(--fs-2);color:var(--text-3);margin-bottom:var(--s1)}.notes-list{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.page{max-width:760px;margin:0 auto;padding:var(--s6) var(--s6) 64px;color:var(--text)}.page-head{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--border)}.page-head h1{font-size:var(--fs-7);margin:0;letter-spacing:-.02em}.page>section{margin-top:var(--s7)}.page>section>h2{font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 var(--s5);font-weight:700}.page p{margin:0 0 var(--s5);line-height:1.55}.caveat{border:1px solid var(--border-strong);border-left:3px solid var(--planned);border-radius:var(--radius);background:var(--surface-2);padding:var(--s5) var(--s6);margin:0;box-shadow:var(--shadow-1)}.source-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}.source-list>li{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--edge),var(--shadow-1);padding:var(--s5) var(--s6)}.source-list h3{margin:0 0 var(--s3);font-size:var(--fs-5);font-weight:650}.source-list p{margin:0 0 var(--s3);color:var(--text-2)}.source-list p:last-child{margin-bottom:0}.degree-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s5)}.degree-sources>div{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--edge),var(--shadow-1);padding:var(--s5) var(--s6)}.degree-sources h3{margin:0 0 var(--s3);font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700}.degree-sources ul{margin:0;padding-left:var(--s6)}.degree-sources li{margin-bottom:var(--s2);color:var(--text-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--s7)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);max-width:900px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--edge),var(--shadow-3);overflow:hidden}.modal-head{display:flex;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);border-bottom:1px solid var(--border);background:var(--surface);font-size:var(--fs-4);min-height:48px}.modal-head b,.modal-head strong{font-size:var(--fs-5);font-weight:650;letter-spacing:-.015em}.modal-head .pill,.modal-head button{flex:0 0 auto}.modal-body{padding:var(--s6);overflow:auto}.modal-body>.section{padding:0 0 var(--s5);border-bottom:none}.modal-body>.section:last-child{padding-bottom:0}.modal-body>:first-child{margin-top:0}.termpref{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}.termpref .grow{flex:1 1 12ch;min-width:0}.chip{font-size:var(--fs-2);padding:2px var(--s4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:none;color:var(--text-2);cursor:pointer;line-height:1.5}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.modal-foot{padding:var(--s5) var(--s6);border-top:1px solid var(--border);background:var(--surface-2);display:flex;gap:var(--s3);align-items:center;justify-content:flex-end}.authpage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--s7);background:var(--bg) var(--glow) no-repeat}.authcard{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--s7) 28px;box-shadow:var(--edge),var(--shadow-2)}.authcard h1{font-size:var(--fs-7);margin:0 0 var(--s2);letter-spacing:-.025em}.authbrand{font-size:var(--fs-7);margin-bottom:var(--s3)}.authcard .tagline{color:var(--text-3);margin:0 0 var(--s6);font-size:var(--fs-4);line-height:1.5}.field{margin-bottom:var(--s5)}.field label{display:block;font-size:var(--fs-3);font-weight:650;margin-bottom:var(--s2);color:var(--text-2)}.formerror{background:var(--unfilled-bg);border:1px solid var(--unfilled);color:var(--unfilled-ink);padding:var(--s3) var(--s4);border-radius:var(--radius);margin-bottom:var(--s5);font-size:var(--fs-3)}.formnote{background:var(--surface-2);border:1px solid var(--border);padding:var(--s5) var(--s6);border-radius:var(--radius-lg);font-size:var(--fs-3);color:var(--text-2);line-height:1.5}.recoverycode{font-family:var(--mono);font-size:var(--fs-6);letter-spacing:.04em;background:var(--surface-2);border:2px dashed var(--border-strong);border-radius:var(--radius);padding:var(--s5);text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.banner{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5);font-size:var(--fs-3);background:var(--planned-bg);border-bottom:1px solid color-mix(in srgb,var(--planned) 40%,var(--border));color:var(--text)}.banner.info{background:var(--accent-soft);border-bottom-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.empty{padding:var(--s7) var(--s6);text-align:center;color:var(--text-3);font-size:var(--fs-4);line-height:1.55;max-width:56ch;margin:0 auto}.empty h3{margin:0 0 var(--s3);font-size:var(--fs-5);font-weight:650;color:var(--text-2)}.empty p{margin:0 0 var(--s4)}.empty p:last-child{margin-bottom:0}.empty code{font-family:var(--mono);background:var(--surface-3);padding:0 var(--s2);border-radius:var(--radius-sm)}.spin{display:inline-block;width:12px;height:12px;vertical-align:-1px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation-duration:2s}*{transition-duration:1ms!important}}.tablike{display:flex;gap:var(--s1)}.section{padding:var(--s5);border-bottom:1px solid var(--border)}.section h3{margin:0 0 var(--s3);font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:700}.attrlist{display:flex;flex-direction:column;gap:var(--s2)}.attrchip{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--fs-3)}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-3)}table.data thead th{position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border)}table.data th,table.data td{border-bottom:1px solid var(--border);padding:var(--s2) var(--s3);text-align:left}table.data th{color:var(--text-3);font-weight:650;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.05em}.centrewrap{display:flex;align-items:flex-start;gap:var(--s3)}.centrewrap.with-unplaced{padding:0 var(--s2)}.unplacedcard .semester-head{flex-wrap:wrap;gap:var(--s2);line-height:1.3}.centrewrap>.years{flex:1 1 auto;min-width:0}.unplacedcol{flex:0 0 200px;display:flex;flex-direction:column;gap:var(--s3)}.unplacedcol.left{order:-1}.unplacedcard{border-style:dashed}.unplacedcard.dragover{border-color:var(--accent);background:var(--accent-soft)}.unplacedcard .bucketempty{padding:var(--s3);line-height:1.5}.yearblock>.unplacedcard{margin-bottom:var(--s3)}table.data tr:hover td{background:var(--surface-2)}table.data tr.offlist td{opacity:.75}table.data tr.offlist:hover td{opacity:1}.toast{position:fixed;bottom:var(--s6);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:var(--s4) var(--s6);border-radius:var(--radius-lg);max-width:min(560px,calc(100vw - 32px));text-align:center;font-size:var(--fs-3);z-index:100;box-shadow:var(--shadow-3)}.bad{color:var(--unfilled-ink)}.violations{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s5)}.violation{display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s4) var(--s5);border-radius:var(--radius-lg);font-size:var(--fs-3);line-height:1.4;border:1px solid var(--border)}.violation[role=button]{cursor:pointer}.violation[role=button]:hover{border-color:var(--border-strong)}.violation.error{background:color-mix(in srgb,var(--unfilled) 12%,transparent);border-color:color-mix(in srgb,var(--unfilled) 40%,var(--border))}.violation.warn{background:color-mix(in srgb,var(--unplaced) 12%,transparent);border-color:color-mix(in srgb,var(--unplaced) 40%,var(--border))}.legendhead{font-size:var(--fs-3);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:var(--s6) 0 var(--s3)}.legendhead:first-child{margin-top:0}table.legend{width:100%;border-collapse:collapse;font-size:var(--fs-3)}table.legend td{padding:var(--s2) var(--s4) var(--s2) 0;vertical-align:top;line-height:1.45}table.legend tr+tr td{border-top:1px solid var(--border)}.planpick{max-width:190px;font-size:var(--fs-3);font-weight:600;padding:3px 28px 3px var(--s4);background-color:var(--surface-3);border-color:transparent;box-shadow:none}.planpick.planrename{width:190px;background:var(--surface);border-color:var(--accent);padding-right:var(--s4)}.planfoot{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;margin-top:var(--s1);padding:var(--s4) 0 var(--s1);border-top:1px dashed var(--border)}button.small{font-size:var(--fs-2);padding:var(--s1) var(--s3)}.notebtn{cursor:pointer;opacity:.75;border-radius:var(--radius-sm)}.notebtn:hover{opacity:1}.semester-head .notebtn{font-size:var(--fs-1)}.cu{cursor:pointer}.cuedit{width:46px;font-size:var(--fs-2);padding:0 var(--s1);text-align:right}.phlist{display:flex;flex-direction:column;gap:var(--s1)}.phrow{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-3);padding:var(--s2) var(--s4);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);min-height:28px}.dragghost{opacity:.96;box-shadow:var(--shadow-3);max-width:260px;cursor:grabbing;background:var(--surface)}.dragghost .code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.unlinked{background:transparent;color:var(--text-3);border:1px dashed var(--border-strong);cursor:pointer}.pill.unlinked:hover{color:var(--accent);border-color:var(--accent)}.rulerow svg[data-icon],.notebtn svg[data-icon],.entry svg[data-icon]{vertical-align:-2px}.notebtn{display:inline-flex;align-items:center;color:var(--text-3)}.notebtn:hover{color:var(--accent)}.week .block.muted-block{background:var(--surface-3);color:var(--text-3);opacity:.72}.week .block.candidate{cursor:pointer;border-style:dashed;font-weight:600;z-index:3}.week .block.candidate.band-0{background:var(--band-0);color:var(--on-band);border-color:var(--band-0)}.week .block.candidate.band-1{background:var(--band-1);color:var(--on-band);border-color:var(--band-1)}.week .block.candidate.band-2{background:var(--band-2);color:var(--on-band);border-color:var(--band-2)}.week .block.candidate:hover{filter:brightness(1.08)}.sources{margin-top:var(--s2)}.sources>summary{cursor:pointer}.sources ul{margin:var(--s2) 0 0;padding-left:var(--s4);display:flex;flex-direction:column;gap:2px}.sources a{color:var(--accent);word-break:break-word}.week .block.agent-block{background-color:var(--agent);color:var(--on-agent);border-color:var(--agent);font-weight:600;z-index:3}.entry.agent-changed{outline:2px solid var(--agent);outline-offset:-1px;border-color:var(--agent)}.week .block.sectionhi{box-shadow:0 0 0 2px var(--focus);z-index:4}.weekask{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-3);position:sticky;bottom:0}.weekask.warn{background:var(--unplaced-bg);border-top-color:var(--unplaced);color:var(--unplaced-ink)}.weekask-mark{font-size:var(--fs-4)}.resultdetail{grid-column:1 / -1;padding:var(--s3) var(--s4) var(--s4);margin-top:var(--s2);border-top:1px dashed var(--border);background:var(--surface-2);border-radius:var(--radius);min-width:0}.resultdetail p{margin:0 0 var(--s2)}.coursebody>.section{padding:0 0 var(--s5);border-bottom:none}.coursebody>.section:last-child{padding-bottom:0}.coursebody.compact{font-size:var(--fs-3)}.coursebody.compact>.section{padding-bottom:var(--s4)}.coursebody.compact .section h3{font-size:var(--fs-1);margin-bottom:var(--s2)}.coursebody.compact table.data{font-size:var(--fs-2)}.coursebody.compact table.data th,.coursebody.compact table.data td{padding:2px var(--s2)}.coursebody.compact .stat{font-size:var(--fs-2)}.coursebody.compact textarea{font-size:var(--fs-3)}.tablescroll{overflow-x:auto;max-width:100%}.modelpick{display:inline-flex;align-items:center}.panes.narrow{display:block}.panes.narrow .paneslot{display:block;width:100%;height:100%}.panes.narrow .pane{width:100%!important;height:100%;border-right:none}.panes.narrow .pane.pane-schedule{min-width:0}.panelbar.tabs{gap:2px;padding:var(--s3) var(--s4)}.panelbar.tabs .panelchip{border-radius:var(--radius);padding:5px var(--s5)}@media(max-width:860px){.topbar{gap:var(--s3);padding:var(--s3) var(--s5)}.topbar .planpick{max-width:150px}.topbar .stat{font-size:var(--fs-2);padding:2px var(--s4)}.topbar .row.small.muted,.topbar button[title^=Undo],.topbar button[title^=Redo]{display:none}.banner{padding:var(--s3) var(--s5);flex-wrap:wrap}.years{padding:var(--s5);gap:var(--s5)}.centrewrap{flex-direction:column;align-items:stretch}.unplacedcol{flex:0 0 auto;width:100%}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.modal-wide{width:100%;max-width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.page{padding:var(--s5) var(--s5) 48px}.authcard{padding:var(--s6)}.menu{max-width:calc(100vw - 24px)}.rulerow,.menu-item,.panelchip{min-height:36px}.composer textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],select,textarea{font-size:16px}}@media(max-width:560px){.yearrow,.yearrow.unplaced{grid-template-columns:minmax(0,1fr)}.years{min-width:0}}.ds{max-width:920px}.ds-section{margin-top:var(--s7)}.ds-section>h2{font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 var(--s3)}.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s5)}.ds-swatch{display:flex;align-items:center;gap:var(--s4);font-size:var(--fs-2)}.ds-swatch code{font-family:var(--mono);color:var(--text-2)}.ds-chip{width:32px;height:32px;flex:none;border-radius:var(--radius);border:1px solid var(--border)}.ds-chip.outline{background:var(--surface-2);border-color:var(--border-strong)}.ds-chip.raised{background:var(--surface)}.ds-stack{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}.ds-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--s4)}.ds-icon{display:flex;align-items:center;gap:var(--s4);font-size:var(--fs-2);color:var(--text-2)}.ds-icon code{font-family:var(--mono);font-size:var(--fs-1)}.result .head .titlelink{display:inline-flex;align-items:baseline;gap:var(--s3);min-width:0;padding:0;border:none;border-radius:var(--radius-sm);background:none;box-shadow:none;text-align:left;font:inherit;font-weight:500;color:var(--text);cursor:pointer}.result .head .titlelink:hover:not(:disabled){background:none}.result .head .titlelink:hover .tl-title{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border-strong)}.result .head .titlelink svg{align-self:center;color:var(--text-3);flex:none}.result .head .titlelink .code{font-weight:700}.resultdetail-bar{display:flex;justify-content:flex-end;margin-bottom:var(--s3)}
