:root{--bg:#eef3f9;--bg-soft:#f7faff;--ink:#14213d;--ink-2:#33415c;--ink-3:#5d6b82;--muted:#7d8ca3;--line:#14213d17;--line-strong:#14213d29;--card:#ffffffdb;--card-solid:#fff;--a:#2f6fed;--a-soft:#2f6fed17;--b:#0ea5a4;--b-soft:#0ea5a417;--added:#16a34a;--added-soft:#16a34a1a;--removed:#dc2626;--removed-soft:#dc262617;--modified:#7c3aed;--modified-soft:#7c3aed17;--same:#64748b;--same-soft:#64748b14;--shadow-sm:0 1px 2px #14213d0a, 0 10px 30px #14213d0f;--shadow-md:0 18px 50px #14213d1f;--radius:20px;--font:"PingFang SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--mono:"SFMono-Regular", "Cascadia Mono", "JetBrains Mono", Consolas, monospace;--shell:1680px;--gutter:clamp(20px, 3.2vw, 48px);--topbar:68px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font);color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7}body:before{content:"";z-index:-2;pointer-events:none;filter:blur(28px);background:radial-gradient(circle at 18% 16%,#2f6fed29,#0000 32%),radial-gradient(circle at 82% 8%,#0ea5a421,#0000 30%),radial-gradient(circle at 52% 92%,#7c3aed17,#0000 36%);animation:22s ease-in-out infinite alternate bg-drift;position:fixed;top:-18%;bottom:-18%;left:-18%;right:-18%}body:after{content:"";z-index:-1;pointer-events:none;opacity:.16;background-image:radial-gradient(#14213d24 .8px,#0000 .8px);background-size:28px 28px;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000c,#0000 78%);mask-image:linear-gradient(#000c,#0000 78%)}@keyframes bg-drift{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(1.5%,1.5%)scale(1.06)}}h1,h2,h3,h4,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0}a{color:inherit;text-decoration:none}button,select,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img,svg{max-width:100%;display:block}::selection{background:#2f6fed3d}:focus-visible{outline-offset:3px;outline:3px solid #2f6fed8c}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin:0 auto}.page{padding-top:28px;padding-bottom:80px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:14px;font-weight:650}.app-topbar{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(160%);background:#f8fafdf7;border-bottom:1px solid #ffffffe6;position:sticky;top:0;box-shadow:0 1px #14213d0f,0 8px 30px #14213d0a}.scroll-progress{top:var(--topbar);z-index:120;pointer-events:none;background:#14213d0a;height:3px;position:fixed;left:0;right:0}.scroll-progress i{background:linear-gradient(90deg,#4f7cff,#14b8a6 55%,#f59e0b);height:100%;transition:width .12s linear;display:block}@media (max-width:900px){.scroll-progress{display:none}}.app-topbar__inner{height:var(--topbar);align-items:center;gap:clamp(18px,3vw,48px);display:flex}.brand{flex:none;align-items:center;gap:13px;display:inline-flex}.brand-seals{flex:none;align-items:center;gap:9px;display:inline-flex}.brand-seal{object-fit:contain;flex:none;display:block}.brand-seal--university{filter:drop-shadow(0 4px 9px #00448033);width:34px;height:34px}.brand-seal--college{filter:drop-shadow(0 4px 9px #a318202e);width:34px;height:34px}.brand-wordmark{object-fit:contain;filter:drop-shadow(0 3px 7px #00448024);width:auto;height:26px;margin-top:-2px;display:block}.brand-divider{background:linear-gradient(#0000,#14213d33,#0000);flex:none;width:1px;height:26px;margin:0 2px}.brand-mark{isolation:isolate;perspective:260px;background:0 0;border-radius:13px;place-items:center;width:44px;height:44px;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.brand-mark__image{z-index:1;object-fit:contain;filter:drop-shadow(0 4px 8px #a318202e);width:38px;height:38px;transform-style:preserve-3d;animation:7.5s ease-in-out infinite brand-3d;position:relative}.brand:hover .brand-mark__image{animation-duration:3.2s}@keyframes brand-3d{0%,to{transform:rotateX(0)rotateY(-10deg)translateZ(0)}50%{transform:rotateX(5deg)rotateY(12deg)translateZ(2px)}}.brand:hover .brand-mark{transform:translateY(-1px)}.brand-mark__3d{z-index:1;position:relative}.mini-emblem{vertical-align:middle;flex:none;place-items:center;display:inline-grid;position:relative}.mini-emblem__fallback,.mini-emblem__mount,.mini-emblem__canvas{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.mini-emblem__fallback{object-fit:contain;transition:opacity .45s}.mini-emblem__mount{opacity:0;transition:opacity .5s}.mini-emblem.is-ready .mini-emblem__fallback{opacity:0}.mini-emblem.is-ready .mini-emblem__mount,.mini-emblem.is-failed .mini-emblem__fallback{opacity:1}.brand-mark__plate{background:#fff;border-radius:10px;place-items:center;display:grid;position:absolute;top:3px;bottom:3px;left:3px;right:3px;overflow:hidden}.brand-mark__plate img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block}.brand:hover .brand-mark__plate img{transform:scale(1.06)rotate(-1.5deg)}.brand-mark__ring{z-index:0;filter:blur(7px);opacity:.5;pointer-events:none;background:conic-gradient(#b01e268c,#f59e0b66,#0ea5a459,#b01e268c);border-radius:18px;animation:9s linear infinite brand-ring-spin;position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px}.brand-mark__sheen{z-index:1;pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff75 46%,#0000 60%) 130% 0/240% 100%;border-radius:10px;animation:6.5s ease-in-out infinite brand-sheen;position:absolute;top:3px;bottom:3px;left:3px;right:3px;overflow:hidden}@keyframes brand-ring-spin{to{transform:rotate(360deg)}}@keyframes brand-sheen{0%,62%{background-position:130% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){.brand-mark__ring,.brand-mark__sheen,.brand-mark__image{animation:none}}.brand-copy{flex-direction:column;gap:1px;display:flex}.brand-copy strong{letter-spacing:-.01em;font-size:17px;font-weight:750;line-height:1.35}.brand-copy small{color:var(--ink-3);font-size:13px;font-weight:550;line-height:1.45}.app-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.app-nav__link{color:var(--ink-3);white-space:nowrap;border-radius:12px;padding:9px 16px;font-size:15px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.app-nav__link:hover{color:var(--ink);background:#ffffffc7}.app-nav__link[aria-current=page]{color:#fff;background:linear-gradient(135deg,#17324d,#2f6fed);box-shadow:0 6px 16px #2f6fed38}.topbar-chip{color:var(--ink-2);white-space:nowrap;background:#2f6fed12;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.topbar-chip i{background:var(--b);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #0ea5a41f}.app-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff8c}.app-footer__inner{padding-block-start:28px;padding-block-end:28px;color:var(--ink-3);grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr);align-items:center;gap:18px 34px;padding-right:132px;font-size:13.5px;display:grid}.app-footer__brand{align-items:center;gap:12px;min-width:0;display:flex}.footer-seals{flex:none;align-items:center;gap:9px;display:inline-flex}.footer-seals .brand-seal{width:34px;height:34px}.footer-seals .brand-divider{height:24px}.app-footer__brand div{flex-direction:column;gap:1px;min-width:0;display:flex}.app-footer__brand strong{color:var(--ink);white-space:nowrap;font-size:14.5px;font-weight:750}.app-footer__brand span{color:var(--ink-3);font-size:12.5px}.app-footer__links{flex-wrap:wrap;align-items:center;gap:4px 16px;font-weight:650;display:flex}.app-footer__links a{color:var(--ink-2);border-bottom:1px solid #0000;padding:4px 2px;transition:color .18s,border-color .18s}.app-footer__links a:hover{color:var(--a);border-color:#2f6fed59}.app-footer__meta{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:12.5px;display:flex}.app-footer__inner strong{color:var(--ink);font-weight:700}@media (max-width:1000px){.app-footer__inner{grid-template-columns:1fr}.app-footer__meta{text-align:left;align-items:flex-start}}.floating-brand{z-index:150;cursor:pointer;opacity:1;pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;width:104px;height:104px;padding:0;transition:transform .25s;display:grid;position:fixed;bottom:16px;right:16px}.floating-brand:hover{transform:translateY(-2px)scale(1.03)}.floating-brand .mini-emblem{filter:drop-shadow(0 14px 20px #a3182042)}.floating-brand__arrow{color:#fff;width:22px;height:22px;font-family:var(--mono);background:#b01e26;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;bottom:6px;right:4px;box-shadow:0 2px 8px #a3182061}.floating-brand__tip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#111c2deb;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:650;transition:opacity .2s,transform .2s;position:absolute;right:108px;transform:translate(4px)}.floating-brand:hover .floating-brand__tip{opacity:1;transform:none}@media (max-width:700px){.floating-brand{width:76px;height:76px;bottom:8px;right:8px}.floating-brand__tip{right:80px}.floating-brand__arrow{width:19px;height:19px;font-size:11px}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffeb}.card-solid{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.btn{border:1px solid var(--line-strong);color:var(--ink);background:#fffc;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:#2f6fed4d;transform:translateY(-1px);box-shadow:0 8px 20px #14213d1a}.btn--primary{color:#fff;background:linear-gradient(135deg,#17324d,#2f6fed);border-color:#0000;box-shadow:0 8px 20px #2f6fed38}.btn--ghost{background:0 0}.btn--sm{border-radius:10px;padding:7px 12px;font-size:13px}.pill{border:1px solid var(--line);color:var(--ink-3);white-space:nowrap;background:#ffffffa8;border-radius:12px;align-items:center;gap:7px;padding:8px 14px;font-size:14px;font-weight:650;transition:all .2s;display:inline-flex}.pill:hover{color:var(--ink);border-color:var(--line-strong)}.pill[aria-pressed=true],.pill.is-active{color:#fff;background:linear-gradient(135deg,#17324d,#2f6fed);border-color:#0000;box-shadow:0 6px 16px #2f6fed33}.pill small{font-family:var(--mono);opacity:.8;font-size:13px}.status-badge{--status-color:var(--same);white-space:nowrap;color:var(--status-color);background:var(--same-soft);border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:13px;font-weight:700;line-height:1.45;display:inline-flex}.status-badge__mark{width:18px;height:18px;font-family:var(--mono);background:var(--status-color);color:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.status-badge--added{--status-color:var(--added);background:var(--added-soft);border-color:#16a34a38}.status-badge--removed{--status-color:var(--removed);background:var(--removed-soft);border-color:#dc262633}.status-badge--modified{--status-color:var(--modified);background:var(--modified-soft);border-color:#7c3aed33}.status-badge--same{--status-color:var(--same);background:var(--same-soft);border-color:#64748b29}.status-dot{background:var(--same);border-radius:50%;flex:none;width:9px;height:9px}.status-dot--added{background:var(--added)}.status-dot--removed{background:var(--removed)}.status-dot--modified{background:var(--modified)}.status-dot--course{background:#d97706}.status-dot--same{background:var(--same)}.prose p{color:var(--ink-2);margin-bottom:12px;font-size:16px;line-height:1.9}.prose p:last-child{margin-bottom:0}.kv{font-family:var(--mono);font-variant-numeric:tabular-nums}.empty-note{border:1px dashed var(--line-strong);color:var(--ink-3);text-align:center;border-radius:14px;padding:22px;font-size:15px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:#fff;background:#17324d;border-radius:10px;padding:10px 16px;font-size:14px;transition:transform .2s;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}@media (max-width:1160px){.topbar-chip{display:none}}@media (max-width:1100px){:root{--topbar:64px}.app-topbar__inner{flex-wrap:wrap;gap:8px 18px;height:auto;padding-block-start:10px;padding-block-end:10px}.app-nav{order:3;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.topbar-chip{margin-left:auto}}@media (max-width:900px){.app-topbar{position:static}}@media (max-width:760px){body{font-size:15.5px}.brand-copy small{display:none}.brand-copy strong{font-size:16px}.brand-seals{gap:7px}.brand-seal--university{width:30px;height:30px}.brand-wordmark,.brand-divider{height:22px}.brand-mark{border-radius:12px;width:38px;height:38px;font-size:18px}.app-nav__link{padding:8px 12px;font-size:14px}.topbar-chip{display:none}.page{padding-top:18px;padding-bottom:56px}}.eyebrow{align-items:center;gap:7px;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(135deg,#4f7cff,#14b8a6);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #4f7cff1f,0 0 12px #14b8a659}@keyframes hero-aurora-a{0%{opacity:.7;transform:translate(0,0)scale(1)}to{opacity:1;transform:translate(-42px,30px)scale(1.14)}}@keyframes hero-aurora-b{0%{opacity:.6;transform:translate(0,0)scale(1)}to{opacity:.95;transform:translate(48px,-34px)scale(1.16)}}@keyframes hero-text-shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes hero-line-flow{to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.compare-page{padding-bottom:80px;overflow-x:clip}.compare-hero{color:#fff;background:linear-gradient(135deg,#0c1a2d 0%,#142b47 48%,#123d55 100%);border-radius:28px;margin-top:22px;padding:clamp(26px,3.4vw,44px);position:relative;overflow:hidden;box-shadow:0 26px 70px #0f21373d,inset 0 1px #ffffff24}.compare-hero:before{content:"";filter:blur(18px);pointer-events:none;background:radial-gradient(circle,#2f6fed8c,#0000 68%);border-radius:50%;width:560px;height:560px;animation:18s ease-in-out infinite alternate hero-aurora-a;position:absolute;top:-260px;right:-160px}.compare-hero:after{content:"";filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#0ea5a459,#0000 68%);border-radius:50%;width:480px;height:480px;animation:22s ease-in-out infinite alternate hero-aurora-b;position:absolute;bottom:-300px;left:-180px}.compare-hero__grid{pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 60% 40%,#000,#0000 75%);mask-image:radial-gradient(circle at 60% 40%,#000,#0000 75%)}.compare-hero__content{z-index:1;position:relative}.compare-hero__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.compare-hero .eyebrow{color:#ffffff9e}.compare-hero__tag{color:#ffffffc7;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:14px;font-weight:600;display:inline-flex}.compare-hero__tag i{background:#5eead4;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #5eead41f}.compare-identity{color:#fff9;flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:18px;font-size:14px;display:flex}.compare-identity img{object-fit:contain;filter:drop-shadow(0 4px 10px #00000047);width:30px;height:30px}.compare-identity span{color:#fffc;font-weight:650}.compare-identity b{color:#fff;border-left:1px solid #fff3;padding-left:10px;font-size:14px;font-weight:700}@media (max-width:700px){.compare-identity b{border-left:0;flex-basis:100%;padding-left:0}}.compare-title{letter-spacing:-.035em;background:linear-gradient(100deg,#fff 8%,#c4dcff 55%,#9ff3e8 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex-wrap:wrap;align-items:baseline;gap:0 .2em;margin-top:12px;font-size:clamp(36px,4.6vw,58px);font-weight:850;line-height:1.08;animation:12s ease-in-out infinite hero-text-shimmer;display:flex}.compare-subtitle{color:#ffffffa8;max-width:820px;margin-top:12px;font-size:17px;line-height:1.8}.year-pair{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch;gap:14px;margin-top:22px;display:grid}.year-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #fff3;border-radius:18px;padding:18px 20px 16px;transition:border-color .25s,background .25s,transform .25s;position:relative}.year-card:hover{background:#ffffff1f;border-color:#ffffff52;transform:translateY(-2px)}.year-card--a{border-top:3px solid #60a5faf2}.year-card--b{border-top:3px solid #2dd4bff2}.year-card__label{color:#fff9;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:650;display:flex}.year-card__label b{color:#ffffffeb;font-weight:700}.year-select-wrap{align-items:center;gap:8px;margin-top:4px;display:flex}.year-select{-webkit-appearance:none;appearance:none;color:#fff;width:100%;font-family:var(--mono);letter-spacing:-.06em;cursor:pointer;background:0 0;border:0;padding:0;font-size:clamp(44px,4.6vw,64px);font-weight:750;line-height:1.12}.year-select:focus-visible{outline-offset:4px;border-radius:8px;outline:2px solid #ffffffb3}.year-select option{color:var(--ink);font-family:var(--font);background:#fff;font-size:16px}.year-select-wrap svg{color:#fff9;flex:none}.year-card__title{color:#ffffffdb;margin-top:2px;font-size:15px;font-weight:600;line-height:1.55}.year-card__meta{color:#ffffff94;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:14px;display:flex}.year-card__meta b{color:#ffffffeb;font-weight:650}.year-swap{color:#fff;background:#ffffff17;border:1px solid #ffffff38;border-radius:50%;place-self:center;place-items:center;width:52px;height:52px;transition:transform .25s,background .25s;display:grid}.year-swap:hover{background:#ffffff29;transform:rotate(180deg)scale(1.06)}.compare-hero__actions{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:16px;display:flex}.compare-hero__actions .btn{color:#fff;box-shadow:none;background:#ffffff1a;border-color:#ffffff38}.compare-hero__actions .btn:hover{background:#ffffff2e;border-color:#fff6}.compare-hero__actions .btn--primary{color:#14213d;background:#fff;border-color:#fff;font-weight:750}.compare-hero__actions .btn--primary:hover{color:#0f2742;background:#e7f0ff}.hero-stats{border-top:1px solid #ffffff24;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;display:grid}.hero-stat{border-right:1px solid #ffffff1f;padding:4px 12px 2px 0}.hero-stat:last-child{border-right:0}.hero-stat__value{font-family:var(--mono);letter-spacing:-.04em;color:#fff;font-size:clamp(26px,2.6vw,38px);font-weight:750;line-height:1.1}.hero-stat__value--added{color:#86efac}.hero-stat__value--removed{color:#fca5a5}.hero-stat__value--modified{color:#c4b5fd}.hero-stat__value--course{color:#fcd34d}.hero-stat__label{color:#ffffff8f;margin-top:6px;font-size:14px;font-weight:550}.hero-stat__note{color:#fff6;margin-top:2px;font-size:13px}.compare-summary{-webkit-backdrop-filter:blur(24px)saturate(170%);background:#fffffffa;border:1px solid #fffffff0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px;padding:10px 14px;display:flex;position:relative;box-shadow:0 12px 32px #14213d17}.sticky-years{align-items:center;gap:8px;display:flex}.sticky-year-select{-webkit-appearance:none;appearance:none;border:1px solid var(--line);font-family:var(--mono);color:var(--ink);cursor:pointer;background:#ffffffdb;border-radius:10px;padding:6px 12px;font-size:16px;font-weight:700}.sticky-year-select--a{color:var(--a);border-color:#2f6fed3d}.sticky-year-select--b{color:var(--b);border-color:#0ea5a442}.sticky-divider{background:var(--line);width:1px;height:24px}.sticky-modes{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sticky-modes__caption{letter-spacing:.06em;color:var(--muted);margin-right:2px;font-size:11.5px;font-weight:700}.sticky-mode{color:var(--ink-3);white-space:nowrap;border:1px solid #0000;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:650}.sticky-mode:hover{color:var(--ink);background:#14213d0d}.sticky-mode.is-summary{cursor:default;color:var(--ink-2)}.sticky-mode.is-summary:hover{color:var(--ink-2);background:0 0}.sticky-mode.is-summary small{font-family:var(--mono);opacity:1;background:#14213d0f;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:11.5px;font-weight:750}.sticky-mode.is-active{color:#fff;background:#17324d}.sticky-mode small{font-family:var(--mono);opacity:.7;margin-left:5px;font-size:12px}.sticky-spacer{margin-left:auto}.sticky-link{color:var(--a);white-space:nowrap;font-size:13px;font-weight:650}.sticky-link:hover{text-decoration:underline}.module-rail{scrollbar-width:thin;flex-wrap:wrap;gap:8px;padding:16px 2px 4px;display:flex}.module-chip{border:1px solid var(--line);color:var(--ink-3);background:#ffffffa8;border-radius:11px;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.module-chip:hover{color:var(--ink);border-color:var(--line-strong);background:#ffffffeb}.module-chip.is-active{color:var(--ink);background:#fff;border-color:#2f6fed47;box-shadow:0 8px 18px #2f6fed1a}.module-chip__no{font-family:var(--mono);color:var(--ink-3);font-size:12px;font-weight:700}.compare-module{scroll-margin-top:calc(var(--topbar) + 16px);margin-top:26px;animation:.45s both compare-row-in}.compare-module [id^=compare-]{scroll-margin-top:calc(var(--topbar) + 18px)}@container (width<=640px){.plan-panel .semester-grid{grid-template-columns:1fr}}@keyframes compare-row-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.module-head{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:8px 2px 12px;display:flex}.module-number{color:#fff;width:42px;height:42px;font-family:var(--mono);background:linear-gradient(135deg,#17324d,#2f6fed);border-radius:13px;flex:none;place-items:center;font-size:15px;font-weight:750;display:grid;box-shadow:0 8px 20px #2f6fed33}.module-title-wrap{flex:1;min-width:0}.module-title{letter-spacing:-.02em;color:var(--ink);font-size:22px;font-weight:800;line-height:1.3}.module-subtitle{color:var(--ink-3);margin-top:2px;font-size:14px;line-height:1.5}.module-head__stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stat-chip{border:1px solid var(--line);color:var(--ink-3);white-space:nowrap;background:#ffffffa8;border-radius:9px;align-items:baseline;gap:5px;padding:5px 10px;font-size:13px;display:inline-flex}.stat-chip b{font-family:var(--mono);color:var(--ink);font-size:14px}.stat-chip--added{background:var(--added-soft);color:var(--added);border-color:#16a34a2e}.stat-chip--added b{color:var(--added)}.stat-chip--removed{background:var(--removed-soft);color:var(--removed);border-color:#dc262629}.stat-chip--removed b{color:var(--removed)}.stat-chip--modified{background:var(--modified-soft);color:var(--modified);border-color:#7c3aed29}.stat-chip--modified b{color:var(--modified)}.stat-chip--course{color:#b45309;background:#d977061a;border-color:#d9770638}.stat-chip--course b{color:#b45309}.module-collapse{border:1px solid var(--line);color:var(--ink-3);background:#ffffffad;border-radius:9px;margin-left:auto;padding:7px 12px;font-size:13px;font-weight:600}.module-collapse:hover{color:var(--ink);border-color:var(--line-strong)}.module-body{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:stretch;display:grid}.module-body-zone{margin:22px 0 4px}.module-body-zone__head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;padding-bottom:9px;display:flex}.module-body-zone__badge{color:var(--ink-3);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:8px;font-size:12.5px;font-weight:750;display:inline-flex}.module-body-zone__badge:before{content:"";background:var(--ink-3);opacity:.45;border-radius:2px;width:3px;height:13px}.module-body-zone__note{min-width:0;color:var(--muted);font-size:12.5px;line-height:1.6}.plan-panel{background:#ffffffe0;border:1px solid #ffffffe6;border-radius:18px;min-width:0;padding:22px 24px 24px;transition:box-shadow .25s,transform .25s,border-color .25s;position:relative;box-shadow:0 8px 28px #14213d0f;container-type:inline-size}.plan-panel--a{border-top:3px solid var(--a);background:linear-gradient(#2f6fed0b,#0000 180px),#ffffffe6}.plan-panel--b{border-top:3px solid var(--b);background:linear-gradient(#0e94880b,#0000 180px),#ffffffe6}.plan-panel .course-chip[data-status=same]{background:#ffffffeb;border-color:#14213d1f}.compare-module:hover .plan-panel{box-shadow:0 12px 30px #14213d14}.plan-panel--placeholder{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:180px;box-shadow:none;background:#ffffff29;border:1px dashed #94a3b866;place-items:center;display:grid;position:relative}.plan-panel--placeholder.is-added{border-color:#16a34a3d}.plan-panel--placeholder.is-removed{border-color:#dc262638}.placeholder-copy{z-index:1;text-align:center;max-width:300px;color:var(--ink-3);font-size:15px;line-height:1.7;position:relative}.placeholder-copy strong{color:var(--ink);margin-bottom:4px;font-size:16px;display:block}.diff-rail{flex-direction:column;align-items:center;gap:10px;padding-top:18px;display:flex;position:relative;box-shadow:inset 1px 0 #14213d0e,inset -1px 0 #14213d0e}.diff-rail:before{content:"";background:linear-gradient(#14213d29,#14213d0a);border-radius:2px;width:1px;position:absolute;top:58px;bottom:18px;left:50%}.rail-mark{z-index:1;width:36px;height:36px;font-family:var(--mono);color:#fff;border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid;position:relative;box-shadow:0 8px 20px #14213d24}.rail-mark--added{background:var(--added)}.rail-mark--removed{background:var(--removed)}.rail-mark--modified{background:var(--modified)}.rail-mark--course{background:#d97706}.rail-mark--same{background:var(--same)}.rail-label{z-index:1;writing-mode:vertical-rl;letter-spacing:.14em;color:var(--ink-3);background:var(--bg);border-radius:6px;padding:6px 2px;font-size:12px;font-weight:700;position:relative}.panel-side{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-side__label{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.panel-side__label i{background:var(--a);border-radius:50%;width:9px;height:9px}.plan-panel--b .panel-side__label i{background:var(--b)}.panel-side__link{color:var(--a);white-space:nowrap;font-size:13px;font-weight:650}.plan-panel--b .panel-side__link{color:var(--b)}.panel-side__link:hover{text-decoration:underline}.prose-block{flex-direction:column;gap:2px;display:flex}.prose-p{color:var(--ink-2);border-radius:10px;margin:0 -10px;padding:7px 10px;font-size:16px;line-height:1.9;transition:background .2s;position:relative}.prose-p--added{background:var(--added-soft);border-left:3px solid var(--added)}.prose-p--removed{background:var(--removed-soft);border-left:3px solid var(--removed)}.prose-p--modified{border-left:3px solid var(--modified);background:#7c3aed0b}.paragraph-flag{color:var(--modified);background:var(--modified-soft);border-radius:6px;align-items:center;gap:5px;margin-bottom:5px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.prose-line{display:block}.prose-line+.prose-line{margin-top:6px}.prose-p--merged{background:#0d948812;border-left:3px solid #0d9488}.prose-p--merged .paragraph-flag{color:#0f766e;background:#0d94881f}.prose-p--split{background:#0891b212;border-left:3px solid #0891b2}.prose-p--split .paragraph-flag{color:#0e7490;background:#0891b21f}.prose-p--reordered{background:#2563eb11;border-left:3px solid #2563eb}.prose-p--reordered .paragraph-flag{color:#1d4ed8;background:#2563eb1c}.status-badge--merged{--status-color:#0d9488;background:#0d94881a;border-color:#0d948833}.status-badge--split{--status-color:#0891b2;background:#0891b21a;border-color:#0891b233}.status-badge--reordered{--status-color:#2563eb;background:#2563eb1a;border-color:#2563eb33}.inline-removed{color:#b91c1c;background:#dc262621;border-radius:3px;padding:0 1px;text-decoration:line-through;text-decoration-thickness:1px}.inline-added{color:#15803d;background:#16a34a26;border-radius:3px;padding:0 1px}.inline-same{color:inherit}.diff-segment{white-space:pre-wrap}.group-stack{flex-direction:column;gap:12px;margin-top:4px;display:flex}.diff-group{border:1px solid var(--line);background:#f8fafde6;border-radius:14px;padding:16px 16px 14px;position:relative}.diff-group--added{background:linear-gradient(#16a34a12,#ffffffe6);border-color:#16a34a3d}.diff-group--removed{background:linear-gradient(#dc26260f,#ffffffe6);border-color:#dc262638}.diff-group--modified{background:linear-gradient(#7c3aed0e,#ffffffe6);border-color:#7c3aed38}.diff-group__head{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.diff-group__title{display:block}.requirement-name{color:var(--ink);font-size:16.5px;font-weight:750;line-height:1.55}.requirement-desc{color:var(--ink-2);font-size:15.5px;font-weight:400;line-height:1.8}.group-number{color:#fff;min-width:34px;height:30px;font-family:var(--mono);background:#17324d;border-radius:9px;flex:none;place-items:center;padding:0 8px;font-size:12px;font-weight:750;display:inline-grid}.diff-group--added .group-number{background:var(--added)}.diff-group--removed .group-number{background:var(--removed)}.diff-group--modified .group-number{background:var(--modified)}.diff-group__title{color:var(--ink);font-size:16px;font-weight:700;line-height:1.65}.diff-group__body{flex-direction:column;gap:6px;padding-left:44px;display:flex}.diff-group__body .prose-p{margin:0;padding:4px 8px;font-size:15.5px}.sub-list{flex-direction:column;gap:8px;margin-top:4px;padding-left:44px;display:flex}.sub-item{color:var(--ink-2);padding-left:18px;font-size:15.5px;line-height:1.85;position:relative}.sub-item:before{content:"";background:var(--b);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:0}.diff-group--added .sub-item:before{background:var(--added)}.diff-group--removed .sub-item:before{background:var(--removed)}.diff-group--modified .sub-item:before{background:var(--modified)}.missing-block{color:var(--ink-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none;background:#ffffff29;border:1px dashed #94a3b866;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;display:flex;position:relative}.missing-block>*{z-index:1;position:relative}.sub-item{border:1px solid var(--line);background:#14213d06;border-radius:11px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.sub-item__number{font-family:var(--mono);color:var(--ink-3);flex:none;padding-top:1px;font-size:12px;font-weight:650}.sub-item--added .sub-item__number{color:var(--added)}.sub-item--removed .sub-item__number{color:var(--removed)}.sub-item--modified .sub-item__number{color:var(--modified)}.sub-item__body{flex:1;min-width:0}.sub-item__title{color:var(--ink-2);font-size:15px;font-weight:650;line-height:1.7}.sub-item--added{background:#16a34a0b;border-color:#16a34a33}.sub-item--removed{background:#dc26260a;border-color:#dc26262e}.sub-item--modified{background:#7c3aed0a;border-color:#7c3aed2e}.sub-list--nested{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.plan-panel[data-course-focus=added] .course-chip:not([data-status=added]),.plan-panel[data-course-focus=removed] .course-chip:not([data-status=removed]),.plan-panel[data-course-focus=changed] .course-chip:not([data-status=modified]),.plan-panel[data-course-focus=same] .course-chip:not([data-status=same]){opacity:.22;filter:saturate(.35);box-shadow:none}.plan-panel[data-course-focus=added] .course-chip[data-status=added],.plan-panel[data-course-focus=removed] .course-chip[data-status=removed],.plan-panel[data-course-focus=changed] .course-chip[data-status=modified],.plan-panel[data-course-focus=same] .course-chip[data-status=same]{transform:translateY(-1px);box-shadow:0 0 0 2px #14213d1a}.credit-delta-strip{border:1px solid var(--line);background:#ffffffb3;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:11px 14px;display:flex}.credit-delta-strip__label{color:var(--ink-2);margin-right:4px;font-size:14px;font-weight:700}.compare-legend{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px 14px;margin-top:28px;padding-top:18px;display:flex}.compare-legend__hint{color:var(--ink-3);margin-left:auto;font-size:14px}#compare-modules,#compare-legend{scroll-margin-top:calc(var(--topbar) + 128px)}.compare-hint{color:var(--ink-3);margin:12px 2px 0;font-size:14px;line-height:1.7}.diff-hover__meta{color:var(--ink-3);margin-top:3px;font-size:13px;line-height:1.5}.missing-block__mark{width:26px;height:26px;font-family:var(--mono);background:#14213d0f;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.missing-block--compact{border-style:dashed;margin-top:8px;padding:9px 11px;font-size:13px}.missing-block--compact .missing-block__mark{width:22px;height:22px;font-size:12px}.credit-panel{flex-direction:column;gap:16px;display:flex}.credit-total{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);align-items:baseline;gap:8px;font-size:34px;font-weight:750;display:flex}.credit-total small{color:var(--ink-3);letter-spacing:0;font-size:14px;font-weight:600}.credit-stack{background:#e2e8f0;border:1px solid #14213d0f;border-radius:10px;height:24px;display:flex;overflow:hidden}.credit-stack span{height:100%;transition:width .7s cubic-bezier(.22,1,.36,1);display:block}.credit-legend{grid-template-columns:1fr 1fr;gap:8px 14px;display:grid}.credit-legend__item{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex}.credit-legend__item i{border-radius:3px;flex:none;width:10px;height:10px}.credit-legend__item b{font-family:var(--mono);color:var(--ink);margin-left:auto;font-size:14px}.credit-delta-list{flex-wrap:wrap;gap:7px;margin-top:2px;display:flex}.delta-chip{border:1px solid var(--line);color:var(--ink-3);background:#ffffffb3;border-radius:8px;align-items:baseline;gap:6px;padding:5px 9px;font-size:13px;font-weight:600;display:inline-flex}.delta-chip b{font-family:var(--mono);color:var(--ink);font-size:13px}.delta-chip.is-up{color:var(--added);background:var(--added-soft);border-color:#16a34a33}.delta-chip.is-up b{color:var(--added)}.delta-chip.is-down{color:var(--removed);background:var(--removed-soft);border-color:#dc26262e}.delta-chip.is-down b{color:var(--removed)}.course-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.course-toolbar__title{color:var(--ink);font-size:15px;font-weight:700}.course-toolbar__counts{flex-wrap:wrap;gap:6px;display:flex}.course-toolbar .pill{border-radius:8px;padding:5px 10px;font-size:13px}.course-toolbar .pill[data-focus=added].is-active{background:var(--added);box-shadow:0 5px 12px #16a34a38}.course-toolbar .pill[data-focus=removed].is-active{background:var(--removed);box-shadow:0 5px 12px #dc262638}.course-toolbar .pill[data-focus=changed].is-active{background:#d97706;box-shadow:0 5px 12px #d9770638}.course-toolbar .pill[data-focus=same].is-active{background:var(--same);box-shadow:0 5px 12px #64748b38}.course-toolbar__hint{color:var(--ink-3);margin-left:auto;font-size:13px}.semester-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.semester-card{border:1px solid var(--line);background:linear-gradient(#ffffffe6,#f7faffc2);border-radius:13px;min-height:116px;padding:12px}.semester-card__head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.semester-card__head strong{color:var(--ink);font-size:15px;font-weight:750}.semester-card__head span{color:var(--ink-3);font-size:13px}.semester-bar{background:#14213d12;border-radius:4px;height:4px;margin-bottom:10px;overflow:hidden}.semester-bar i{background:linear-gradient(90deg, var(--a), var(--b));border-radius:4px;height:100%;transition:width .6s;display:block}.course-chips{flex-wrap:wrap;gap:5px;display:flex}.course-chip{--cat-color:#64748b;max-width:100%;box-shadow:inset 4px 0 0 var(--cat-color);color:var(--ink-2);text-align:left;white-space:nowrap;background:#fff;border:1px solid #14213d1a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:3px 6px;padding:6px 9px 6px 11px;font-size:13px;font-weight:550;line-height:1.45;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.course-chip__main{flex-wrap:nowrap;flex:100%;align-items:center;gap:5px;min-width:0;display:inline-flex}.course-chip__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.course-chip__tag{letter-spacing:.01em;border-radius:4px;flex:none;padding:1px 5px;font-size:10.5px;font-weight:800;line-height:1.55}.course-chip__tag.is-aix,.course-chip__tag.is-xai{color:#fff;background:#111827;box-shadow:inset 0 0 0 1px #ffffff38}.course-chip__tag.is-special{color:#7e22ce;background:#f3e8ff}.course-chip__tag.is-note{color:#b45309;background:#fef3c7}.course-chip__meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.course-chip:hover{box-shadow:inset 4px 0 0 var(--cat-color), 0 5px 12px #14213d1f;z-index:2;border-color:#14213d47;transform:translateY(-1px)}.course-chip__credit{font-family:var(--mono);color:var(--ink-2);font-size:12.5px;font-weight:750}.course-chip__exam{min-width:18px;height:18px;color:var(--ink-3);background:#f8fafc;border:1px solid #14213d1f;border-radius:4px;place-items:center;padding:0 4px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.course-chip[data-exam=试] .course-chip__exam{color:#b91c1c;background:#fef2f2;border-color:#b91c1c3d}.course-chip[data-exam=试\/查] .course-chip__exam{color:#9a3412;background:#fff7ed;border-color:#9a34123d}.course-chip__delta{color:#b45309;border-left:1px solid #14213d24;margin-left:2px;padding-left:8px;font-size:12.5px;font-weight:650;line-height:1.4}.course-legend{border:1px solid var(--line);background:#f8fafdeb;border-radius:12px;flex-direction:column;gap:8px;margin:0 0 14px;padding:11px 13px;display:flex}.course-legend--compact{gap:6px;padding:8px 10px}.course-legend__group{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.course-legend__group--status{border-top:1px dashed var(--line);padding-top:7px}.course-legend__title{min-width:54px;color:var(--ink-3);font-size:13px;font-weight:750}.course-legend__cat{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.course-legend__cat i{border-radius:2px;flex:none;width:3px;height:13px}.course-legend__item{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.course-legend__exam{border:1px solid var(--line-strong);width:19px;height:19px;color:var(--ink-2);background:#f8fafc;border-radius:4px;place-items:center;font-size:12px;font-weight:750;display:inline-grid}.course-legend__unit{min-width:28px;height:19px;font-family:var(--mono);color:var(--ink-2);background:#14213d0f;border-radius:4px;place-items:center;padding:0 4px;font-size:12px;display:inline-grid}.course-legend__note{color:var(--ink-3);font-size:12px}.legend-chip{white-space:nowrap;border:1px solid;border-radius:5px;align-items:center;padding:2px 7px;font-size:12px;font-weight:650;line-height:1.4;display:inline-flex}.legend-chip.is-added{color:#166534;background:#e6f9ec;border-color:#6ee7a0}.legend-chip.is-removed{color:#991b1b;background:#fdecec;border-color:#f7a7a7;-webkit-text-decoration:line-through #dc262699;text-decoration:line-through #dc262699}.legend-chip.is-modified{color:#b45309;background:#fff6da;border-color:#ca8a046b}.legend-chip.is-same{color:var(--ink-2);background:#fff;border-color:#14213d1f}.course-change-summary{color:var(--ink-3);flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;font-size:13.5px;display:flex}.course-change-summary b{font-family:var(--mono);color:var(--ink);font-weight:750}.course-change-summary .is-credit{color:#b45309}.course-change-summary .is-semester{color:#1d4ed8}.course-change-summary .is-category{color:#7e22ce}.course-change-summary .is-same{color:var(--ink-3)}.course-empty{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:58px;box-shadow:none;color:var(--ink-3);background:#ffffff24;border:1px dashed #94a3b85c;border-radius:12px;justify-content:center;align-items:center;padding:12px;font-size:13px;display:flex;position:relative}.course-more{color:var(--a);margin-top:7px;font-size:13px;font-weight:650}.plan-panel--b .course-more{color:var(--b)}.semester-legend{color:var(--ink-3);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px;display:flex}.semester-legend span{align-items:center;gap:6px;display:inline-flex}.semester-legend i{border-radius:3px;width:9px;height:9px}.diff-hover{z-index:1000;-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);pointer-events:none;background:#fffffff2;border:1px solid #ffffffe6;border-radius:16px;width:370px;max-width:calc(100vw - 32px);padding:18px 18px 16px;animation:.16s both hover-in;position:fixed;box-shadow:0 22px 60px #14213d33}@keyframes hover-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.diff-hover__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.diff-hover__title{color:var(--ink);font-size:17px;font-weight:800;line-height:1.4}.diff-hover__grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px;display:grid}.diff-hover__stat{background:#14213d0b;border-radius:10px;padding:8px 10px}.diff-hover__stat b{font-family:var(--mono);font-size:21px;line-height:1.2;display:block}.diff-hover__stat span{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.diff-hover__stat--added b{color:var(--added)}.diff-hover__stat--removed b{color:var(--removed)}.diff-hover__stat--modified b{color:var(--modified)}.diff-hover__list{flex-direction:column;gap:7px;display:flex}.diff-hover__item{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:flex}.diff-hover__item i{border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.diff-hover__foot{border-top:1px solid var(--line);color:var(--ink-3);margin-top:12px;padding-top:10px;font-size:12px}.course-tip{z-index:1100;color:#fff;pointer-events:none;background:#111c2df5;border-radius:14px;width:340px;max-width:calc(100vw - 24px);padding:14px 15px;animation:.15s both hover-in;position:fixed;box-shadow:0 18px 40px #14213d47}.course-tip__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.course-tip__title{font-size:15px;font-weight:750;line-height:1.45}.course-tip__meta{color:#fff9;align-items:center;gap:6px;margin-top:5px;font-size:12.5px;display:flex}.course-tip__meta i{border-radius:2px;flex:none;width:3px;height:12px}.course-tip__badge{white-space:nowrap;border-radius:6px;flex:none;padding:3px 8px;font-size:12px;font-weight:700}.course-tip__badge.is-added{color:#86efac;background:#22c55e2e}.course-tip__badge.is-removed{color:#fca5a5;background:#f871712e}.course-tip__badge.is-modified{color:#fcd34d;background:#fbbf2429}.course-tip__badge.is-same{color:#cbd5e1;background:#ffffff1f}.course-tip__compare{border-top:1px solid #ffffff24;margin-top:10px;padding-top:9px}.course-tip__compare-head{color:#ffffff7a;grid-template-columns:minmax(42px,auto) minmax(0,1fr) 14px minmax(0,1fr);gap:6px;margin-bottom:3px;font-size:11.5px;display:grid}.course-tip__compare-head span:nth-child(3){text-align:center}.course-tip__row{grid-template-columns:minmax(42px,auto) minmax(0,1fr) 14px minmax(0,1fr);align-items:baseline;gap:6px;padding:3px 0;font-size:12.5px;line-height:1.45;display:grid}.course-tip__row-label{color:#ffffff85;white-space:nowrap}.course-tip__row b{color:#fff;overflow-wrap:anywhere;font-weight:600}.course-tip__row i{text-align:center;color:#fff6;font-style:normal}.course-tip__facts{border-top:1px solid #ffffff24;grid-template-columns:34px minmax(0,1fr) 34px minmax(0,1fr);gap:4px 8px;margin-top:10px;padding-top:9px;font-size:12.5px;line-height:1.45;display:grid}.course-tip__facts span{color:#ffffff85}.course-tip__facts b{color:#fff;overflow-wrap:anywhere;font-weight:600}.course-tip__status{color:#ffffffad;border-top:1px solid #ffffff24;margin-top:9px;padding-top:8px;font-size:12.5px;line-height:1.55}.course-tip__status b{color:#fff;font-weight:650}.compare-same-note{background:var(--same-soft);color:var(--same);border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.compare-empty{border:1px dashed var(--line-strong);text-align:center;background:#fff9;border-radius:20px;margin-top:26px;padding:44px 28px}.compare-empty h3{color:var(--ink);font-size:26px;font-weight:800}.compare-empty p{color:var(--ink-3);margin-top:8px;font-size:16px}.compare-loading{text-align:center;color:var(--ink-3);padding:80px 20px;font-size:16px}.module-chip,.sticky-mode,.sticky-link,.stat-chip,.course-toolbar__hint,.course-more,.semester-legend,.delta-chip,.diff-hover__item,.diff-hover__foot,.diff-hover__meta,.course-tip__meta,.course-tip__facts,.hero-stat__note,.panel-side__link{font-size:14px}.module-chip__no,.sticky-mode small,.course-tip__row,.course-tip__badge,.group-number,.sub-item__number,.paragraph-flag{font-size:13px}.course-chip,.course-toolbar .pill,.status-badge{font-size:13.5px}.module-subtitle{font-size:15px}.rail-label,.diff-hover__stat span{font-size:13px}@media (max-width:900px){.module-body{grid-template-columns:1fr;gap:12px}.diff-rail{flex-direction:row;justify-content:center;gap:8px;padding-top:0}.diff-rail:before{display:none}.rail-label{writing-mode:horizontal-tb;letter-spacing:.08em;padding:4px 10px}.hero-stat:nth-child(3n){border-right:0}.module-rail{flex-wrap:nowrap;overflow-x:auto}.compare-summary{top:8px}.compare-hero{border-radius:22px;padding:28px 22px}.year-pair{grid-template-columns:1fr;gap:10px}.year-swap{width:44px;height:44px}.compare-subtitle{font-size:15.5px}.hero-stats{grid-template-columns:1fr 1fr}.hero-stat:nth-child(2n){border-right:0}.semester-grid{grid-template-columns:1fr}.compare-summary{padding:9px 10px}.sticky-years{width:100%}.sticky-year-select{text-align:center;flex:1}.sticky-modes{flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.sticky-spacer,.sticky-link,.sticky-divider{display:none}.module-head{align-items:flex-start}.module-head__stats{flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.module-collapse{margin-left:0}.plan-panel{padding:18px 16px}.diff-group__body,.sub-list{padding-left:0}.credit-legend{grid-template-columns:1fr}}@media (max-width:600px){.compare-hero{padding:22px 16px}.compare-title{flex-direction:column;gap:2px;font-size:34px;line-height:1.15}.compare-title__dot{display:none}.compare-subtitle{font-size:15px;line-height:1.75}.year-pair{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:6px;margin-top:16px}.year-card{padding:12px 12px 10px}.year-card__label{font-size:13px}.year-select{font-size:34px}.year-select-wrap svg{width:14px;height:9px}.year-card__title{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;margin-top:3px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.year-card__label b{display:none}.year-card__meta{gap:2px 8px;font-size:13px}.year-swap{width:36px;height:36px}.compare-hero__actions{margin-top:12px}.compare-hero__actions .btn{padding:8px 10px;font-size:13px}.hero-stats{gap:8px;margin-top:14px;padding-top:12px;padding-bottom:4px;display:flex;overflow-x:auto}.hero-stat{border-right:0;min-width:128px;padding:0 0 4px}.hero-stat__value{font-size:26px}.hero-stat__label{font-size:13px}.hero-stat__note{font-size:12px}.module-title{font-size:19px}.module-number{border-radius:11px;width:36px;height:36px;font-size:13px}.module-title-wrap{min-width:calc(100% - 52px)}.diff-hover{display:none}}.compare-layout{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:20px;margin-top:18px;display:grid}.compare-side{top:calc(var(--topbar) + 18px);max-height:calc(100vh - var(--topbar) - 38px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);scrollbar-width:thin;background:#ffffffd1;border:1px solid #ffffffeb;border-radius:14px;align-self:start;padding:12px 11px 11px;position:sticky;overflow:auto}.compare-side__head{border-bottom:1px solid var(--line);color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:8px;font-size:13.5px;font-weight:750;display:flex}.compare-side__head span:last-child{font-family:var(--mono);color:var(--ink-3);font-size:11.5px;font-weight:600}.compare-side__search{border:1px solid var(--line);color:var(--ink-3);background:#f8fafde6;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;display:flex}.compare-side__search svg{flex:none;width:14px;height:14px}.compare-side__search:focus-within{background:#fff;border-color:#2f6fed66}.compare-side__search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12.5px}.compare-side__nav{flex-direction:column;gap:1px;margin-top:8px;display:flex}.compare-side__item{border-radius:8px}.compare-side__row{align-items:center;gap:1px;display:flex}.compare-side__row .compare-side__link{flex:1;min-width:0}.compare-side__expand{width:18px;height:22px;color:var(--muted);border-radius:5px;flex:none;place-items:center;transition:background .16s,color .16s;display:grid}.compare-side__expand svg{width:9px;height:9px;transition:transform .18s}.compare-side__expand:hover{color:var(--ink-2);background:#2f6fed14}.compare-side__expand.is-open svg{transform:rotate(90deg)}.compare-side__sub{border-left:1px solid var(--line);flex-direction:column;gap:0;margin:0 0 4px 28px;padding-left:8px;display:flex}.compare-side__sub button{text-align:left;min-width:0;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:4px 6px;font-size:11.5px;line-height:1.4;transition:background .16s,color .16s;overflow:hidden}.compare-side__sub button:hover{color:var(--ink);background:#2f6fed12}.compare-side__link{text-align:left;color:var(--ink-3);border-radius:7px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;padding:5px 6px;transition:background .16s,color .16s;display:grid}.compare-side__link:hover{color:var(--ink);background:#2f6fed0f}.compare-side__link.is-active{box-shadow:inset 2px 0 0 var(--a);color:var(--a);background:#2f6fed17}.compare-side__link.is-outside{opacity:.48}.compare-side__link.is-outside:hover{opacity:1}.compare-side__no{width:24px;height:24px;font-family:var(--mono);color:var(--ink-3);background:#14213d0e;border-radius:7px;place-items:center;font-size:10.5px;font-weight:750;display:inline-grid}.compare-side__item[data-kind=course] .compare-side__no{color:#b45309}.compare-side__item[data-kind=credits] .compare-side__no{color:#6d28d9}.compare-side__item[data-kind=standards] .compare-side__no{color:#0f766e}.compare-side__item[data-kind=core] .compare-side__no{color:#15803d}.compare-side__link.is-active .compare-side__no{color:#1d4ed8}.compare-side__label{justify-content:space-between;align-items:center;gap:5px;min-width:0;font-size:13px;font-weight:650;line-height:1.4;display:flex}.compare-side__label .status-dot{flex:none;width:6px;height:6px}.compare-side__meta{font-family:var(--mono);flex-wrap:wrap;grid-column:2;gap:3px;margin-top:1px;font-size:10.5px;font-weight:700;display:flex}.compare-side__meta b{border-radius:4px;align-items:center;padding:0 4px;font-weight:700;line-height:1.5;display:inline-flex}.compare-side__meta .is-added{color:var(--added);background:var(--added-soft)}.compare-side__meta .is-removed{color:var(--removed);background:var(--removed-soft)}.compare-side__meta .is-changed{color:var(--modified);background:var(--modified-soft)}.compare-side__meta .is-course{color:#b45309;background:#d977061f}.compare-side__empty{color:var(--ink-3);padding:12px 4px;font-size:13.5px}.compare-side__actions{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px;padding-top:9px;display:grid}.compare-side__actions button{border:1px solid var(--line);color:var(--ink-3);background:#f8fafdeb;border-radius:7px;padding:5px 4px;font-size:11.5px;font-weight:650}.compare-side__actions button:hover{color:var(--ink);border-color:var(--line-strong);background:#fff}.compare-side__actions button:last-child{grid-column:auto}.compare-main{min-width:0}.compare-main .compare-hint{margin:2px 2px 10px}.sticky-mode{align-items:center;gap:6px;display:inline-flex}.sticky-mode i{background:var(--same);opacity:.9;border-radius:50%;flex:none;width:8px;height:8px}.sticky-mode[data-tone=diff] i{background:#0f172a}.sticky-mode[data-tone=added] i{background:var(--added)}.sticky-mode[data-tone=removed] i{background:var(--removed)}.sticky-mode[data-tone=modified] i{background:var(--modified)}.sticky-mode[data-tone=course] i{background:#d97706}.sticky-mode.is-active i{box-shadow:0 0 0 2px #ffffff73}.aligned-compare{background:linear-gradient(90deg,#2f6fed0e 0 calc(50% - 66px),#14213d06 calc(50% - 66px) calc(50% + 66px),#0e94880e calc(50% + 66px) 100%);border-radius:16px;flex-direction:column;gap:14px;padding:0 18px 18px;display:flex;position:relative}.aligned-compare:before,.aligned-compare:after{content:"";pointer-events:none;background:linear-gradient(#0000,#14213d38,#0000);width:1px;position:absolute;top:8px;bottom:8px}.aligned-compare:before{left:calc(50% - 66px)}.aligned-compare:after{right:calc(50% - 66px)}.aligned-compare__head{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center;gap:20px;padding:6px 4px 4px;display:grid}.aligned-compare__year{color:var(--ink-2);background:#2f6fed0f;border-radius:9px;justify-self:start;align-items:center;gap:7px;padding:5px 10px;font-size:14px;font-weight:750;display:inline-flex}.aligned-compare__year.is-b{background:#0e948812;justify-self:end}.aligned-compare__year b{color:#fff;border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.aligned-compare__year.is-a b{background:#2f6fed}.aligned-compare__year.is-b b{background:#0e9488}.aligned-compare__center{text-align:center;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;background:#14213d0e;border-radius:999px;justify-self:center;padding:4px 10px;font-size:13px;font-weight:800}.aligned-row{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.aligned-cell{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#ffffffb8;border:1px solid #ffffffeb;border-radius:14px;min-width:0;padding:14px 15px;box-shadow:inset 0 1px #fffffff2,0 8px 24px #14213d0d}.aligned-cell--left{border-top:2px solid #2f6fed6b}.aligned-cell--right{border-top:2px solid #0e94886b}.aligned-cell.is-added{background:linear-gradient(#16a34a14,#ffffffb3 58%);border-color:#16a34a33}.aligned-cell.is-removed{background:linear-gradient(#dc262611,#ffffffb3 58%);border-color:#dc26262e}.aligned-cell.is-modified{background:linear-gradient(#7c3aed0e,#ffffffb8 58%);border-color:#7c3aed2e}.aligned-cell__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.aligned-cell__no{font-family:var(--mono);color:var(--ink-2);font-size:15px;font-weight:800}.aligned-cell__no.is-added{color:var(--added)}.aligned-cell__no.is-removed{color:var(--removed)}.aligned-cell__no.is-modified{color:var(--modified)}.aligned-cell__side{letter-spacing:.1em;font-size:11.5px;font-weight:800}.aligned-cell--left .aligned-cell__side{color:#2f6fed}.aligned-cell--right .aligned-cell__side{color:#0e9488}.aligned-cell__title .requirement-name{color:var(--ink);font-size:15.5px;font-weight:750;line-height:1.6}.aligned-cell__title .requirement-desc{color:var(--ink-3);margin-top:5px;font-size:13.5px;line-height:1.72}.aligned-cell__missing{color:var(--ink-3);font-size:12.5px;font-weight:500}.aligned-cell--empty{min-height:90px;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.aligned-empty{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;min-height:90px;box-shadow:none;color:var(--ink-3);background:#ffffff29;border:1px dashed #94a3b86b;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px 16px;display:flex;position:relative}.aligned-empty__badge{z-index:1;width:26px;height:26px;font-family:var(--mono);color:#64748b;background:#ffffffb8;border:1px solid #94a3b84d;border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid;position:relative;box-shadow:inset 0 1px #fff}.aligned-empty__copy{z-index:1;flex-direction:column;gap:2px;min-width:0;display:flex;position:relative}.aligned-empty__copy strong{color:var(--ink-3);font-size:12.5px;font-weight:700}.aligned-empty__copy span{color:var(--ink-3);opacity:.72;font-size:11.5px}.aligned-empty--compact{border-radius:11px;gap:8px;min-height:46px;padding:9px 11px}.aligned-empty--compact .aligned-empty__badge{border-radius:7px;width:22px;height:22px;font-size:10px}.aligned-empty--compact .aligned-empty__copy strong{font-size:11.5px}.aligned-empty--compact .aligned-empty__copy span{font-size:10.5px}.aligned-rail{justify-content:center;align-items:flex-start;padding-top:16px;display:flex}.aligned-rail__label{writing-mode:vertical-rl;letter-spacing:.18em;color:var(--ink-3);font-size:12px;font-weight:750}.aligned-rail__same{color:var(--ink-2);white-space:nowrap;background:#14213d0f;border-radius:999px;padding:4px 9px;font-size:13.5px;font-weight:750}.aligned-rail .status-badge{white-space:nowrap;font-size:13px}.aligned-points{flex-direction:column;gap:8px;margin-top:10px;padding-left:18px;display:flex}.aligned-point{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.aligned-point__cell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff94;border:1px solid #ffffffdb;border-radius:11px;min-width:0;padding:10px 12px;box-shadow:inset 0 1px #ffffffeb}.aligned-point__cell.is-added{background:linear-gradient(#16a34a12,#ffffff94);border-color:#16a34a38}.aligned-point__cell.is-removed{background:linear-gradient(#dc26260f,#ffffff94);border-color:#dc26262e}.aligned-point__cell.is-modified{background:linear-gradient(#7c3aed0d,#ffffff94);border-color:#7c3aed2e}.aligned-point__cell.is-empty{background:0 0;border:0;min-height:46px;padding:0;display:flex}.aligned-point__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.aligned-point__no{font-family:var(--mono);color:var(--ink-3);font-size:12.5px;font-weight:750}.aligned-point__no.is-added{color:var(--added)}.aligned-point__no.is-removed{color:var(--removed)}.aligned-point__no.is-modified{color:var(--modified)}.aligned-point__side{color:var(--ink-3);letter-spacing:.08em;font-size:10.5px;font-weight:800}.aligned-point__title{color:var(--ink-2);font-size:13.5px;font-weight:550;line-height:1.68}.aligned-point__rail{justify-content:center;align-items:flex-start;padding-top:10px;display:flex}.aligned-point__rail span{min-width:34px;height:24px;font-family:var(--mono);color:var(--ink-3);background:#14213d0f;border-radius:999px;place-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-grid}.aligned-point__rail.is-added span{background:var(--added-soft);color:var(--added)}.aligned-point__rail.is-removed span{background:var(--removed-soft);color:var(--removed)}.aligned-point__rail.is-modified span{color:#b45309;background:#b453091f}.aligned-point-list{flex-direction:column;gap:6px;margin-top:9px;display:flex}.aligned-point__side-col{flex-direction:column;gap:6px;min-width:0;display:flex}.aligned-point__group-label{letter-spacing:.04em;color:var(--ink-3);padding-left:2px;font-size:11.5px;font-weight:750}.aligned-point__rail.is-single span{font-family:var(--mono);font-size:12px;font-weight:800}.aligned-point__rail.is-single.is-a span{color:#2f6fed;background:#2f6fed1f}.aligned-point__rail.is-single.is-b span{color:#0e9488;background:#0e94881f}@media (max-width:900px){.aligned-compare__head{grid-template-columns:1fr;gap:4px}.aligned-compare__center{display:none}.aligned-compare{background:0 0}.aligned-compare:before,.aligned-compare:after{display:none}.aligned-row,.aligned-point{grid-template-columns:1fr}.aligned-rail,.aligned-point__rail{display:none}.aligned-cell--left{box-shadow:inset 3px 0 #2f6fed52}.aligned-cell--right{box-shadow:inset 3px 0 #0e948852}.aligned-points{padding-left:0}.aligned-point__side-col:empty,.aligned-point__side-col.is-empty-side{display:none}}.course-chip[data-status=same]{background:#f6f9fd;background:color-mix(in srgb, var(--cat-color) 10%, #fff);border-color:color-mix(in srgb, var(--cat-color) 20%, var(--line))}.course-chip[data-status=added]{background:#e6f9ec;border-color:#6ee7a0}.course-chip[data-status=removed]{background:#fdecec;border-color:#f7a7a7}.course-chip[data-status=removed] .course-chip__name{color:#7f1d1d;-webkit-text-decoration:line-through #dc262699;text-decoration:line-through #dc262699}.course-chip[data-status=modified]{background:#fff6da;border-color:#ca8a046b}.course-chip.is-located{box-shadow:inset 4px 0 0 var(--cat-color), 0 0 0 3px #2f6fed2e, 0 10px 24px #2f6fed33;border-color:#2f6fed;animation:1.4s 2 course-locate}@keyframes course-locate{0%,to{transform:none}50%{transform:translateY(-2px)}}.course-chip__exam{min-width:19px;height:18px;color:var(--ink-3);background:#f8fafc;border-color:#14213d1f;font-size:12px}.compare-legend--detailed{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;flex-direction:column;align-items:stretch;gap:9px;padding:16px 18px;display:flex}.compare-legend__group{flex-wrap:wrap;align-items:center;gap:7px 10px;display:flex}.compare-legend__title{min-width:62px;color:var(--ink-2);font-size:14px;font-weight:750}.legend-cat{color:var(--ink-2);align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.legend-cat i{border-radius:2px;flex:none;width:3px;height:14px}.module-highlights{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.intro-timeline,.degree-compare,.core-summary,.standards-compare,.curriculum-board{border:1px solid var(--line);background:#ffffffdb;border-radius:14px;margin-top:14px;padding:15px 16px}.intro-timeline__head,.degree-compare__head,.core-summary__head,.standards-compare__head,.curriculum-board__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 18px;margin-bottom:10px;display:flex}.intro-timeline__head h3,.degree-compare__head h3,.core-summary__head h3,.standards-compare__head h3,.curriculum-board__head h3{color:var(--ink);font-size:17px;font-weight:800}.intro-timeline__head p,.degree-compare__head p,.core-summary__head p,.standards-compare__head p,.curriculum-board__head p{color:var(--ink-3);margin-top:2px;font-size:13.5px;line-height:1.6}.intro-timeline__legend{flex-wrap:wrap;gap:6px;font-size:12.5px;font-weight:650;display:flex}.intro-timeline__legend span{border-radius:6px;padding:3px 7px}.intro-timeline__legend .is-same{background:var(--same-soft);color:var(--same)}.intro-timeline__legend .is-modified{background:var(--modified-soft);color:var(--modified)}.intro-timeline__legend .is-added{background:var(--added-soft);color:var(--added)}.intro-timeline__legend .is-removed{background:var(--removed-soft);color:var(--removed)}.intro-timeline__rows{flex-direction:column;gap:6px;max-height:420px;padding-right:4px;display:flex;overflow:auto}.intro-timeline__row{border:1px solid var(--line);background:#f8fafdb8;border-radius:9px;grid-template-columns:58px minmax(0,1fr) minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.intro-timeline__row.is-modified{background:#7c3aed0d;border-color:#7c3aed38}.intro-timeline__row.is-added{background:#16a34a0d;border-color:#16a34a38}.intro-timeline__row.is-removed{background:#dc26260b;border-color:#dc262633}.intro-timeline__year{color:#fff;height:28px;font-family:var(--mono);background:#17324d;border-radius:8px;align-self:start;place-items:center;font-size:13px;font-weight:750;display:inline-grid}.intro-timeline__cell{gap:7px;min-width:0;display:flex}.intro-timeline__side{background:var(--a-soft);width:18px;height:18px;color:var(--a);font-family:var(--mono);border-radius:5px;flex:none;place-items:center;margin-top:1px;font-size:11.5px;font-weight:750;display:inline-grid}.intro-timeline__row>.intro-timeline__cell:nth-child(3) .intro-timeline__side{background:var(--b-soft);color:var(--b)}.intro-timeline__cell p{color:var(--ink-2);font-size:13.5px;line-height:1.7}.degree-compare__table{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.degree-compare__row{border-bottom:1px solid var(--line);color:var(--ink-2);grid-template-columns:1.05fr 1fr 1fr .68fr;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:grid}.degree-compare__row:last-child{border-bottom:0}.degree-compare__row.is-head{color:var(--ink-3);background:#f1f5fb;font-size:13px;font-weight:700}.degree-compare__row.is-changed{background:#d977060b}.degree-compare__label{color:var(--ink);font-weight:700}.degree-compare__delta{font-family:var(--mono);color:var(--ink-3);font-size:13px;font-weight:700}.degree-compare__row.is-changed .degree-compare__delta{color:#b45309}.core-summary__stats{flex-wrap:wrap;gap:6px;font-size:12.5px;font-weight:700;display:flex}.core-summary__stats span{border-radius:7px;padding:4px 8px}.core-summary__stats .is-moved{color:#1d4ed8;background:#2563eb1a}.core-summary__stats .is-added{background:var(--added-soft);color:var(--added)}.core-summary__stats .is-removed{background:var(--removed-soft);color:var(--removed)}.core-summary__stats .is-same{background:var(--same-soft);color:var(--same)}.core-summary__body{flex-direction:column;gap:8px;display:flex}.core-summary__group{grid-template-columns:74px minmax(0,1fr);align-items:start;gap:10px;display:grid}.core-summary__label{color:var(--ink-3);padding-top:4px;font-size:13px;font-weight:700}.core-summary__tags{flex-wrap:wrap;gap:6px;display:flex}.core-move{color:#1d4ed8;background:#2563eb0f;border:1px solid #2563eb33;border-radius:8px;align-items:baseline;gap:6px;padding:5px 9px;font-size:13px;font-weight:600;display:inline-flex}.core-move b{font-family:var(--mono);font-size:12.5px;font-weight:750}.core-tag--removed{text-decoration:line-through;background:var(--removed-soft)!important;color:#991b1b!important;border-color:#dc26263d!important}.core-tag--added{background:var(--added-soft)!important;color:#166534!important;border-color:#16a34a3d!important}.core-tag--removed b,.core-tag--added b{font-family:var(--mono);font-size:12.5px}.core-tags .core-tag{align-items:baseline;gap:5px;display:inline-flex}.core-tag__no{font-family:var(--mono);color:var(--muted);font-size:11.5px}.core-tag__move{font-family:var(--mono);color:#1d4ed8;font-size:12px;font-weight:750}.core-tags .core-tag--same .core-tag__no{color:var(--muted)}.standards-compare__tags{flex-wrap:wrap;gap:7px;display:flex}.standards-aspect{border:1px solid var(--line);color:var(--ink-2);background:#f8fafddb;border-radius:8px;align-items:center;gap:7px;padding:6px 10px;font-size:14px;font-weight:700;display:inline-flex}.standards-aspect b{font-family:var(--mono);color:var(--same);font-size:12.5px}.standards-aspect.is-added{background:var(--added-soft);color:#166534;border-color:#16a34a3d}.standards-aspect.is-added b{color:var(--added)}.standards-aspect.is-removed{background:var(--removed-soft);color:#991b1b;border-color:#dc262638}.standards-aspect.is-removed b{color:var(--removed)}.standards-aspect.is-modified{background:var(--modified-soft);color:#5b21b6;border-color:#7c3aed38}.standards-aspect.is-modified b{color:var(--modified)}.curriculum-board__delta{font-family:var(--mono);color:var(--ink-2);background:#14213d0e;border-radius:8px;padding:5px 9px;font-size:13px;font-weight:700}.curriculum-board__rows{flex-direction:column;gap:7px;display:flex}.curriculum-board__row{border:1px solid var(--line);border-left:4px solid var(--tone,var(--line-strong));background:#f8fafda8;border-radius:10px;grid-template-columns:106px minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid}.curriculum-board__row.is-credit,.curriculum-board__row.is-semester,.curriculum-board__row.is-category,.curriculum-board__row.is-assessment,.curriculum-board__row.is-other{--tone:#d97706;background:#d977060b}.curriculum-board__row.is-same{--tone:#94a3b8;border-color:var(--line);background:#94a3b80f}.curriculum-board__row.is-credit .curriculum-board__label,.curriculum-board__row.is-semester .curriculum-board__label,.curriculum-board__row.is-category .curriculum-board__label,.curriculum-board__row.is-assessment .curriculum-board__label,.curriculum-board__row.is-other .curriculum-board__label{color:#b45309}.curriculum-board__label{color:var(--ink-2);padding-top:3px;font-size:13px;font-weight:750}.curriculum-board__items{flex-wrap:wrap;gap:6px;display:flex}.curriculum-board__item{color:var(--ink-2);background:#ffffffd1;border:1px solid #14213d14;border-radius:7px;align-items:baseline;gap:6px;padding:5px 8px;font-size:13px;display:inline-flex}.curriculum-board__item:hover{color:var(--a);border-color:#2f6fed4d}.curriculum-board__item b{font-weight:650}.curriculum-board__item span{color:var(--ink-3);font-size:13px}.curriculum-board__more{color:var(--ink-3);align-self:center;font-size:12.5px}.curriculum-board__foot{border-top:1px dashed var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;font-size:13px;display:flex}.stat-chip--order{color:#1d4ed8;background:#2563eb14;border-color:#2563eb33}.stat-chip--order b{color:#1d4ed8}.plan-panel .standard-table-card{box-shadow:none}.plan-panel .standard-table-head{padding:12px 12px 9px}.plan-panel .standard-table-head h3{font-size:16px}.plan-panel .standard-table-head p,.plan-panel .standard-table-count{font-size:12.5px}.plan-panel .standard-table{min-width:0;font-size:13px;line-height:1.65}.plan-panel .standard-col-aspect{width:46px}.plan-panel .standard-col-content{width:40%}.plan-panel .standard-table th{padding:8px 7px;font-size:12.5px;position:static}.plan-panel .standard-table td{padding:9px 8px}.plan-panel .standard-aspect span{border-radius:8px;width:28px;height:28px;font-size:15px}.plan-panel .standard-list{gap:3px}.plan-panel .standard-list li{grid-template-columns:16px minmax(0,1fr);gap:4px;font-size:12.5px;line-height:1.6}.plan-panel .standard-list__no{font-size:11px}.plan-panel .standard-text{font-size:12.5px;line-height:1.7}@media (max-width:1120px){.compare-layout{grid-template-columns:1fr}.compare-side{flex-wrap:wrap;align-items:center;gap:8px 12px;max-height:none;display:flex;position:static}.compare-side__head{border-bottom:0;padding-bottom:0}.compare-side__search{flex:1;min-width:180px;margin-top:0}.compare-side__nav{flex-flow:row;flex:100%;margin-top:0;padding-bottom:2px;overflow-x:auto}.compare-side__link{flex:none;grid-template-columns:auto auto;padding:6px 9px}.compare-side__meta{display:none}.compare-side__actions{border-top:0;margin-top:0;padding-top:0;display:flex}.compare-side__actions button:last-child{grid-column:auto}}@media (max-width:760px){.intro-timeline__rows{max-height:none}.intro-timeline__row{grid-template-columns:52px minmax(0,1fr)}.intro-timeline__row .intro-timeline__cell:nth-child(3){grid-column:2}.degree-compare__row{grid-template-columns:1fr 1fr;gap:3px 10px}.degree-compare__row.is-head span:nth-child(4){display:none}.degree-compare__row>span:nth-child(3):before{content:"B ";color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.degree-compare__row>span:nth-child(2):before{content:"A ";color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.core-summary__group,.curriculum-board__row{grid-template-columns:1fr;gap:5px}.sticky-mode{padding:6px 9px}.compare-legend__title{min-width:100%}}@media (max-width:900px){.compare-summary{background:#f8fafd;border-radius:14px}}.is-hoverable{cursor:help}.stat-chip.is-hoverable{transition:border-color .15s,background .15s,box-shadow .15s}.stat-chip.is-hoverable:hover{background:#fff;border-color:currentColor;box-shadow:0 5px 14px #14213d1f}.module-subtitle.is-hoverable{text-underline-offset:3px;-webkit-text-decoration:underline dotted #14213d52;text-decoration:underline dotted #14213d52;transition:color .15s}.module-subtitle.is-hoverable:hover{color:var(--ink-2)}.module-status-hover{cursor:help;align-items:center;display:inline-flex}.diff-rail.is-hoverable{transition:background .15s}.diff-rail.is-hoverable:hover{background:#2f6fed0f}.diff-hover--focus{width:396px;padding:15px 16px 13px}.diff-hover__meta{color:var(--ink-3)}.diff-hover__focus-head{background:var(--modified-soft);color:var(--modified);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 9px;padding:7px 10px;font-size:13px;font-weight:750;display:flex}.diff-hover__focus-head span{font-family:var(--mono);text-align:right;opacity:.8;font-size:12.5px;font-weight:600;line-height:1.4}.diff-hover__focus-head.is-added{background:var(--added-soft);color:var(--added)}.diff-hover__focus-head.is-removed{background:var(--removed-soft);color:var(--removed)}.diff-hover__focus-head.is-credit{color:#b45309;background:#d977061a}.diff-hover__focus-head.is-course{color:#b45309;background:#d977061f}.diff-hover__focus-head.is-core{color:#1d4ed8;background:#2563eb1a}.diff-hover__focus-head.is-table{color:#0f766e;background:#0d94881a}.diff-hover__list--focus{max-height:306px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 20px),#0000);mask-image:linear-gradient(#000 calc(100% - 20px),#0000)}.diff-hover__item-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.diff-hover__item-copy b{color:var(--ink);font-size:13px;font-weight:750;line-height:1.5}.diff-hover__item-copy span{color:var(--ink-2);white-space:pre-line;font-size:12.5px;line-height:1.55}.category-compare{border:1px solid var(--line);background:#ffffffdb;border-radius:14px;padding:15px 16px}.category-compare__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 18px;margin-bottom:10px;display:flex}.category-compare__head h3{color:var(--ink);font-size:17px;font-weight:800}.category-compare__head p{color:var(--ink-3);margin-top:2px;font-size:13.5px;line-height:1.6}.category-compare__stats{flex-wrap:wrap;gap:6px;font-size:12.5px;font-weight:700;display:flex}.category-compare__stats span{border-radius:7px;padding:4px 8px}.category-compare__stats .is-name{color:#1d4ed8;background:#2563eb1a}.category-compare__stats .is-credit{color:#b45309;background:#d977061a}.category-compare__stats .is-added{background:var(--added-soft);color:var(--added)}.category-compare__stats .is-removed{background:var(--removed-soft);color:var(--removed)}.category-compare__scroll{scrollbar-width:thin;padding-bottom:2px;overflow-x:auto}.category-compare__inner{min-width:680px}.category-compare__table{flex-direction:column;gap:5px;display:flex}.category-compare__row{border:1px solid var(--line);background:#f8fafda8;border-radius:9px;grid-template-columns:minmax(0,1.15fr) 54px minmax(0,1.15fr) 54px minmax(92px,.9fr);align-items:stretch;gap:10px;padding:9px 11px;font-size:13px;display:grid}.category-compare__sides{grid-template-columns:minmax(0,1.15fr) 54px minmax(0,1.15fr) 54px minmax(92px,.9fr);gap:10px;margin-bottom:10px;display:grid}.category-name{overflow-wrap:anywhere;align-items:center;min-width:0;line-height:1.5;display:flex}.category-credit{align-self:center}.category-tags{flex-wrap:wrap;align-content:center;align-items:center;gap:4px;min-width:0;display:flex}.category-compare__sides span{color:var(--ink-2);border-radius:9px;align-items:center;gap:8px;padding:8px 11px;font-size:13.5px;font-weight:700;display:flex}.category-compare__sides .is-a{background:#2f6fed12;grid-column:1/3}.category-compare__sides .is-b{background:#0e948814;grid-column:3/5}.category-compare__sides b{color:#fff;border-radius:7px;place-items:center;width:23px;height:23px;font-size:12px;display:inline-grid}.category-compare__sides .is-a b{background:#2f6fed}.category-compare__sides .is-b b{background:#0e9488}.category-compare__row .is-divider{border-left:1px solid var(--line);padding-left:10px}.category-compare__row.is-head .is-a{color:#1d4ed8}.category-compare__row.is-head .is-b{color:#0f766e}.category-credit.is-a{color:#1d4ed8}.category-credit.is-b{color:#0f766e}.category-compare__row.is-head{letter-spacing:.04em;color:var(--ink-3);background:0 0;border:0;padding:0 10px 2px;font-size:12px;font-weight:750}.category-compare__row.is-added{background:#16a34a0d;border-color:#16a34a33}.category-compare__row.is-removed{background:#dc26260b;border-color:#dc26262e}.category-compare__row.is-modified{background:#7c3aed0a;border-color:#7c3aed2e}.category-compare__row.is-same{opacity:.72}.category-name{min-width:0;color:var(--ink);font-weight:650;line-height:1.45}.category-compare__row>.category-name,.category-compare__row>.category-credit{border-radius:6px;padding:3px 7px}.category-compare__row>.category-name.is-a,.category-compare__row>.category-credit.is-a{background:#2f6fed0d}.category-compare__row>.category-name.is-b,.category-compare__row>.category-credit.is-b{background:#0e94880e}.category-credit{font-family:var(--mono);color:var(--ink);font-size:13px;font-weight:700}.category-credit.is-none{color:var(--ink-3);font-weight:500}.category-tags{flex-wrap:wrap;gap:4px;display:flex}.category-tag{white-space:nowrap;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:700}.category-tag.is-name{color:#1d4ed8;background:#2563eb1a}.category-tag.is-credit{color:#b45309;background:#d977061f}.category-tag.is-level{color:#0f766e;background:#0d94881f}.category-tag.is-added{background:var(--added-soft);color:var(--added)}.category-tag.is-removed{background:var(--removed-soft);color:var(--removed)}.category-tag.is-same{color:var(--ink-3);background:#94a3b824}@media (max-width:900px){.category-compare__table{overflow-x:auto}.category-compare__row{min-width:620px}}.legend-dock{z-index:140;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:132px;right:22px}.legend-dock__toggle{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111c2deb;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:650;transition:background .16s,transform .16s;display:inline-flex;box-shadow:0 10px 24px #111c2d3d}.legend-dock__toggle:hover{background:#111c2d;transform:translateY(-1px)}@media (max-width:760px){.legend-dock{display:none}}.legend-dock__panel{border:1px solid var(--line);background:#fffffff7;border-radius:14px;width:272px;max-width:calc(100vw - 44px);padding:14px 15px 13px;animation:.16s both hover-in;box-shadow:0 20px 50px #14213d2e}.legend-dock__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.legend-dock__head strong{color:var(--ink);font-size:13.5px}.legend-dock__head button{color:var(--ink-3);font-size:12px}.legend-dock__head button:hover{color:var(--a)}.legend-dock__section+.legend-dock__section{border-top:1px dashed var(--line);margin-top:10px;padding-top:9px}.legend-dock__title{letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.legend-dock__grid{color:var(--ink-2);grid-template-columns:1fr 1fr;gap:5px 8px;font-size:12px;display:grid}.legend-dock__grid span{align-items:center;gap:6px;min-width:0;display:inline-flex}.legend-dock__grid i{border-radius:3px;flex:none;width:9px;height:9px}.legend-dock__grid i.is-added{background:#6ee7a0}.legend-dock__grid i.is-removed{background:#f7a7a7}.legend-dock__grid i.is-course{background:#d97706}.legend-dock__grid i.is-text{background:var(--modified)}@media (max-width:700px){.legend-dock{bottom:96px;right:12px}}.curriculum-section-title{align-items:flex-start;gap:10px;min-width:0;display:flex}.curriculum-section-title__no{min-width:42px;height:24px;font-family:var(--mono);color:#2456c4;background:linear-gradient(145deg,#fffffff2,#ffffff7a);border:1px solid #ffffffe6;border-radius:7px;flex:none;place-items:center;margin-top:2px;padding:0 7px;font-size:10.5px;font-weight:800;display:inline-grid;box-shadow:inset 0 1px #fff,0 4px 10px #2f6fed14}.curriculum-semester-compare{box-shadow:var(--shadow-sm);background:#fff9;border:1px solid #ffffffeb;border-radius:18px;margin-top:14px;padding:14px}.curriculum-semester-compare__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 18px;display:flex}.curriculum-semester-compare__head h3{letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:800}.curriculum-semester-compare__head p{max-width:720px;color:var(--ink-3);margin-top:2px;font-size:12.5px;line-height:1.6}.semester-compare-legend{color:var(--ink-3);background:#f8fafddb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.semester-compare-legend span{align-items:center;gap:5px;display:inline-flex}.semester-compare-legend i{border-radius:2px;width:8px;height:8px}.semester-compare-legend .course-more{margin-left:auto}.semester-compare-rows{flex-direction:column;gap:10px;margin-top:12px;display:flex}.semester-compare-row{background:#ffffff85;border:1px solid #14213d12;border-radius:14px;overflow:hidden}.semester-compare-row__head{background:linear-gradient(90deg,#2f6fed0f,#fff0 46%,#0e94880f);border-bottom:1px solid #14213d0f;align-items:center;gap:9px;padding:8px 12px;display:flex}.semester-compare-row__no{font-family:var(--mono);color:#2f6fed;background:#2f6fed14;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:800}.semester-compare-row__head strong{color:var(--ink);font-size:14px;font-weight:750}.semester-compare-row__meta{font-family:var(--mono);color:var(--ink-3);margin-left:auto;font-size:11px}.semester-compare-row__body{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch;gap:0;padding:10px;display:grid}.semester-compare-side{background:#ffffffb8;border:1px solid #ffffffe6;border-radius:12px;min-width:0;padding:10px 12px;box-shadow:inset 0 1px #fff}.semester-compare-side.is-a{border-top:2px solid #2f6fed6b}.semester-compare-side.is-b{border-top:2px solid #0e94886b}.semester-compare-side__head{color:var(--ink-3);border-bottom:1px dashed #14213d17;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:7px;font-size:11.5px;display:flex}.semester-compare-side__tag{font-family:var(--mono);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:800}.semester-compare-side.is-a .semester-compare-side__tag{color:#2f6fed;background:#2f6fed1a}.semester-compare-side.is-b .semester-compare-side__tag{color:#0e9488;background:#0e94881a}.semester-compare-side__stat{min-width:0}.semester-compare-side__head button{border:1px solid var(--line);color:var(--ink-3);background:#f8fafdeb;border-radius:6px;flex:none;margin-left:auto;padding:3px 7px;font-size:10.5px;font-weight:650}.semester-compare-chips{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:stretch;gap:6px;display:grid}.semester-compare-chips .course-chip{width:auto;min-width:0}.semester-compare-divider{justify-content:center;align-items:center;display:flex;position:relative}.semester-compare-divider:before{content:"";background:linear-gradient(#0000,#14213d29,#0000);width:1px;position:absolute;top:8px;bottom:8px}.semester-compare-divider span{width:22px;height:22px;color:var(--ink-3);background:#fffffff0;border:1px solid #14213d14;border-radius:50%;place-items:center;font-size:10px;display:inline-grid;position:relative}.curriculum-semester-compare[data-course-focus=added] .course-chip:not([data-status=added]),.curriculum-semester-compare[data-course-focus=removed] .course-chip:not([data-status=removed]),.curriculum-semester-compare[data-course-focus=changed] .course-chip:not([data-status=modified]),.curriculum-semester-compare[data-course-focus=same] .course-chip:not([data-status=same]){opacity:.22;filter:saturate(.35);box-shadow:none}.curriculum-semester-compare[data-course-focus=added] .course-chip[data-status=added],.curriculum-semester-compare[data-course-focus=removed] .course-chip[data-status=removed],.curriculum-semester-compare[data-course-focus=changed] .course-chip[data-status=modified],.curriculum-semester-compare[data-course-focus=same] .course-chip[data-status=same]{transform:translateY(-1px);box-shadow:0 0 0 2px #14213d1a}@media (max-width:900px){.semester-compare-row__body{grid-template-columns:1fr;gap:8px}.semester-compare-divider{display:none}.semester-compare-chips{grid-template-columns:1fr}.semester-compare-legend .course-more{margin-left:0}}.plan-page{padding-bottom:80px}.plan-hero{color:#fff;background:linear-gradient(135deg,#0d1b2f 0%,#16324f 58%,#123b50 100%);border-radius:26px;margin-top:22px;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f213738,inset 0 1px #ffffff24}.plan-hero__grid{pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:54px 54px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 65% 35%,#000,#0000 76%);mask-image:radial-gradient(circle at 65% 35%,#000,#0000 76%)}.plan-hero:before{content:"";filter:blur(22px);pointer-events:none;background:radial-gradient(circle,#14b8a647,#0000 68%);border-radius:50%;width:380px;height:380px;animation:20s ease-in-out infinite alternate hero-aurora-b;position:absolute;bottom:-220px;left:-160px}.plan-hero:after{content:"";filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#2f6fed66,#0000 68%);border-radius:50%;width:460px;height:460px;animation:18s ease-in-out infinite alternate hero-aurora-a;position:absolute;top:-220px;right:-140px}.plan-hero__content{z-index:1;padding:clamp(28px,4vw,48px);position:relative}.plan-hero__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.plan-hero .eyebrow{color:#fff9}.plan-hero__main{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:clamp(22px,4vw,56px);margin-top:22px;display:grid}.plan-hero__year{font-family:var(--mono);letter-spacing:-.07em;background:linear-gradient(#fffffffa,#c4dcff94);-webkit-text-fill-color:transparent;filter:drop-shadow(0 10px 26px #0000002e);background-size:100% 200%;-webkit-background-clip:text;background-clip:text;font-size:clamp(76px,10vw,150px);font-weight:750;line-height:.9;animation:18s ease-in-out infinite hero-text-shimmer}.plan-hero__title-wrap h1{letter-spacing:-.02em;background:linear-gradient(100deg,#fff 10%,#d6e8ff 60%,#a7f3e8 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;text-wrap:balance;-webkit-background-clip:text;background-clip:text;max-width:900px;font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.3;animation:15s ease-in-out infinite hero-text-shimmer}.plan-hero__title-wrap p{color:#ffffff9e;margin-top:10px;font-size:15px}.plan-hero__actions{flex-wrap:wrap;align-items:center;gap:9px 14px;margin-top:18px;display:flex}.plan-hero__actions .btn{color:#fff;box-shadow:none;background:#ffffff1a;border-color:#fff3}.plan-hero__actions .btn:hover{background:#ffffff2e}.plan-hero__actions .btn--primary{color:#14213d;background:#fff;border-color:#fff}.plan-hero__stats{border-top:1px solid #ffffff24;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px;padding-top:20px;display:grid}.plan-hero__stats>div{border-right:1px solid #ffffff1f;padding-right:14px}.plan-hero__stats>div:last-child{border-right:0}.plan-hero__stats span{color:#ffffff8c;font-size:14px;display:block}.plan-hero__stats strong{color:#fff;margin-top:4px;font-size:20px;font-weight:700;display:block}.plan-layout{grid-template-columns:232px minmax(0,1fr);gap:clamp(24px,3.6vw,48px);margin-top:30px;display:grid}.plan-side{top:calc(var(--topbar) + 22px);max-height:calc(100vh - var(--topbar) - 48px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #ffffffe6;border-radius:18px;align-self:start;padding:18px 18px 16px;position:sticky;overflow:auto}.plan-side__title{border-bottom:1px solid var(--line);color:var(--ink-3);padding-bottom:10px;font-size:14px;font-weight:700}.plan-side__nav{flex-direction:column;margin-top:6px;display:flex}.plan-side__item{border-radius:9px}.plan-side__row{align-items:flex-start;gap:1px;display:flex}.plan-side__row .plan-side__link{flex:1;min-width:0}.plan-side__expand{width:22px;height:31px;color:var(--muted);border-radius:6px;flex:none;place-items:center;margin-top:2px;transition:background .16s,color .16s;display:grid}.plan-side__expand svg{transition:transform .18s}.plan-side__expand:hover{color:var(--ink-2);background:#2f6fed14}.plan-side__expand.is-open svg{transform:rotate(90deg)}.plan-side__sub{border-left:1px solid var(--line);flex-direction:column;gap:1px;margin:1px 0 5px 16px;padding-left:10px;display:flex}.plan-side__sub button{text-align:left;min-width:0;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:5px 7px;font-size:12.5px;line-height:1.45;transition:background .16s,color .16s;overflow:hidden}.plan-side__sub button:hover{color:var(--ink);background:#2f6fed12}#plan-credits-structure,#plan-standards-table,#plan-degree-info,#plan-core-tags,#plan-curriculum-mindmap,#plan-curriculum-rules,#plan-curriculum-category,#plan-curriculum-semester,[id^=plan-group-]{scroll-margin-top:calc(var(--topbar) + 18px)}.plan-side__link{text-align:left;color:var(--ink-3);border-radius:9px;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:8px;padding:8px 6px;font-size:14px;line-height:1.5;transition:background .18s,color .18s;display:grid}.plan-side__link:hover{color:var(--ink);background:#2f6fed0f}.plan-side__link.is-active{color:var(--a);background:#2f6fed17;font-weight:650}.plan-side__no{width:26px;height:24px;font-family:var(--mono);color:var(--muted);background:#ffffff9e;border:1px solid #ffffffe6;border-radius:7px;place-items:center;font-size:11.5px;font-weight:700;display:inline-grid;box-shadow:inset 0 1px #fff}.plan-side__link.is-active .plan-side__no{color:#1d4ed8;border-color:#ffffffeb}.plan-side__foot{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.plan-content{min-width:0}.plan-section{scroll-margin-top:calc(var(--topbar) + 24px);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #ffffffeb;border-radius:20px;margin-bottom:22px;padding:clamp(20px,2.6vw,30px)}.plan-section__head{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:16px;display:flex}.plan-section__number{color:#2456c4;width:46px;height:46px;font-family:var(--mono);isolation:isolate;background:linear-gradient(145deg,#fffffff0,#ffffff6b);border:1px solid #ffffffe6;border-radius:14px;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #2f6fed1f,inset 0 1px #fff,inset 0 -8px 18px #2f6fed0f}.plan-section__number:before{content:"";z-index:-1;background:radial-gradient(circle at 22% 18%,#fffffff2,#0000 52%),linear-gradient(135deg,#2f6fed24,#14b8a60f);position:absolute;top:0;bottom:0;left:0;right:0}.plan-section__number:after{content:"";z-index:-1;background:linear-gradient(115deg,#0000 34%,#ffffffb8 49%,#0000 64%);animation:8s ease-in-out infinite plan-number-sheen;position:absolute;top:-50%;bottom:-50%;left:-50%;right:-50%;transform:translate(-120%)rotate(8deg)}.plan-section__number>span{z-index:1;position:relative}@keyframes plan-number-sheen{0%,68%{transform:translate(-120%)rotate(8deg)}to{transform:translate(120%)rotate(8deg)}}.plan-section__title{letter-spacing:-.02em;color:var(--ink);font-size:clamp(22px,2.2vw,30px);font-weight:800;line-height:1.35}.plan-section__desc{color:var(--ink-3);margin-top:3px;font-size:14px;line-height:1.6}.plan-module-body{flex-direction:column;gap:16px;display:flex}.plan-cta{color:#fff;background:linear-gradient(120deg,#16324f,#2f6fed);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:28px 30px;display:flex;box-shadow:0 18px 40px #2f6fed33}.plan-cta h3{font-size:24px;font-weight:800}.plan-cta p{color:#ffffffad;margin-top:4px;font-size:15px}.plan-cta__actions{flex-wrap:wrap;gap:10px;display:flex}.plan-cta .btn{color:#fff;background:#ffffff1f;border-color:#fff3}.plan-cta .btn--primary{color:#14213d;background:#fff;border-color:#fff}.plan-group-stack{flex-direction:column;gap:12px;display:flex}.plan-group{border:1px solid var(--line);background:linear-gradient(#fffffff5,#f8fafddb);border-radius:16px;padding:18px 20px}.plan-group--outcome{border-left:4px solid var(--a)}.plan-group--goal{border-left:4px solid var(--b)}.plan-group--note{border-left:4px solid #e58b2a}.plan-group--section{border-left:4px solid #94a3b8}.plan-group__head{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.plan-group__number{color:#fff;min-width:42px;height:32px;font-family:var(--mono);background:#17324d;border-radius:9px;flex:none;place-items:center;padding:0 8px;font-size:12px;font-weight:750;display:inline-grid}.plan-group--goal .plan-group__number{background:var(--b)}.plan-group--note .plan-group__number{background:#e58b2a}.plan-group__title{color:var(--ink);font-size:17px;font-weight:750;line-height:1.7}.plan-sub-list{border-top:1px dashed var(--line);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.plan-sub-item{background:#f8fafdd1;border:1px solid #14213d0f;border-radius:12px;padding:12px 14px}.plan-sub-item__head{align-items:flex-start;gap:10px;margin-bottom:5px;display:flex}.plan-sub-item__head span{font-family:var(--mono);color:var(--a);flex:none;padding-top:2px;font-size:12px}.plan-sub-item__head strong{color:var(--ink-2);font-size:15.5px;font-weight:650;line-height:1.7}.plan-sub-list--nested{margin-top:8px;padding-top:8px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.info-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.info-cell{border:1px solid var(--line);background:#f8fafdd1;border-radius:13px;padding:14px 16px}.info-cell span{color:var(--ink-3);font-size:14px;display:block}.info-cell strong{color:var(--ink);margin-top:4px;font-size:18px;font-weight:750;display:block}.core-tags{flex-wrap:wrap;gap:8px;display:flex}.core-tag{background:var(--a-soft);color:#1d4ed8;border:1px solid #2f6fed2e;border-radius:10px;padding:7px 12px;font-size:14px;font-weight:600;transition:all .2s}.core-tag:hover{background:#2f6fed24;transform:translateY(-1px)}.revision-callout,.discipline-callout{background:linear-gradient(125deg,#e58b2a17,#ffffffe6);border:1px solid #e58b2a33;border-radius:15px;padding:18px 20px 18px 56px;position:relative}.discipline-callout{background:linear-gradient(125deg,#0ea5a414,#ffffffe6);border-color:#0ea5a433}.revision-callout__label{color:#fff;writing-mode:vertical-rl;letter-spacing:.12em;background:#e58b2a;border-radius:7px;padding:3px 8px;font-size:13.5px;font-weight:700;position:absolute;top:20px;left:18px}.credit-structure{grid-template-columns:320px minmax(0,1fr);align-items:center;gap:30px;display:grid}.credit-structure__copy h3{color:var(--ink);font-size:20px;font-weight:800}.credit-structure__copy p{color:var(--ink-3);margin-top:6px;font-size:15px;line-height:1.8}.credit-donut-wrap{flex-direction:column;align-items:center;gap:14px;display:flex}.credit-donut{width:260px;height:260px;position:relative}.credit-donut svg{width:100%;height:100%}.credit-donut__segment{transition:stroke-dasharray .8s cubic-bezier(.22,1,.36,1)}.credit-donut__center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.credit-donut__center strong{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);font-size:34px;font-weight:750}.credit-donut__center span{color:var(--ink-3);font-size:14px}.credit-donut__legend{grid-template-columns:1fr 1fr;gap:6px 18px;width:100%;display:grid}.credit-donut__item{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex}.credit-donut__item i{border-radius:3px;flex:none;width:10px;height:10px}.credit-donut__item b{font-family:var(--mono);color:var(--ink);margin-left:auto;font-size:14px}.standard-table-card{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;overflow:hidden}.standard-table-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 20px;padding:16px 18px 13px;display:flex}.standard-table-head h3{color:var(--ink);font-size:19px;font-weight:800}.standard-table-head p{color:var(--ink-3);margin-top:3px;font-size:14px}.standard-table-count{background:var(--a-soft);color:var(--a);font-family:var(--mono);border-radius:8px;flex:none;padding:5px 10px;font-size:13px;font-weight:700}.standard-table-scroll{overflow-x:auto}.standard-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:860px;font-size:15px;line-height:1.75}.standard-col-aspect{width:84px}.standard-col-content{width:300px}.standard-table th{top:var(--topbar);z-index:2;border-bottom:1px solid var(--line-strong);border-right:1px solid var(--line);text-align:left;color:var(--ink-2);white-space:nowrap;background:#f1f5fb;padding:11px 14px;font-size:14px;font-weight:750;position:sticky}.standard-table th:last-child{border-right:0}.standard-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;color:var(--ink-2);overflow-wrap:anywhere;white-space:normal;padding:14px 16px}.standard-table td:last-child{border-right:0}.standard-table tr:last-child td{border-bottom:0}.standard-table tr:hover td{background:#2f6fed06}.standard-aspect{text-align:center;vertical-align:middle!important}.standard-aspect span{color:#fff;width:38px;height:38px;font-family:var(--font);background:linear-gradient(135deg,#17324d,#2f6fed);border-radius:11px;place-items:center;font-size:19px;font-weight:700;display:inline-grid}.standard-content,.standard-target{color:var(--ink-2)}.standard-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.standard-list li{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:7px;font-size:14.5px;line-height:1.7;display:grid}.standard-list__no{font-family:var(--mono);color:var(--muted);text-align:right;padding-top:2px;font-size:12.5px;font-weight:700}.standard-text{font-size:14.5px;line-height:1.8}.standard-text+.standard-text{margin-top:6px}.table-card{border:1px solid var(--line);background:#f8fafddb;border-radius:14px;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;display:flex}.table-card__icon{color:#fff;background:linear-gradient(135deg,#17324d,#2f6fed);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:grid}.table-card__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.table-card__copy strong{color:var(--ink);font-size:16px;font-weight:700}.table-card__copy span{color:var(--ink-3);font-size:14px}.table-card .btn{flex:none;margin-left:auto}.table-modal{z-index:1200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a182a8c;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.table-modal__panel{background:#fff;border-radius:20px;flex-direction:column;width:min(1400px,96vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 30px 80px #0a182a59}.table-modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.table-modal__head strong{font-size:18px;font-weight:750;display:block}.table-modal__head span{color:var(--ink-3);margin-top:2px;font-size:14px;display:block}.table-modal__scroll{padding:18px 22px 22px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6}.data-table th{z-index:1;border-bottom:1px solid var(--line-strong);text-align:left;color:var(--ink-2);white-space:nowrap;background:#f1f5fb;padding:10px 12px;font-size:13px;font-weight:700;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top;white-space:pre-line;border-right:1px solid #14213d0d;padding:9px 12px}.data-table tr:hover td{background:#2f6fed09}.curriculum-section{flex-direction:column;gap:22px;display:flex}.curriculum-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.curriculum-heading h3{color:var(--ink);font-size:22px;font-weight:800}.curriculum-heading p{color:var(--ink-3);margin-top:3px;font-size:14px}.selection-rules{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffd1;border-radius:16px;padding:16px}.selection-rules__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 18px;margin-bottom:10px;display:flex}.selection-rules__head h3{color:var(--ink);font-size:20px;font-weight:800}.selection-rules__head p{color:var(--ink-3);margin-top:3px;font-size:13.5px;line-height:1.65}.selection-rules__head>span{font-family:var(--mono);color:var(--ink-3);font-size:12.5px}.selection-rules__list{flex-direction:column;gap:6px;display:flex}.selection-rule{border:1px solid var(--line);background:#f8fafdb3;border-radius:10px}.selection-rule__head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:9px 11px;display:flex}.selection-rule__badge{white-space:nowrap;color:#1d4ed8;background:#2563eb1a;border-radius:5px;flex:none;padding:2px 7px;font-size:11px;font-weight:800}.selection-rule__badge.is-choose_one_group,.selection-rule__badge.is-choose_n_courses{color:#0f766e;background:#0d94881a}.selection-rule__badge.is-elective_min_credits,.selection-rule__badge.is-text_requirement{color:#b45309;background:#d977061f}.selection-rule__main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.selection-rule__main strong{color:var(--ink);font-size:13.5px;font-weight:700}.selection-rule__main small{color:var(--ink-3);font-size:12px}.selection-rule__flag{color:#b45309;background:#fef3c7;border-radius:4px;flex:none;padding:1px 6px;font-size:10.5px;font-weight:750}.selection-rule__chevron{width:18px;font-family:var(--mono);text-align:center;color:var(--ink-3);flex:none;font-size:15px;font-weight:700}.selection-rule__body{padding:0 11px 10px}.selection-rule__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.selection-rule__group{border:1px solid var(--line);background:#ffffffc7;border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:3px 8px;padding:6px 8px;font-size:12px;line-height:1.5;display:flex}.selection-rule__group b{color:var(--ink);font-weight:750}.selection-rule__group span{min-width:0;color:var(--ink-3);flex:1}.selection-rule__group em{font-style:normal;font-family:var(--mono);color:var(--ink-3);font-size:11px}.selection-rule__note{color:#92400e;background:#fef3c773;border-left:2px solid #ca8a0480;border-radius:7px;margin-top:6px;padding:6px 8px;font-size:12px;line-height:1.55}.selection-rule__note p+p{margin-top:3px}.selection-rules__foot{border-top:1px dashed var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;font-size:12px;display:flex}.selection-rules__foot a{color:var(--a);font-weight:700}@media (max-width:900px){.selection-rule__groups{grid-template-columns:1fr}}.course-type-board{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffd1;border-radius:16px;padding:16px}.course-type-board__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 18px;margin-bottom:12px;display:flex}.course-type-board__head h3{color:var(--ink);font-size:20px;font-weight:800}.course-type-board__head p{color:var(--ink-3);margin-top:3px;font-size:13.5px;line-height:1.65}.course-type-board__count{font-family:var(--mono);color:var(--ink-3);font-size:12.5px;font-weight:650}.course-type-board__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-type-board__changes{color:#b45309;cursor:pointer;background:#d9770614;border:1px solid #d977063d;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.course-type-board__changes small{font-family:var(--mono);color:#92400e;opacity:.8;font-size:10.5px;font-weight:650}.course-type-board__changes:hover{background:#d9770624;border-color:#d977066b}.course-type-board__toggle{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:700}.course-type-board__toggle:hover{color:var(--a);border-color:#2f6fed59}.course-type-board__grid{flex-wrap:wrap;gap:9px;display:flex}.course-type-card{border:1px solid color-mix(in srgb, var(--tone) 22%, var(--line));border-top:3px solid var(--tone);background:color-mix(in srgb, var(--tone) 4%, #fff);border-radius:12px;flex:210px;min-width:0;overflow:hidden}.course-type-card.is-open{background:color-mix(in srgb, var(--tone) 7%, #fff)}.course-type-card__head{align-items:flex-start;gap:0;width:100%;display:flex}.course-type-card__trigger{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:11px 12px;display:flex}.course-type-card__rule--head{flex:none;margin:11px 10px 0 0}.course-type-card__no{background:var(--tone);width:23px;height:23px;font-family:var(--mono);color:#fff;border-radius:7px;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.course-type-card__main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.course-type-card__name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:750;line-height:1.4;overflow:hidden}.course-type-card__meta{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.course-type-card__aix{color:#fff;background:#111827;border-radius:5px;flex:none;padding:1px 6px;font-size:10px;font-weight:800}.course-type-card__chevron{width:18px;font-family:var(--mono);text-align:center;color:var(--tone);flex:none;font-size:15px;font-weight:700}.course-type-card__chips{scrollbar-width:thin;flex-direction:column;gap:5px;max-height:300px;padding:0 11px 11px;display:flex;overflow:auto}.course-type-card__body{scrollbar-width:thin;max-height:380px;padding:0 11px 11px;overflow:auto}.course-type-card__body .course-type-card__chips{max-height:none;padding:0;overflow:visible}.course-type-card__directions{flex-direction:column;gap:12px;display:flex}.course-type-card__direction header{color:var(--ink-2);border-bottom:1px dashed #14213d1a;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;padding-bottom:4px;font-size:12px;font-weight:750;display:flex}.course-type-card__direction header small{font-family:var(--mono);color:var(--ink-3);font-size:10.5px;font-weight:650}@media (max-width:1300px){.course-type-card{flex-basis:calc(50% - 5px)}}@media (max-width:760px){.course-type-card__trigger{align-items:flex-start}.course-type-card__name{white-space:normal;text-overflow:clip;overflow:visible}.course-type-card__meta{white-space:normal}}@media (max-width:700px){.course-type-card{flex-basis:100%}}.semester-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.semester-column{border:1px solid var(--line);background:linear-gradient(#fffffff0,#f7faffd1);border-radius:13px;min-width:0;padding:11px}.semester-column__head{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:7px;display:flex}.semester-column__head strong{color:var(--ink);font-size:14px;font-weight:750}.semester-column__head span{color:var(--ink-3);font-size:12px}.course-chip--compact{padding:5px 8px 5px 10px;font-size:12.5px}.course-chip--compact .course-chip__credit,.course-chip--compact .course-chip__meta{font-size:12px}.mindmap-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.mindmap-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.mindmap-title{color:var(--ink);font-size:19px;font-weight:800}.mindmap-sub{color:var(--ink-3);margin-top:3px;font-size:14px}.mindmap-actions{flex-wrap:wrap;gap:8px;display:flex}.mindmap-chart-wrap{min-height:720px;position:relative}.mindmap-chart{width:100%;height:720px}.mindmap-rule{color:var(--ink-2);background:#0ea5e90f;border:1px solid #0ea5e92e;border-radius:9px;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 20px;padding:9px 12px;font-size:14px;display:flex}.mindmap-rule b{color:#0369a1;font-weight:750}.mindmap-rules{background:#2f6fed0d;border:1px solid #2f6fed29;border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 20px 8px;padding:9px 12px;display:flex}.mindmap-rules__title{letter-spacing:.06em;color:#1d4ed8;margin-right:2px;font-size:12px;font-weight:800}.mindmap-rules__chip{color:var(--ink-2);background:#fff;border:1px solid #2f6fed2e;border-radius:6px;padding:2px 8px;font-size:12.5px}.mindmap-rule-cards{background:radial-gradient(circle at 4% 0,#2f6fed0f,#0000 44%),#f8fafdd1;border:1px solid #2f6fed24;border-radius:11px;margin:0 18px 10px;padding:10px 12px 11px}.mindmap-rule-cards__head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px;display:flex}.mindmap-rule-cards__head b{letter-spacing:.04em;color:#1d4ed8;font-size:12px;font-weight:800}.mindmap-rule-cards__head span{color:var(--ink-3);font-size:10.5px}.mindmap-rule-cards__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.mindmap-rule-card{background:#ffffffd6;border:1px solid #14213d14;border-radius:9px;min-width:0;padding:9px 11px;box-shadow:inset 0 1px #fff}.mindmap-rule-card header{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.mindmap-rule-card header b{color:var(--ink);font-size:12px;font-weight:800}.mindmap-rule-card header span{color:#2f6fed;font-size:11.5px;font-weight:700}.mindmap-rule-card p{color:var(--ink-3);margin-top:3px;font-size:10.5px;line-height:1.5}.mindmap-rule-card small{color:var(--ink-3);opacity:.8;margin-top:3px;font-size:10px;line-height:1.5;display:block}.mindmap-hint{color:var(--ink-3);padding:8px 20px 14px;font-size:13px}.mindmap-card.is-fullscreen{z-index:1200;border-radius:18px;position:fixed;top:18px;bottom:18px;left:18px;right:18px;box-shadow:0 30px 80px #0a182a59}.mindmap-card.is-fullscreen .mindmap-chart-wrap{max-height:calc(100vh - 190px);overflow:auto}.mindmap-card.is-fullscreen .mindmap-chart{height:calc(100vh - 190px)}.mindmap-backdrop{z-index:1199;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a182a8c;position:fixed;top:0;bottom:0;left:0;right:0}.mindmap-modal{z-index:1300;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a182a9e;padding:28px;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.mindmap-modal .mindmap-card{z-index:1;max-width:1500px;margin:0 auto;position:relative}.mindmap-modal__close{z-index:1301;color:#fff;background:#ffffff29;border:1px solid #ffffff4d;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:650;position:fixed;top:20px;right:24px}.plan-group__number,.plan-sub-item__head span,.semester-column__head span{font-size:13px}.plan-section__desc,.plan-side__link,.plan-sub-item__head strong,.course-chip--compact,.mindmap-hint,.table-card__copy span{font-size:14px}.course-chip--compact b{font-size:13px}@media (max-width:1200px){.plan-layout{grid-template-columns:1fr}.plan-side{flex-wrap:wrap;align-items:center;gap:10px;max-height:none;padding:12px 14px;display:flex;position:static}.plan-side__title{border-bottom:0;padding-bottom:0}.plan-side__nav{flex-flow:row;flex:1;gap:4px;margin-top:0;overflow-x:auto}.plan-side__link{white-space:nowrap;border-radius:8px;flex:none;grid-template-columns:auto auto;padding:6px 9px;font-size:13px}.plan-side__foot{border-top:0;margin-top:0;padding-top:0}.semester-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-structure{grid-template-columns:1fr}.credit-donut-wrap{align-items:flex-start}}@media (max-width:900px){.plan-hero__main{grid-template-columns:1fr;gap:8px}.plan-hero__year{font-size:74px}.plan-hero__stats{grid-template-columns:1fr 1fr}.plan-hero__stats>div:nth-child(2n){border-right:0}.info-grid{grid-template-columns:1fr 1fr}.plan-section{padding:18px 16px}}@media (max-width:700px){.plan-hero__content{padding:22px 18px}.plan-hero__title-wrap h1{font-size:23px;line-height:1.35}.plan-hero__stats{grid-template-columns:1fr 1fr}.plan-section__head{gap:10px}.plan-section__number{border-radius:11px;width:38px;height:38px;font-size:13px}.plan-section__title{font-size:21px}.semester-matrix{grid-template-columns:1fr}.credit-donut{width:220px;height:220px}.credit-donut__legend{grid-template-columns:1fr}.plan-cta{padding:22px 18px}.plan-cta h3{font-size:21px}.plan-side__title{width:100%}.plan-group{padding:15px 14px}.plan-group__title{font-size:16px}.plan-group__number{min-width:36px}.mindmap-chart{height:520px}.mindmap-chart-wrap{min-height:520px}.table-card{flex-wrap:wrap}.table-card .btn{margin-left:0}.standard-table th{top:0}}.plan-page{position:relative;overflow-x:clip}.plan-watermark-band{pointer-events:none;-webkit-user-select:none;user-select:none;height:clamp(170px,21vw,290px);margin-top:8px;position:relative;overflow:clip}.plan-watermark{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;color:#254a8713;transform:rotate(var(--wm-rotate,-6deg));transform-origin:100% 100%;mix-blend-mode:multiply;align-items:flex-end;gap:.04em;display:flex;position:absolute;bottom:-.04em;right:0}.plan-watermark span{font-family:var(--mono);letter-spacing:-.09em;font-size:clamp(150px,22vw,350px);font-weight:900;line-height:.78}.plan-watermark small{letter-spacing:-.04em;margin-bottom:.12em;font-size:clamp(28px,4vw,64px);font-weight:850}@media (max-width:760px){.plan-watermark-band{height:30vw}.plan-watermark{opacity:.8;right:-3vw}.plan-watermark span{font-size:34vw}.plan-watermark small{margin-bottom:.08em;font-size:9vw}}.curriculum-toolbar{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffd6;border-radius:13px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 15px;display:flex}.curriculum-toolbar div{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.curriculum-toolbar strong{color:var(--ink);font-size:15px;font-weight:800}.curriculum-toolbar span{color:var(--ink-3);font-size:13px}.curriculum-rules-btn{color:var(--a);cursor:pointer;background:#2f6fed12;border:1px solid #2f6fed38;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:750;display:inline-flex}.curriculum-rules-btn small{font-family:var(--mono);background:#2f6fed24;border-radius:5px;padding:0 5px;font-size:11px}.curriculum-rules-btn:hover{background:#2f6fed1f}.course-type-card__rule{color:#b45309;cursor:pointer;background:#fef3c78c;border:1px solid #b453093d;border-radius:6px;align-self:flex-start;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:750;display:inline-flex}.course-type-card__rule small{font-family:var(--mono);background:#b4530921;border-radius:4px;padding:0 4px;font-size:10px}.course-type-card__rule:hover{background:#fef3c7e6}.rules-dialog{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0912207a;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.rules-dialog__panel{background:#fff;border:1px solid #fffc;border-radius:18px;flex-direction:column;width:min(900px,100%);max-height:min(84vh,840px);display:flex;overflow:hidden;box-shadow:0 30px 90px #09122052}.rules-dialog__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.rules-dialog__head div{flex-direction:column;gap:2px;display:flex}.rules-dialog__head strong{color:var(--ink);font-size:18px;font-weight:800}.rules-dialog__head span{color:var(--ink-3);font-size:13px}.rules-dialog__head button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:650}.rules-dialog__head button:hover{color:var(--a);border-color:#2f6fed59}.rules-dialog__body{padding:16px;overflow:auto}.rules-dialog .selection-rules{box-shadow:none;background:0 0;border:0;padding:0}.rules-dialog .selection-rules>header{display:none}.category-change-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.category-change-summary span{border-radius:8px;align-items:baseline;gap:5px;padding:6px 10px;font-size:12.5px;font-weight:650;display:inline-flex}.category-change-summary .is-added{color:#15803d;background:#16a34a1a}.category-change-summary .is-removed{color:#b91c1c;background:#dc262614}.category-change-summary .is-changed{color:#b45309;background:#d977061a}.category-change-summary b{font-family:var(--mono);font-size:14px}.category-change-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.category-change-table__head,.category-change-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1.1fr) auto;align-items:center;gap:12px;padding:10px 13px;display:grid}.category-change-table__head{letter-spacing:.02em;color:var(--ink-3);background:#f8fafdeb;font-size:11.5px;font-weight:750}.category-change-row+.category-change-row{border-top:1px solid var(--line)}.category-change-row__label{min-width:0;color:var(--ink-2);align-items:center;gap:7px;font-size:13px;font-weight:650;display:flex}.category-change-row__label i{border-radius:50%;flex:none;width:8px;height:8px}.category-change-row__num{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:12px}.category-change-row__num b{color:var(--ink);font-size:13px}.category-change-row__num em{color:var(--ink-3);margin-left:5px;font-size:11px;font-style:normal;font-weight:750}.category-change-row__num em.is-up{color:#15803d}.category-change-row__num em.is-down{color:#b91c1c}.category-change-row__tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.category-change-row__tags b{font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:10.5px;font-weight:750}.category-change-row__tags .is-added{color:#15803d;background:#16a34a1f}.category-change-row__tags .is-removed{color:#b91c1c;background:#dc26261a}.category-change-row__tags .is-changed{color:#b45309;background:#d9770621}.category-change-row__tags .is-same{color:var(--ink-3);background:#14213d0d}.category-change-note{color:var(--ink-3);margin-top:12px;font-size:12px;line-height:1.65}@media (max-width:700px){.rules-dialog{padding:10px}.rules-dialog__panel{max-height:90vh}.category-change-table__head{display:none}.category-change-row{grid-template-columns:1fr 1fr;gap:6px 12px}.category-change-row__label{grid-column:1/-1}.category-change-row__tags{grid-column:1/-1;justify-content:flex-start}.category-change-row__num:nth-child(2):before,.category-change-row__num:nth-child(3):before{font-family:var(--font);color:var(--ink-3);margin-bottom:1px;font-size:10px;font-weight:600;display:block}.category-change-row__num:nth-child(2):before{content:"门数"}.category-change-row__num:nth-child(3):before{content:"学分"}}.plans-page{padding-bottom:80px}.index-hero{color:#fff;background:linear-gradient(135deg,#0d1b2f 0%,#17324d 56%,#123b50 100%);border-radius:28px;margin-top:22px;padding:clamp(30px,4vw,54px);position:relative;overflow:hidden;box-shadow:0 26px 70px #0f21373d,inset 0 1px #ffffff24}.index-hero:after{content:"";filter:blur(24px);pointer-events:none;background:radial-gradient(circle,#14b8a64d,#0000 68%);border-radius:50%;width:480px;height:480px;animation:22s ease-in-out infinite alternate hero-aurora-b;position:absolute;bottom:-300px;right:-170px}.index-hero__grid{pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 60% 40%,#000,#0000 76%);mask-image:radial-gradient(circle at 60% 40%,#000,#0000 76%)}.index-hero__content{z-index:1;grid-template-columns:minmax(0,1fr) minmax(220px,290px);align-items:center;gap:clamp(20px,3vw,48px);display:grid;position:relative}.index-hero__copy{min-width:0}.logo-3d{perspective:900px;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex;position:relative}.logo-3d__halo{filter:blur(14px);background:radial-gradient(circle,#b01e2652,#b01e2614 45%,#0000 70%);border-radius:50%;width:218px;height:218px;animation:7s ease-in-out infinite logo3d-breathe;position:absolute}.logo-3d__ring{border:1px solid #ffffff29;border-radius:50%;width:214px;height:214px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 70px #b01e2629}.logo-3d__ring:before{content:"";border:1px dashed #fff3;border-radius:50%;animation:26s linear infinite logo3d-spin;position:absolute;top:16px;bottom:16px;left:16px;right:16px}.logo-3d__ring:after{content:"";background:conic-gradient(#0000 0deg,#ffffff2e 28deg,#0000 56deg);border-radius:50%;animation:18s linear infinite reverse logo3d-spin;position:absolute;top:-5px;bottom:-5px;left:-5px;right:-5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 0)}.logo-3d__stage{z-index:1;place-items:center;width:208px;height:208px;display:grid;position:relative}.logo-3d__fallback{object-fit:contain;filter:drop-shadow(0 20px 38px #0000005c);width:112px;height:112px;transition:opacity .7s,transform .7s;position:absolute}.logo-3d.is-ready .logo-3d__fallback{opacity:0;transform:scale(.92)}.logo-3d__mount,.logo-3d__canvas{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.logo-3d__mount{z-index:2;opacity:0;transition:opacity .8s}.logo-3d.is-ready .logo-3d__mount{opacity:1}.logo-3d__caption{display:none}.logo-3d.is-failed .logo-3d__fallback{opacity:1;transform:none}@keyframes logo3d-spin{to{transform:rotate(360deg)}}@keyframes logo3d-breathe{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.logo-3d__halo,.logo-3d__ring:before,.logo-3d__ring:after{animation:none}}.index-hero .eyebrow{color:#fff9}.index-hero__identity{align-items:center;gap:11px;margin-bottom:14px;display:flex}.index-hero__seals{flex:none;align-items:center;gap:10px;display:flex}.index-hero__seals .brand-seal{filter:drop-shadow(0 8px 20px #00000052);width:42px;height:42px}.index-hero__seals .brand-seal--university{filter:brightness(1.3)saturate(1.05)drop-shadow(0 0 16px #7abeff52)drop-shadow(0 8px 20px #00000052)}.index-hero__seals .brand-divider{background:linear-gradient(#0000,#ffffff4d,#0000);height:30px}.index-hero__identity div{flex-direction:column;gap:1px;min-width:0;display:flex}.index-hero__identity span{letter-spacing:.06em;color:#ffffffa3;font-size:13px;font-weight:650}.index-hero__identity b{letter-spacing:.02em;color:#fff;font-size:15.5px;font-weight:800}.index-hero h1{letter-spacing:-.03em;background:linear-gradient(100deg,#fff 10%,#c4dcff 60%,#9ff3e8 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;max-width:1000px;margin-top:12px;font-size:clamp(34px,4.4vw,56px);font-weight:850;line-height:1.16;animation:14s ease-in-out infinite hero-text-shimmer}.index-hero p{color:#ffffffa3;max-width:880px;margin-top:10px;font-size:16px;line-height:1.8}.index-hero__stats{border-top:1px solid #ffffff24;flex-wrap:wrap;gap:18px 38px;margin-top:24px;padding-top:18px;display:flex}.index-hero__stats div{align-items:baseline;gap:7px;display:flex}.index-hero__stats strong{font-family:var(--mono);letter-spacing:-.04em;font-size:34px;font-weight:750}.index-hero__stats span{color:#ffffff8c;font-size:14px}.index-hero__actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.index-hero__actions .btn{color:#fff;background:#ffffff1a;border-color:#ffffff38}.index-hero__actions .btn--primary{color:#14213d;background:#fff;border-color:#fff}.index-list{flex-direction:column;gap:12px;margin-top:26px;display:flex}.index-card{box-shadow:var(--shadow-sm);background:#ffffffd6;border:1px solid #ffffffeb;border-radius:18px;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid}.index-card.is-hovered{border-color:#2f6fed3d;transform:translateY(-2px);box-shadow:0 18px 44px #14213d1c}.index-card__year{font-family:var(--mono);letter-spacing:-.06em;color:var(--ink);align-items:baseline;gap:4px;font-size:48px;font-weight:750;display:flex}.index-card__year small{color:var(--ink-3);letter-spacing:0;font-size:14px;font-weight:600}.index-card__main{min-width:0}.index-card__title{color:var(--ink);font-size:20px;font-weight:750;line-height:1.4;transition:color .2s;display:inline-block}.index-card__title:hover{color:var(--a)}.index-card__meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 18px;margin-top:4px;font-size:14px;display:flex}.index-card__meta b{color:var(--ink);font-weight:700}.index-card__credit{background:#e6edf7;border-radius:6px;height:8px;margin-top:12px;display:flex;overflow:hidden}.index-card__credit span{height:100%;transition:width .6s;display:block}.index-card__actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1100px){.index-hero__content{grid-template-columns:1fr}.logo-3d{display:none}}@media (max-width:1000px){.index-card{grid-template-columns:110px minmax(0,1fr)}.index-card__actions{grid-column:1/-1}}@media (max-width:700px){.index-card{grid-template-columns:1fr;gap:8px;padding:18px}.index-card__year{font-size:38px}.index-card__actions{grid-column:auto}.index-hero h1{font-size:32px}.index-hero__seals .brand-seal{width:36px;height:36px}}.catalog-page{padding-bottom:80px}.catalog-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-top:26px;display:flex}.catalog-head h1{letter-spacing:-.035em;background:linear-gradient(100deg,#14213d 8%,#2f6fed 62%,#0e9488 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:6px;font-size:clamp(38px,4.6vw,56px);font-weight:850;animation:16s ease-in-out infinite hero-text-shimmer}.catalog-head p{max-width:820px;color:var(--ink-3);margin-top:8px;font-size:16px;line-height:1.8}.catalog-head__stats{flex-wrap:wrap;gap:12px 26px;display:flex}.catalog-head__stats div{align-items:baseline;gap:5px;display:flex}.catalog-head__stats strong{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);font-size:28px;font-weight:750}.catalog-head__stats span{color:var(--ink-3);font-size:14px}.catalog-evo-banner{background:radial-gradient(circle at 8% 20%,#2f6fed24,#0000 42%),linear-gradient(120deg,#fffffff5,#eef5ffe6);border:1px solid #2f6fed2e;border-radius:18px;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:16px 22px;margin-top:24px;padding:18px 22px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid;box-shadow:0 14px 38px #14213d14}.catalog-evo-banner:hover{border-color:#2f6fed5c;transform:translateY(-2px);box-shadow:0 22px 52px #14213d21}.catalog-evo-banner__mark{color:#fff;background:linear-gradient(135deg,#2f6fed,#0e9488);border-radius:13px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 10px 24px #2f6fed47}.catalog-evo-banner__copy{min-width:0}.catalog-evo-banner__eyebrow{letter-spacing:.08em;color:#2f6fed;margin-bottom:3px;font-size:11.5px;font-weight:750;display:block}.catalog-evo-banner h2{letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:800}.catalog-evo-banner p{color:var(--ink-3);margin-top:3px;font-size:13.5px;line-height:1.65}.catalog-evo-banner__stats{gap:22px;display:flex}.catalog-evo-banner__stats div{flex-direction:column;gap:1px;display:flex}.catalog-evo-banner__stats b{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);font-size:25px;font-weight:780}.catalog-evo-banner__stats span{color:var(--ink-3);font-size:12px}.catalog-evo-banner__cta{color:#fff;white-space:nowrap;background:#2f6fed;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:700;box-shadow:0 8px 20px #2f6fed3d}@media (max-width:1000px){.catalog-evo-banner{grid-template-columns:46px minmax(0,1fr)}.catalog-evo-banner__stats{grid-column:1/-1}.catalog-evo-banner__cta{grid-column:1/-1;justify-self:start}}@media (max-width:1100px){.catalog-card{max-width:calc(50% - 6px)}}@media (max-width:700px){.catalog-card{max-width:100%}}.catalog-toolbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #fffffff0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:24px;padding:14px 16px;display:flex}.catalog-search{border:1px solid var(--line);min-width:280px;color:var(--ink-3);background:#fff;border-radius:11px;flex:1;align-items:center;gap:10px;padding:10px 14px;display:flex}.catalog-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:16px}.catalog-search input::placeholder{color:var(--muted)}.catalog-years{flex-wrap:wrap;gap:5px;display:flex}.catalog-years .pill{padding:6px 10px;font-size:13px}.catalog-groups{scroll-margin-top:calc(var(--topbar) + 16px);flex-direction:column;gap:34px;margin-top:28px;display:flex}.catalog-group__head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:10px;display:flex}.catalog-group__mark{border-radius:5px;width:9px;height:30px}.catalog-group__head h2{letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:800}.catalog-group__head>span:last-child{color:var(--ink-3);margin-left:auto;font-size:14px}.catalog-grid{flex-wrap:wrap;gap:11px;margin-top:12px;display:flex}.catalog-card{border:1px solid var(--line);border-top:4px solid var(--a);background:#ffffffe6;border-radius:14px;flex-direction:column;flex:380px;gap:6px;min-width:0;max-width:calc(33.333% - 8px);padding:16px 17px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 6px 18px #14213d0a}.catalog-card:hover{border-color:#2f6fed38;transform:translateY(-2px);box-shadow:0 16px 36px #14213d1a}.catalog-card__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.catalog-card__head strong{color:var(--ink);font-size:16px;font-weight:700;line-height:1.5}.catalog-card__head span{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;flex:none;font-size:13px}.catalog-card__meta{color:var(--ink-3);font-size:13.5px;line-height:1.5}.catalog-card__years{align-items:center;gap:3px;margin-top:3px;display:flex}.catalog-card__years>span{background:#14213d14;border-radius:4px;width:13px;height:13px}.catalog-card__years>span.is-present{background:linear-gradient(135deg, var(--a), var(--b))}.catalog-card__years em{color:var(--ink-3);margin-left:7px;font-size:12.5px;font-style:normal}.catalog-card__foot{border-top:1px dashed var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-top:4px;padding-top:8px;font-size:12.5px;display:flex}.catalog-card__head span,.catalog-card__years em,.catalog-card__foot,.catalog-years .pill{font-size:13.5px}.catalog-card__meta,.course-occurrence__meta{font-size:14px}.catalog-evolution{box-shadow:var(--shadow-sm);background:#fffc;border:1px solid #ffffffeb;border-radius:18px;margin-top:24px;padding:18px 18px 14px}.catalog-evolution__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 20px;margin-bottom:12px;display:flex}.catalog-evolution__head h2{letter-spacing:-.02em;color:var(--ink);font-size:21px;font-weight:800}.catalog-evolution__head p{max-width:900px;color:var(--ink-3);margin-top:3px;font-size:14px;line-height:1.7}.catalog-evolution__legend{color:var(--ink-3);align-items:center;gap:4px;font-size:12.5px;display:flex}.catalog-evolution__legend i{border-radius:3px;width:16px;height:12px}.catalog-evolution__scroll{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.catalog-evolution__table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:980px;font-size:13px}.catalog-evolution__table th,.catalog-evolution__table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:0}.catalog-evolution__table thead th{color:var(--ink-3);background:#f1f5fb;padding:9px 4px;font-size:12.5px;font-weight:700}.catalog-evolution__table tbody th{text-align:left;width:136px;color:var(--ink-2);white-space:nowrap;background:#f8fafde6;padding:8px 12px;font-size:13px;font-weight:650}.catalog-evolution__table tbody th i{border-radius:3px;width:8px;height:8px;margin-right:7px;display:inline-block}.catalog-evolution__table thead th:first-child,.catalog-evolution__table tbody th{z-index:1;position:sticky;left:0}.catalog-evolution__table thead th:first-child{z-index:2}.evolution-cell{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;min-height:44px;padding:6px 2px;transition:outline .15s,background .15s;display:flex}.evolution-cell:hover{outline-offset:-2px;outline:2px solid #2f6fed59}.evolution-cell b{font-family:var(--mono);color:var(--ink);font-size:14px;font-weight:750}.evolution-cell span{color:var(--ink-3);font-size:11.5px}.evolution-cell.is-empty b{color:var(--muted);font-weight:500}.catalog-view-toggle{border:1px solid var(--line);background:#f8fafde6;border-radius:10px;padding:3px;display:inline-flex}.catalog-view-toggle button{color:var(--ink-3);border-radius:7px;padding:7px 11px;font-size:13.5px;font-weight:650}.catalog-view-toggle button.is-active{color:#fff;background:#17324d;box-shadow:0 4px 10px #14213d2e}.catalog-discipline-select{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:600}.catalog-card__discipline{border-radius:5px;margin-right:7px;padding:2px 6px;font-size:12.5px;font-weight:700;display:inline-block}@media (max-width:760px){.catalog-evolution{padding:14px 12px 10px}.catalog-evolution__head h2{font-size:19px}.catalog-view-toggle{width:100%}.catalog-view-toggle button{flex:1}.catalog-discipline-select{width:100%}}@media (max-width:1200px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.catalog-search{min-width:100%}.catalog-grid{grid-template-columns:1fr}.catalog-head h1{font-size:36px}}.course-page{padding-bottom:80px}.course-breadcrumb{color:var(--ink-3);align-items:center;gap:8px;margin-top:24px;font-size:14px;display:flex}.course-breadcrumb a{color:var(--a);font-weight:650}.course-hero{box-shadow:var(--shadow-sm);background:linear-gradient(#fffffff5,#f7faffe6);border:1px solid #ffffffeb;border-top-color:#0000;border-radius:24px;margin-top:14px;padding:clamp(24px,3.5vw,40px);position:relative;overflow:hidden}.course-hero:before{content:"";pointer-events:none;background:linear-gradient(90deg,#2f6fed,#14b8a6,#7c3aed,#2f6fed) 0 0/200% 100%;height:5px;animation:12s linear infinite hero-line-flow;position:absolute;top:0;left:0;right:0}.course-hero__main h1{letter-spacing:-.03em;background:linear-gradient(100deg,#14213d 8%,#2f6fed 62%,#0e9488 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:8px;font-size:clamp(32px,4.4vw,54px);font-weight:850;line-height:1.16;animation:16s ease-in-out infinite hero-text-shimmer}.course-hero__main p{color:var(--ink-3);margin-top:8px;font-size:15px}.course-hero__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.course-hero__stats div{border:1px solid var(--line);background:#f8fafdd1;border-radius:13px;padding:12px 16px}.course-hero__stats strong{font-family:var(--mono);letter-spacing:-.03em;color:var(--ink);font-size:24px;font-weight:750;display:block}.course-hero__stats span{color:var(--ink-3);margin-top:2px;font-size:13.5px;display:block}.course-year-strip{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin-top:18px;display:grid}.course-year-strip span{text-align:center;font-family:var(--mono);color:var(--ink-3);background:#14213d0a;border-radius:8px;padding:7px 4px;font-size:13px}.course-year-strip span.is-present{color:#fff;background:linear-gradient(135deg, var(--a), var(--b))}.course-mindmap{margin-top:20px;margin-bottom:20px}.course-mindmap__head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.course-mindmap__head p{color:var(--ink-3);margin-top:4px;font-size:14px;line-height:1.65}.course-mindmap__hint{color:var(--ink-3);flex:none;font-size:13px}.course-mindmap__chart{width:100%;height:420px}@media (max-width:760px){.course-mindmap__head{flex-direction:column;gap:4px}.course-mindmap__chart{height:360px}}.catalog-head__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.course-evo-page{padding-bottom:80px}.course-evo-hero{color:#fff;background:radial-gradient(circle at 84% 18%,#0ea5a452,#0000 42%),linear-gradient(135deg,#101d33 0%,#17324d 58%,#123f4a 100%);border-radius:28px;margin-top:22px;padding:clamp(30px,4vw,50px);position:relative;overflow:hidden;box-shadow:0 26px 70px #0f21373d,inset 0 1px #ffffff24}.course-evo-hero:after{content:"";filter:blur(26px);pointer-events:none;background:radial-gradient(circle,#2f6fed57,#0000 68%);border-radius:50%;width:520px;height:520px;animation:20s ease-in-out infinite alternate hero-aurora-a;position:absolute;bottom:-320px;left:-200px}.course-evo-hero__grid{pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 62% 40%,#000,#0000 76%);mask-image:radial-gradient(circle at 62% 40%,#000,#0000 76%)}.course-evo-hero__content{z-index:1;position:relative}.course-evo-hero .eyebrow{color:#fff9}.course-evo-hero h1{letter-spacing:-.03em;background:linear-gradient(100deg,#fff 10%,#c4dcff 60%,#9ff3e8 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:12px;font-size:clamp(34px,4.4vw,54px);font-weight:850;line-height:1.16;animation:14s ease-in-out infinite hero-text-shimmer}.course-evo-hero h1 em{font-style:normal}.course-evo-hero p{color:#ffffffa3;max-width:860px;margin-top:10px;font-size:16px;line-height:1.8}.course-evo-stats{border-top:1px solid #ffffff24;flex-wrap:wrap;gap:16px 38px;margin-top:24px;padding-top:18px;display:flex}.course-evo-stats div{align-items:baseline;gap:7px;display:flex}.course-evo-stats b{font-family:var(--mono);letter-spacing:-.04em;font-size:32px;font-weight:750}.course-evo-stats span{color:#ffffff8c;font-size:14px}.course-evo-toolbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #fffffff0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px;padding:14px 16px;display:flex}.course-evo-search{border:1px solid var(--line);min-width:280px;color:var(--ink-3);background:#fff;border-radius:11px;flex:1;align-items:center;gap:10px;padding:10px 14px;display:flex}.course-evo-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:16px}.course-evo-search input::placeholder{color:var(--muted)}.course-evo-modes{border:1px solid var(--line);background:#f8fafde6;border-radius:10px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.course-evo-modes button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 12px;font-size:13.5px;font-weight:650}.course-evo-modes button.is-active{color:#fff;background:#17324d;box-shadow:0 4px 10px #14213d2e}.course-evo-sort{color:var(--ink-3);align-items:center;gap:7px;font-size:13px;display:inline-flex}.course-evo-sort select{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:9px;outline:none;padding:7px 10px;font-size:13px;font-weight:650}.course-evo-sort select:focus{border-color:#2f6fed66}.course-evo-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.course-evo-card{box-shadow:var(--shadow-sm);background:#ffffffdb;border:1px solid #ffffffeb;border-radius:16px;flex-direction:column;gap:12px;padding:18px 20px 14px;transition:transform .2s,box-shadow .2s;display:flex}.course-evo-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px #14213d1a}.course-evo-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.course-evo-card__head h2{color:var(--ink);font-size:18px;font-weight:750;line-height:1.45}.course-evo-card__head p{color:var(--ink-3);margin-top:2px;font-size:13px}.course-evo-card__years{font-family:var(--mono);color:var(--ink-3);background:#14213d0d;border-radius:999px;flex:none;padding:3px 9px;font-size:12px}.course-evo-changes{flex-wrap:wrap;gap:5px;display:flex}.course-evo-tag{border-radius:5px;padding:2px 7px;font-size:11.5px;font-weight:750;line-height:1.55}.course-evo-tag.is-name{color:#1d4ed8;background:#2f6fed1f}.course-evo-tag.is-credit{color:#b45309;background:#d9770621}.course-evo-tag.is-hour{color:#0f766e;background:#0d94881f}.course-evo-tag.is-code{color:#475569;background:#64748b21}.course-evo-tag.is-stable{color:var(--ink-3);background:#14213d0e;font-weight:650}.course-evo-runs{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.course-evo-run{border-left:3px solid var(--run-tone,#94a3b8);background:var(--run-bg,#94a3b81a);border-radius:9px;flex-direction:column;gap:1px;min-width:0;padding:7px 10px 8px;display:flex}.course-evo-run-arrow{font-family:var(--mono);color:#2f6fed;white-space:nowrap;background:#2f6fed12;border-radius:6px;align-self:center;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.course-evo-run-arrow i{color:#2f6fed;opacity:1;font-size:17px;font-style:normal;font-weight:800;line-height:1}.course-evo-run-arrow small{font-family:var(--font);color:#2f6fed;opacity:1;font-size:10.5px;font-weight:700}.course-evo-group{border-top:1px solid #14213d14;grid-column:1/-1;align-items:center;gap:9px;margin:8px 2px -4px;padding-top:10px;display:flex}.course-evo-group:first-child{border-top:0;margin-top:0;padding-top:0}.course-evo-group__dot{background:var(--group-color,#64748b);border-radius:50%;flex:none;width:9px;height:9px}.course-evo-group h2{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:800}.course-evo-group__count{font-family:var(--mono);color:var(--ink-3);margin-left:auto;font-size:11.5px}.course-evo-run span{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.course-evo-run strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.45}.course-evo-meta{border-top:1px dashed var(--line);color:var(--ink-3);flex-wrap:wrap;gap:6px 18px;padding-top:10px;font-size:13px;display:flex}.course-evo-meta span{align-items:baseline;gap:6px;display:flex}.course-evo-meta b{color:var(--ink-2);font-weight:700}.course-evo-measures{flex-direction:column;gap:5px;margin-top:8px;display:flex}.course-evo-measure{align-items:flex-start;gap:7px;min-width:0;display:flex}.course-evo-measure__label{color:var(--ink-3);flex:0 0 30px;padding-top:3px;font-size:11px;font-weight:650}.course-evo-measure__runs{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.course-evo-measure__run{background:#f8fafde6;border:1px solid #14213d0f;border-radius:6px;align-items:baseline;gap:4px;padding:2px 6px;display:inline-flex}.course-evo-measure__run b{font-family:var(--mono);color:var(--ink-2);font-size:11.5px;font-weight:750}.course-evo-measure__run small{font-family:var(--mono);color:var(--ink-3);font-size:9.5px}.course-evo-measure__run.is-latest{background:#2f6fed12;border-color:#2f6fed38}.course-evo-measure__run.is-latest b{color:#1d4ed8}.course-evo-measure__runs i{color:#2f6fed;opacity:.9;padding:0 2px;font-size:13px;font-style:normal;font-weight:800}.course-evo-card__foot{color:var(--ink-3);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.course-evo-card__foot a{color:var(--a);align-items:center;gap:4px;font-weight:700;display:inline-flex}.course-evo-card__foot a:hover{text-decoration:underline}.course-evo-empty{text-align:center;color:var(--ink-3);background:#fffc;border-radius:16px;margin-top:22px;padding:26px}.course-evo-more{justify-content:center;margin-top:20px;display:flex}.course-evo-cta{color:#fff;background:linear-gradient(135deg,#13253c,#173f4a);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding:22px 26px;display:flex}.course-evo-cta h2{font-size:21px;font-weight:800}.course-evo-cta p{color:#fff9;margin-top:3px;font-size:14px}.course-evo-cta .btn{color:#14213d;background:#fff;border-color:#fff}@media (max-width:1180px){.course-evo-list{grid-template-columns:1fr}}@media (max-width:700px){.course-evo-hero{padding:22px 18px}.course-evo-hero h1{font-size:32px}.course-evo-runs{flex-flow:column;align-items:stretch}.course-evo-run{flex-grow:0}.course-evo-run-arrow{align-self:flex-start;margin-left:10px}}.course-change-trail{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:radial-gradient(circle at 6% 0,#2f6fed17,#0000 44%),linear-gradient(135deg,#ffffffe6,#f0f7ffb3);border:1px solid #ffffffeb;border-radius:18px;margin-top:20px;padding:18px 20px 16px;position:relative;overflow:hidden}.course-change-trail__head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.course-change-trail__head h2{letter-spacing:-.01em;color:var(--ink);margin-top:3px;font-size:20px;font-weight:800}.course-change-trail__head p{max-width:760px;color:var(--ink-3);margin-top:2px;font-size:13px;line-height:1.65}.course-change-trail__count{font-family:var(--mono);color:#2f6fed;background:#2f6fed14;border-radius:999px;flex:none;padding:4px 10px;font-size:11.5px;font-weight:650}.course-change-trail__scroll{scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;margin-top:14px;padding:2px 2px 8px;display:flex;overflow-x:auto}.course-change-node{scroll-snap-align:start;background:#ffffffad;border:1px solid #ffffffe6;border-radius:13px;flex:0 0 240px;padding:12px 14px;box-shadow:inset 0 1px #fff,0 6px 18px #14213d0a}.course-change-node__years{font-family:var(--mono);color:#2f6fed;align-items:center;gap:5px;font-size:13px;font-weight:750;display:flex}.course-change-node__years i{color:#2f6fed;opacity:1;font-size:16px;font-style:normal;font-weight:800;line-height:1}.course-change-node__years span{font-family:var(--font);color:var(--ink-3);font-size:10.5px}.course-change-node__changes{flex-direction:column;gap:5px;margin-top:9px;display:flex}.course-change-node__change{color:var(--ink-2);align-items:flex-start;gap:6px;font-size:12px;line-height:1.55;display:flex}.course-change-node__change b{color:var(--ink-3);background:#14213d0d;border-radius:4px;flex:none;padding:1px 5px;font-size:10px;font-weight:750}.course-change-node__change b.is-name{color:#1d4ed8;background:#2f6fed1a}.course-change-node__change b.is-credit{color:#b45309;background:#d977061f}.course-change-node__change b.is-hour{color:#0f766e;background:#0d94881c}.course-change-node__change b.is-code{color:#475569;background:#64748b1f}.course-change-node__change span{overflow-wrap:anywhere;min-width:0}.course-change-node__more{color:var(--ink-3);font-size:10.5px}.course-change-trail__quiet{border:1px dashed var(--line);color:var(--ink-3);border-radius:10px;margin-top:10px;padding:14px 16px;font-size:13px}@media (max-width:700px){.course-change-trail{padding:14px}.course-change-trail__head{flex-direction:column;align-items:flex-start;gap:8px}.course-change-node{flex-basis:210px}}.course-layout{grid-template-columns:minmax(0,1fr) 350px;gap:18px;margin-top:20px;display:grid}.course-card{box-shadow:var(--shadow-sm);background:#ffffffe0;border:1px solid #ffffffeb;border-radius:18px;padding:22px 24px}.course-card h2{color:var(--ink);font-size:20px;font-weight:800}.course-occurrences{flex-direction:column;gap:8px;margin-top:14px;display:flex}.course-occurrence{border:1px solid var(--line);background:#f8fafdcc;border-radius:12px;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:12px 14px;display:grid}.course-occurrence__year{flex-direction:column;gap:2px;display:flex}.course-occurrence__year strong{font-family:var(--mono);color:var(--ink);font-size:22px;font-weight:750}.course-occurrence__year a{color:var(--a);font-size:13px;font-weight:600}.course-occurrence__name{color:var(--ink);flex-wrap:wrap;align-items:center;gap:5px;font-size:16px;font-weight:700;line-height:1.5;display:flex}.course-tag{border-radius:5px;align-items:center;padding:1px 6px;font-size:10.5px;font-weight:800;line-height:1.55;display:inline-flex}.course-tag.is-aix,.course-tag.is-xai{color:#fff;background:#111827}.course-tag.is-special{color:#7e22ce;background:#f3e8ff}.course-tag.is-note{color:#b45309;background:#fef3c7}.course-occurrence__note{color:#92400e;background:#fef3c780;border-left:2px solid #ca8a0480;border-radius:6px;margin-top:5px;padding:4px 7px;font-size:12.5px;line-height:1.55}.course-occurrence__meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13.5px;display:flex}.course-occurrence__exam[data-exam=试]{color:#b91c1c;font-weight:700}.course-occurrence__exam[data-exam=试\/查]{color:#9a3412;font-weight:700}.course-occurrence__changes{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.course-occurrence__changes b{color:#1d4ed8;background:#2f6fed14;border-radius:6px;align-items:baseline;gap:5px;padding:2px 7px;font-size:12px;font-weight:750;display:inline-flex}.course-occurrence__changes b span{color:var(--ink-2);font-weight:600}.course-code-list{flex-direction:column;gap:2px;margin-top:10px;display:flex}.course-code-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;font-size:13.5px;display:flex}.course-code-row:last-child{border-bottom:0}.course-code-row b{font-family:var(--mono);color:var(--ink)}.course-code-row span{text-align:right;color:var(--ink-3)}.course-side{flex-direction:column;gap:14px;display:flex}.course-card--placeholder{background:linear-gradient(135deg,#2f6fed14,#0ea5a40f);position:relative;overflow:hidden}.course-card--placeholder p{color:var(--ink-3);margin-top:8px;font-size:15px;line-height:1.8}.course-placeholder-tag{color:var(--a);border:1px solid #2f6fed33;border-radius:8px;margin-top:14px;padding:5px 10px;font-size:13px;font-weight:700;display:inline-block}.course-related{flex-direction:column;gap:2px;margin-top:10px;display:flex}.course-related a{border-bottom:1px solid var(--line);color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;font-size:14px;display:flex}.course-related a:last-child{border-bottom:0}.course-related a:hover{color:var(--a)}.course-related b{font-family:var(--mono);color:var(--ink-3);font-size:13px}.course-footer-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}@media (max-width:1000px){.course-layout{grid-template-columns:1fr}.course-hero__stats{grid-template-columns:1fr 1fr}}@media (max-width:700px){.course-hero{padding:22px 18px}.course-year-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.course-occurrence{grid-template-columns:1fr;gap:6px}.course-card{padding:18px}}.course-chip__tag.is-aix,.course-chip__tag.is-xai,.course-tag.is-aix,.course-tag.is-xai,.course-type-card__aix{color:#fff;background-color:#0f172a;background-image:linear-gradient(110deg,#0f172a 0%,#6d28d9 24%,#0e7490 48%,#be123c 72%,#0f172a 100%);background-size:280% 100%;animation:5.5s linear infinite aix-flow;box-shadow:0 0 0 1px #7c3aed47,0 2px 10px #7c3aed3d}@keyframes aix-flow{0%{background-position:0%}to{background-position:280%}}@media (prefers-reduced-motion:reduce){.course-chip__tag.is-aix,.course-chip__tag.is-xai,.course-tag.is-aix,.course-tag.is-xai,.course-type-card__aix{background-position:50%;animation:none}}.evo-page{position:relative}.evo-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#14b8a638,#0000 30%),radial-gradient(circle at 12% 78%,#4f7cff3d,#0000 34%),linear-gradient(135deg,#0a1730 0%,#122a4f 56%,#0b2237 100%);border-radius:28px;margin-top:8px;padding:clamp(34px,5vw,64px);position:relative;overflow:hidden;box-shadow:0 30px 80px #0a193240}.evo-hero__grid{background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:48px 48px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 20%,#0000 78%);mask-image:radial-gradient(circle at 50% 40%,#000 20%,#0000 78%)}.evo-hero__glow{filter:blur(80px);opacity:.55;border-radius:50%;width:360px;height:360px;animation:14s ease-in-out infinite alternate evo-float;position:absolute}.evo-hero__glow--a{background:#34d39973;top:-120px;right:6%}.evo-hero__glow--b{background:#4f7cff80;animation-delay:-6s;bottom:-160px;left:2%}@keyframes evo-float{0%{transform:translate(0,0)scale(1)}to{transform:translate(26px,-22px)scale(1.12)}}.evo-hero__content{z-index:2;position:relative}.evo-hero__top{justify-content:space-between;align-items:center;gap:16px;display:flex}.evo-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#ffffff94;font-size:13.5px;font-weight:700}.evo-hero__badge{color:#ffffffd1;background:#ffffff12;border:1px solid #ffffff2e;border-radius:999px;padding:6px 13px;font-size:13.5px;font-weight:650}.evo-hero__title{letter-spacing:-.045em;margin:24px 0 16px;font-size:clamp(46px,6.6vw,92px);font-weight:800;line-height:1.02}.evo-hero__title em{background:linear-gradient(92deg,#7dd3fc,#34d399 58%,#fbbf24);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.evo-hero__lead{color:#ffffffb8;max-width:760px;font-size:clamp(16px,1.4vw,19px);line-height:1.85}.evo-hero__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:36px;display:grid}.evo-stat{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:18px;padding:18px 20px}.evo-stat__value{font-family:var(--mono);align-items:baseline;gap:8px;font-size:clamp(26px,2.5vw,38px);font-weight:800;line-height:1.1;display:flex}.evo-stat__value i{color:#ffffff6b;font-size:.55em;font-style:normal}.evo-stat__label{color:#fff9;margin-top:8px;font-size:14.5px}.evo-hero__years{justify-content:space-between;gap:8px;margin-top:38px;padding-top:10px;display:flex;position:relative}.evo-hero__line{background:linear-gradient(90deg,#7dd3fc47,#34d3999e 58%,#fbbf24e6);height:2px;position:absolute;top:19px;left:2%;right:2%}.evo-hero__years button{z-index:1;font-family:var(--mono);color:#ffffff80;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;padding:0;font-size:13.5px;font-weight:700;transition:color .2s;display:flex;position:relative}.evo-hero__years button i{background:#0b1730;border:2px solid #ffffff59;border-radius:50%;width:10px;height:10px;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}.evo-hero__years button:hover,.evo-hero__years button.is-active{color:#fff}.evo-hero__years button.is-active i{background:#34d399;border-color:#a7f3d0;transform:scale(1.3);box-shadow:0 0 0 6px #34d39929,0 0 24px #34d399cc}.evo-section{scroll-margin-top:calc(var(--topbar) + 40px);margin-top:clamp(48px,6vw,88px)}.evo-section__head{max-width:900px;margin-bottom:26px}.evo-kicker{letter-spacing:.12em;color:#4f7cff;align-items:center;gap:7px;font-size:13.5px;font-weight:800;display:inline-flex}.evo-section__head h2{letter-spacing:-.03em;margin:10px 0 12px;font-size:clamp(30px,3.4vw,46px);font-weight:800;line-height:1.15}.evo-section__head p{color:var(--ink-3);font-size:16px;line-height:1.85}.evo-reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.evo-reveal.is-visible{opacity:1;transform:none}.evo-path-layout{grid-template-columns:minmax(0,1.5fr) minmax(350px,.8fr);align-items:start;gap:30px;display:grid}.evo-path{padding:6px 0;position:relative}.evo-path__rail{background:#14213d1a;border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.evo-path__rail i{background:linear-gradient(#4f7cff,#14b8a6 55%,#f59e0b);border-radius:2px;width:100%;transition:height .55s cubic-bezier(.22,1,.36,1);display:block}.evo-node{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0 0 24px;display:block;position:relative}.evo-node.is-left{text-align:right;padding-right:calc(50% + 36px)}.evo-node.is-right{padding-left:calc(50% + 36px)}.evo-node__marker{z-index:2;border:2px solid var(--phase);background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;transition:transform .25s,box-shadow .25s;display:grid;position:absolute;top:26px;left:50%;transform:translate(-50%);box-shadow:0 0 0 5px #ffffffe6}.evo-node__marker i{background:var(--phase);border-radius:50%;width:8px;height:8px}.evo-node__card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffd6;border-radius:16px;flex-direction:column;gap:7px;padding:18px 20px;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative}.evo-node__card:after{content:"";background:#14213d2e;width:36px;height:1px;position:absolute;top:34px}.evo-node.is-left .evo-node__card:after{right:-36px}.evo-node.is-right .evo-node__card:after{left:-36px}.evo-node:hover .evo-node__card{border-color:color-mix(in srgb, var(--phase) 40%, #fff);transform:translateY(-3px);box-shadow:0 18px 42px #14213d21}.evo-node.is-active .evo-node__card{border-color:var(--phase);box-shadow:0 0 0 2px color-mix(in srgb, var(--phase) 18%, transparent), 0 22px 52px #14213d24;background:#fff}.evo-node.is-active .evo-node__marker{box-shadow:0 0 0 6px color-mix(in srgb, var(--phase) 16%, transparent), 0 0 24px color-mix(in srgb, var(--phase) 60%, transparent);transform:translate(-50%)scale(1.22)}.evo-node__top{align-items:center;gap:10px;display:flex}.evo-node.is-left .evo-node__top{justify-content:flex-end}.evo-node__top b{font-family:var(--mono);color:var(--phase);font-size:30px;font-weight:800;line-height:1}.evo-node__top em{color:var(--phase);background:color-mix(in srgb, var(--phase) 10%, #fff);border-radius:6px;padding:4px 8px;font-size:13px;font-style:normal;font-weight:700}.evo-node__title{color:var(--ink);font-size:19px;font-weight:800}.evo-node__desc{color:var(--ink-3);font-size:14.5px;line-height:1.72}.evo-node__meta{font-family:var(--mono);color:var(--ink-3);font-size:13.5px;font-weight:600}.evo-lens{top:calc(var(--topbar) + 20px);max-height:calc(100vh - var(--topbar) - 40px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:thin;background:linear-gradient(160deg,#fffffff5,#f0f6ffe6);border:1px solid #ffffffeb;border-radius:22px;padding:24px;position:sticky;overflow:auto;box-shadow:0 24px 60px #14213d1f}.evo-lens__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.evo-lens__year{font-family:var(--mono);letter-spacing:-.05em;color:var(--ink);font-size:62px;font-weight:800;line-height:.95}.evo-lens__phase{color:var(--a);margin-top:6px;font-size:14px;font-weight:750}.evo-lens__mode{color:var(--ink-2);white-space:nowrap;background:#14213d0f;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700}.evo-lens__title{color:var(--ink);margin-top:14px;font-size:24px;font-weight:800}.evo-lens__desc{color:var(--ink-3);margin-top:6px;font-size:15px;line-height:1.75}.evo-lens__metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.evo-lens__metrics div{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;padding:12px 14px}.evo-lens__metrics b{font-family:var(--mono);color:var(--ink);font-size:26px;font-weight:800;line-height:1.1;display:block}.evo-lens__metrics span{color:var(--ink-3);margin-top:4px;font-size:13px;display:block}.evo-lens__block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.evo-lens__block-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.evo-lens__block-head strong{font-size:15px;font-weight:800}.evo-lens__block-head span{color:var(--ink-3);font-size:13.5px}.evo-theme-bars{flex-direction:column;gap:8px;display:flex}.evo-theme-bar{color:var(--ink-2);grid-template-columns:76px minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:13.5px;display:grid}.evo-theme-bar>div{background:#14213d12;border-radius:99px;height:8px;overflow:hidden}.evo-theme-bar>div i{border-radius:99px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.evo-theme-bar b{font-family:var(--mono);text-align:right;color:var(--ink-3);font-size:13px;font-weight:700}.evo-lens__link{background:var(--ink);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s;display:flex}.evo-lens__link:hover{background:#1d3459}.evo-wordcloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;min-height:120px;padding:10px 4px;display:flex}.evo-wordcloud.is-compact{gap:4px 12px;min-height:78px;padding:4px 0}.evo-word{letter-spacing:-.02em;font-weight:750;line-height:1.15;animation:.5s cubic-bezier(.22,1,.36,1) both evo-word-in}.evo-wordcloud__empty{color:var(--ink-3);font-size:14px}@keyframes evo-word-in{0%{opacity:0;transform:translateY(8px)scale(.9)}to{opacity:1;transform:none}}.evo-goal-strip{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.evo-goal-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffde;border-radius:18px;padding:18px 20px}.evo-goal-card__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.evo-goal-card__head span{color:var(--ink-3);font-size:14.5px;font-weight:700}.evo-goal-card__head b{font-family:var(--mono);color:var(--ink);font-size:20px;font-weight:800}.evo-goal-card__note{color:var(--ink-3);margin:6px 0 10px;font-size:14px;line-height:1.6}.evo-theme-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:stretch;gap:20px;display:grid}.evo-card{box-shadow:var(--shadow-sm);background:#ffffffde;border:1px solid #ffffffe6;border-radius:22px;padding:22px}.evo-chart{width:100%}.evo-theme-chart{flex-direction:column;gap:14px;display:flex}.evo-theme-chips{flex-wrap:wrap;gap:8px;display:flex}.evo-theme-chips button{border:1px solid var(--line);color:var(--ink-3);opacity:.52;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:13.5px;font-weight:650;transition:opacity .2s,border-color .2s,background .2s,color .2s;display:inline-flex}.evo-theme-chips button i{background:var(--theme);opacity:.35;border-radius:50%;width:8px;height:8px;transition:opacity .2s}.evo-theme-chips button.is-active{opacity:1;border-color:color-mix(in srgb, var(--theme) 45%, #fff);background:color-mix(in srgb, var(--theme) 8%, #fff);color:var(--ink)}.evo-theme-chips button.is-active i{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--theme) 16%, transparent)}.evo-theme-insight{flex-direction:column;justify-content:space-between;gap:16px;display:flex}.evo-theme-insight h3{margin:4px 0 16px;font-size:24px;font-weight:800}.evo-deltas{flex-direction:column;gap:12px;display:flex}.evo-delta__top{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:10px;font-size:14.5px;font-weight:700;display:flex}.evo-delta__top b{font-family:var(--mono);font-size:15px}.evo-delta__bar{background:#14213d12;border-radius:99px;height:7px;margin-top:5px;overflow:hidden}.evo-delta__bar i{border-radius:99px;height:100%;display:block}.evo-theme-insight__quote{color:var(--ink-2);background:linear-gradient(135deg,#4f7cff14,#14b8a614);border-radius:14px;margin:0;padding:16px;font-size:15px;line-height:1.8}.evo-credit-chart{margin-bottom:18px;padding:16px 18px}.evo-credit-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.evo-credit-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffde;border-radius:18px;padding:18px}.evo-credit-card__head{color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;font-weight:700;display:flex}.evo-credit-card__head b{font-family:var(--mono);color:var(--ink);font-size:18px}.evo-credit-card p{color:var(--ink-3);margin:8px 0 12px;font-size:14px;line-height:1.65}.evo-minibars{align-items:stretch;gap:5px;height:92px;padding-top:6px;display:flex}.evo-minibar{cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;min-width:0;height:100%;padding:0;display:flex}.evo-minibar:disabled{cursor:default}.evo-minibar__track{background:0 0;border-radius:4px 4px 0 0;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.evo-minibar__track:after{content:"";background:#14213d1f;height:1px;position:absolute;bottom:0;left:0;right:0}.evo-minibar__track i{background:#14213d42;border-radius:4px 4px 0 0;width:100%;transition:height .5s cubic-bezier(.22,1,.36,1),background .2s;position:absolute;bottom:0;left:0;right:0}.evo-minibar__year{font-family:var(--mono);color:var(--ink-3);flex:none;font-size:11.5px;font-weight:650}.evo-minibar.is-active .evo-minibar__year{color:var(--ink)}.evo-survival{background:linear-gradient(120deg,#4f7cff14,#14b8a614);border:1px solid #4f7cff24;border-radius:20px;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:26px;margin-top:16px;padding:22px 26px;display:grid}.evo-survival__value b{font-family:var(--mono);color:var(--ink);font-size:46px;font-weight:800;line-height:1;display:block}.evo-survival__value span{color:var(--ink-3);margin-top:6px;font-size:14px;font-weight:650;display:block}.evo-survival__copy p{color:var(--ink-2);margin:0;font-size:15px;line-height:1.75}.evo-survival__bar{background:#ffffffb8;border-radius:99px;height:10px;margin-top:14px;overflow:hidden}.evo-survival__bar i{background:linear-gradient(90deg,#4f7cff,#14b8a6);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.evo-phases{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.evo-phase{border:1px solid color-mix(in srgb, var(--phase) 24%, #fff);background:linear-gradient(160deg, color-mix(in srgb, var(--phase) 10%, #fff), #fff 62%);box-shadow:var(--shadow-sm);border-radius:22px;padding:26px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.evo-phase:after{content:"";background:color-mix(in srgb, var(--phase) 18%, transparent);filter:blur(18px);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.evo-phase:hover{transform:translateY(-5px);box-shadow:0 24px 50px #14213d24}.evo-phase__range{z-index:1;font-family:var(--mono);color:var(--phase);font-size:14px;font-weight:700;position:relative}.evo-phase h3{z-index:1;margin:8px 0 4px;font-size:28px;font-weight:800;position:relative}.evo-phase__tagline{z-index:1;color:var(--ink-2);font-size:15px;font-weight:700;position:relative}.evo-phase ul{z-index:1;flex-direction:column;gap:9px;margin:16px 0 0;padding:0;list-style:none;display:flex;position:relative}.evo-phase li{color:var(--ink-3);padding-left:16px;font-size:14.5px;line-height:1.7;position:relative}.evo-phase li:before{content:"";background:var(--phase);border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.evo-cta{color:#fff;background:linear-gradient(120deg,#0f1f3a,#17324d 55%,#123f3d);border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-top:60px;padding:34px 38px;display:flex;box-shadow:0 24px 60px #14213d33}.evo-cta .evo-kicker{color:#7dd3fc}.evo-cta h2{letter-spacing:-.02em;margin:8px 0;font-size:clamp(26px,2.6vw,34px);font-weight:800}.evo-cta p{color:#ffffffad;font-size:15px;line-height:1.7}.evo-cta__actions{flex-wrap:wrap;gap:10px;display:flex}.evo-cta .btn--ghost{color:#fff;background:#ffffff14;border-color:#ffffff3d}@media (prefers-reduced-motion:reduce){.evo-reveal{opacity:1;transform:none}.evo-hero__glow{animation:none}}@media (max-width:1280px){.evo-theme-layout{grid-template-columns:1fr}.evo-credit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.evo-path-layout{grid-template-columns:1fr}.evo-path{scroll-snap-type:x mandatory;gap:12px;padding:8px 2px 14px;display:flex;overflow-x:auto}.evo-path__rail,.evo-node__marker,.evo-node__card:after{display:none}.evo-node,.evo-node.is-left,.evo-node.is-right{text-align:left;scroll-snap-align:start;flex:0 0 280px;padding:0}.evo-node.is-left .evo-node__top{justify-content:flex-start}.evo-node__card{height:100%}.evo-lens{position:static}.evo-phases{grid-template-columns:1fr}}@media (max-width:900px){.evo-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.evo-survival{grid-template-columns:1fr;gap:12px}.evo-theme-insight{gap:12px}.evo-cta{flex-direction:column;align-items:flex-start;padding:28px}}@media (max-width:640px){.evo-hero{border-radius:22px;padding:26px 20px 30px}.evo-hero__top{flex-direction:column;align-items:flex-start;gap:10px}.evo-hero__title{letter-spacing:-.04em;font-size:clamp(34px,10.5vw,48px)}.evo-hero__stats{grid-template-columns:1fr 1fr}.evo-hero__stats .evo-stat:first-child{grid-area:1/1}.evo-hero__stats .evo-stat:nth-child(4){grid-area:1/2}.evo-hero__stats .evo-stat:nth-child(2){grid-area:2/1/auto/-1}.evo-hero__stats .evo-stat:nth-child(3){grid-area:3/1/auto/-1}.evo-hero__years{justify-content:space-between;gap:4px;overflow:visible}.evo-hero__line{left:4px;right:4px}.evo-hero__years button{flex:none;gap:7px;font-size:12px}.evo-credit-cards,.evo-goal-strip{grid-template-columns:1fr}.evo-card{border-radius:18px;padding:16px}.evo-lens{padding:20px}.evo-lens__year{font-size:52px}.evo-theme-layout,.evo-credit-chart{gap:12px}.evo-node,.evo-node.is-left,.evo-node.is-right{flex-basis:250px}}.liquid-chip{isolation:isolate;background:radial-gradient(ellipse at 28% 6%, #fffffff5, transparent 46%), radial-gradient(ellipse at 72% 100%, #ffffff57, transparent 42%), linear-gradient(145deg, var(--chip-tint,#ffffff6b), #ffffff1f);-webkit-backdrop-filter:blur(20px)saturate(185%);backdrop-filter:blur(20px)saturate(185%);box-shadow:inset 0 1px 1px #fffffffa, inset 0 -1px 1px #ffffff61, inset 1px 0 0 #fff9, inset -1px 0 0 #ffffff47, 0 8px 20px var(--chip-glow,#14213d1a);border:1px solid #ffffffc7;position:relative;overflow:hidden}.liquid-chip:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,#0000 34%,#ffffffb8 49%,#0000 64%);animation:9s ease-in-out infinite liquid-chip-sheen;position:absolute;top:-45%;bottom:-45%;left:-45%;right:-45%;transform:translate(-130%)rotate(12deg)}@supports ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.liquid-chip{-webkit-backdrop-filter:blur(20px)saturate(185%);backdrop-filter:blur(20px)saturate(185%)}}@keyframes liquid-chip-sheen{0%,70%{transform:translate(-130%)rotate(12deg)}to{transform:translate(130%)rotate(12deg)}}.plan-section__number.liquid-chip{--chip-tint:#2f6fed33;--chip-glow:#2f6fed33;color:#2456c4}.plan-side__no.liquid-chip{--chip-tint:#64748b1f;--chip-glow:#14213d14;font-size:11.5px}.plan-side__link.is-active .plan-side__no.liquid-chip{--chip-tint:#2f6fed4d;--chip-glow:#2f6fed47;color:#1d4ed8;border-color:#ffffffe6}.compare-side__item[data-kind=text] .liquid-chip{--chip-tint:#64748b29;--chip-glow:#64748b1f}.compare-side__item[data-kind=course] .liquid-chip{--chip-tint:#d9770642;--chip-glow:#d9770633}.compare-side__item[data-kind=credits] .liquid-chip{--chip-tint:#7c3aed38;--chip-glow:#7c3aed33}.compare-side__item[data-kind=standards] .liquid-chip{--chip-tint:#0d94883d;--chip-glow:#0d948833}.compare-side__item[data-kind=core] .liquid-chip{--chip-tint:#16a34a3d;--chip-glow:#16a34a33}.compare-side__link.is-active .compare-side__no.liquid-chip{--chip-tint:#2f6fed57;--chip-glow:#2f6fed4d;color:#1d4ed8;border-color:#ffffffeb}.curriculum-section-title__no.liquid-chip{--chip-tint:#2f6fed2e;--chip-glow:#2f6fed24;color:#2456c4}.semester-compare-row__no.liquid-chip{--chip-tint:#2f6fed24;--chip-glow:#2f6fed1a;color:#2f6fed}@media (prefers-reduced-motion:reduce){.liquid-chip:after{opacity:0;animation:none}}
