:root,[data-theme=coastal]{--color-bg:#f4f7fb;--color-bg-gradient-start:#f8fbff;--color-bg-gradient-end:#eef4fb;--color-accent-gradient:rgba(35,111,213,.18);--color-surface:#fff;--color-surface-muted:#fbfdff;--color-surface-soft:#f8fbff;--color-surface-tint:#f4f8ff;--color-surface-glass:hsla(0,0%,100%,.82);--color-text:#102033;--color-text-heading:#0d243f;--color-text-muted:#637389;--color-text-subtle:#54657a;--color-text-nav:#5d6f85;--color-text-faint:#7a899b;--color-primary:#0b4d89;--color-primary-bright:#2c6fb7;--color-primary-soft:#eaf3ff;--color-primary-soft-strong:#eef6ff;--color-primary-chip:#eef5ff;--color-chip-muted-bg:#f3f6fa;--color-chip-muted-text:#526276;--color-border:rgba(18,38,61,.08);--color-border-soft:rgba(18,38,61,.07);--color-border-medium:rgba(18,38,61,.12);--color-border-dashed:rgba(18,38,61,.16);--color-border-strong:rgba(11,77,137,.14);--color-border-accent:rgba(11,77,137,.16);--color-border-accent-soft:rgba(11,77,137,.08);--color-shadow:rgba(34,57,86,.08);--color-shadow-strong:rgba(11,77,137,.2);--color-shadow-success:rgba(31,122,67,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(11,77,137,.28);--color-button-shadow:rgba(11,77,137,.22);--color-button-text:#fff;--color-success-bg:#e8f8ef;--color-success-text:#1f7a43;--color-success-border:rgba(31,122,67,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff4f4;--color-error-text:#8a2f2f;--color-error-border:rgba(138,47,47,.12);--color-notice-bg:#eef6ff;--color-track:#e9eef5;--color-progress-fill:#b8d7ff;--color-drop-target-bg:rgba(234,243,255,.35);--color-drop-target-border:rgba(11,77,137,.18);--color-skeleton:rgba(226,235,246,.9);--color-skeleton-mid:#f4f8fc;--color-skeleton-soft:rgba(234,243,255,.45);--color-skeleton-surface:rgba(251,253,255,.9);--color-overlay:rgba(9,24,42,.42);--color-scrollbar:rgba(11,77,137,.42);--color-scrollbar-track:rgba(11,77,137,.08);--color-scrollbar-thumb-start:rgba(11,77,137,.45);--color-scrollbar-thumb-end:rgba(35,111,213,.58);--color-scrollbar-thumb-hover-start:rgba(11,77,137,.58);--color-scrollbar-thumb-hover-end:rgba(35,111,213,.72)}[data-theme=midnight]{--color-bg:#0f1724;--color-bg-gradient-start:#131d2e;--color-bg-gradient-end:#0c121c;--color-accent-gradient:rgba(56,120,200,.22);--color-surface:#182334;--color-surface-muted:#1a2738;--color-surface-soft:#1d2b3f;--color-surface-tint:#203148;--color-surface-glass:rgba(24,35,52,.92);--color-text:#e8eef6;--color-text-heading:#f3f7fc;--color-text-muted:#9aadc4;--color-text-subtle:#8399b3;--color-text-nav:#9aadc4;--color-text-faint:#7f95ae;--color-primary:#6eb3ff;--color-primary-bright:#8ec5ff;--color-primary-soft:rgba(110,179,255,.14);--color-primary-soft-strong:rgba(110,179,255,.18);--color-primary-chip:rgba(110,179,255,.16);--color-chip-muted-bg:rgba(232,238,246,.08);--color-chip-muted-text:#9aadc4;--color-border:rgba(232,238,246,.1);--color-border-soft:rgba(232,238,246,.08);--color-border-medium:rgba(232,238,246,.14);--color-border-dashed:rgba(232,238,246,.18);--color-border-strong:rgba(110,179,255,.24);--color-border-accent:rgba(110,179,255,.28);--color-border-accent-soft:rgba(110,179,255,.14);--color-shadow:rgba(0,0,0,.28);--color-shadow-strong:rgba(0,0,0,.4);--color-shadow-success:rgba(125,206,160,.4);--color-shadow-warning:rgba(230,197,106,.38);--color-shadow-planned:rgba(110,179,255,.4);--color-button-shadow:rgba(110,179,255,.18);--color-button-text:#0b1726;--color-success-bg:rgba(46,125,82,.18);--color-success-text:#7dcea0;--color-success-border:rgba(125,206,160,.24);--color-warning-bg:rgba(196,148,40,.18);--color-warning-text:#e6c56a;--color-warning-border:rgba(230,197,106,.24);--color-error-bg:rgba(138,47,47,.18);--color-error-text:#f0a0a0;--color-error-border:rgba(240,160,160,.22);--color-notice-bg:rgba(110,179,255,.12);--color-track:rgba(232,238,246,.1);--color-progress-fill:rgba(110,179,255,.45);--color-drop-target-bg:rgba(110,179,255,.1);--color-drop-target-border:rgba(110,179,255,.28);--color-skeleton:rgba(110,179,255,.08);--color-skeleton-mid:rgba(232,238,246,.06);--color-skeleton-soft:rgba(110,179,255,.1);--color-skeleton-surface:rgba(24,35,52,.9);--color-overlay:rgba(0,0,0,.55);--color-scrollbar:rgba(110,179,255,.45);--color-scrollbar-track:hsla(0,0%,100%,.06);--color-scrollbar-thumb-start:rgba(110,179,255,.4);--color-scrollbar-thumb-end:rgba(142,197,255,.58);--color-scrollbar-thumb-hover-start:rgba(110,179,255,.58);--color-scrollbar-thumb-hover-end:rgba(142,197,255,.75)}[data-theme=rose]{--color-bg:#faf6f6;--color-bg-gradient-start:#fff9f9;--color-bg-gradient-end:#f6ecec;--color-accent-gradient:rgba(214,120,140,.16);--color-surface:#fff;--color-surface-muted:#fffbfb;--color-surface-soft:#fff7f8;--color-surface-tint:#fceef1;--color-surface-glass:hsla(0,0%,100%,.86);--color-text:#2a2226;--color-text-heading:#3a252c;--color-text-muted:#8a7078;--color-text-subtle:#756066;--color-text-nav:#8a7078;--color-text-faint:#9a8288;--color-primary:#b04a66;--color-primary-bright:#c86a82;--color-primary-soft:#fceef1;--color-primary-soft-strong:#f8e4e9;--color-primary-chip:#f8e8ec;--color-chip-muted-bg:#f3ecee;--color-chip-muted-text:#756066;--color-border:rgba(58,37,44,.08);--color-border-soft:rgba(58,37,44,.07);--color-border-medium:rgba(58,37,44,.12);--color-border-dashed:rgba(58,37,44,.16);--color-border-strong:rgba(176,74,102,.16);--color-border-accent:rgba(176,74,102,.2);--color-border-accent-soft:rgba(176,74,102,.1);--color-shadow:rgba(90,50,60,.08);--color-shadow-strong:rgba(176,74,102,.18);--color-shadow-success:rgba(45,122,74,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(176,74,102,.3);--color-button-shadow:rgba(176,74,102,.2);--color-button-text:#fff;--color-success-bg:#edf8f0;--color-success-text:#2d7a4a;--color-success-border:rgba(45,122,74,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff2f2;--color-error-text:#9a3a3a;--color-error-border:rgba(154,58,58,.14);--color-notice-bg:#fceef1;--color-track:#efe6e8;--color-progress-fill:#e8b4c2;--color-drop-target-bg:rgba(252,238,241,.55);--color-drop-target-border:rgba(176,74,102,.2);--color-skeleton:rgba(232,210,216,.7);--color-skeleton-mid:#fcf8f9;--color-skeleton-soft:rgba(252,238,241,.55);--color-skeleton-surface:rgba(255,251,251,.92);--color-overlay:rgba(42,24,30,.4);--color-scrollbar:rgba(176,74,102,.4);--color-scrollbar-track:rgba(176,74,102,.08);--color-scrollbar-thumb-start:rgba(176,74,102,.42);--color-scrollbar-thumb-end:rgba(200,106,130,.58);--color-scrollbar-thumb-hover-start:rgba(176,74,102,.58);--color-scrollbar-thumb-hover-end:rgba(200,106,130,.72)}[data-theme=sage]{--color-bg:#f4f7f4;--color-bg-gradient-start:#f8fbf8;--color-bg-gradient-end:#ebf1eb;--color-accent-gradient:rgba(88,130,98,.16);--color-surface:#fff;--color-surface-muted:#fbfdfb;--color-surface-soft:#f5faf6;--color-surface-tint:#eef5ef;--color-surface-glass:hsla(0,0%,100%,.84);--color-text:#1f2a22;--color-text-heading:#243528;--color-text-muted:#66786a;--color-text-subtle:#566658;--color-text-nav:#66786a;--color-text-faint:#7a8b7d;--color-primary:#3d7350;--color-primary-bright:#4f8f64;--color-primary-soft:#e8f2ea;--color-primary-soft-strong:#dcece0;--color-primary-chip:#e4efe7;--color-chip-muted-bg:#ebf0eb;--color-chip-muted-text:#566658;--color-border:rgba(36,53,40,.08);--color-border-soft:rgba(36,53,40,.07);--color-border-medium:rgba(36,53,40,.12);--color-border-dashed:rgba(36,53,40,.16);--color-border-strong:rgba(61,115,80,.16);--color-border-accent:rgba(61,115,80,.2);--color-border-accent-soft:rgba(61,115,80,.1);--color-shadow:rgba(40,70,48,.08);--color-shadow-strong:rgba(61,115,80,.18);--color-shadow-success:rgba(45,106,66,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(61,115,80,.3);--color-button-shadow:rgba(61,115,80,.2);--color-button-text:#fff;--color-success-bg:#e8f2ea;--color-success-text:#2d6a42;--color-success-border:rgba(45,106,66,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff4f4;--color-error-text:#8a3a3a;--color-error-border:rgba(138,58,58,.14);--color-notice-bg:#e8f2ea;--color-track:#e4ebe5;--color-progress-fill:#a8cfb4;--color-drop-target-bg:rgba(232,242,234,.55);--color-drop-target-border:rgba(61,115,80,.2);--color-skeleton:rgba(210,226,214,.7);--color-skeleton-mid:#f8fbf8;--color-skeleton-soft:rgba(232,242,234,.55);--color-skeleton-surface:rgba(251,253,251,.92);--color-overlay:rgba(24,36,28,.4);--color-scrollbar:rgba(61,115,80,.4);--color-scrollbar-track:rgba(61,115,80,.08);--color-scrollbar-thumb-start:rgba(61,115,80,.42);--color-scrollbar-thumb-end:rgba(79,143,100,.58);--color-scrollbar-thumb-hover-start:rgba(61,115,80,.58);--color-scrollbar-thumb-hover-end:rgba(79,143,100,.72)}[data-theme=sand]{--color-bg:#f8f5ef;--color-bg-gradient-start:#fcfaf6;--color-bg-gradient-end:#f1ebe1;--color-accent-gradient:rgba(180,140,90,.16);--color-surface:#fff;--color-surface-muted:#fffdf9;--color-surface-soft:#faf6ef;--color-surface-tint:#f6efe4;--color-surface-glass:hsla(0,0%,100%,.86);--color-text:#2c261e;--color-text-heading:#3a2f22;--color-text-muted:#877a68;--color-text-subtle:#736758;--color-text-nav:#877a68;--color-text-faint:#978a78;--color-primary:#9a6b32;--color-primary-bright:#b88444;--color-primary-soft:#f6efe4;--color-primary-soft-strong:#efe4d4;--color-primary-chip:#f2e8da;--color-chip-muted-bg:#f0ebe3;--color-chip-muted-text:#736758;--color-border:rgba(58,47,34,.08);--color-border-soft:rgba(58,47,34,.07);--color-border-medium:rgba(58,47,34,.12);--color-border-dashed:rgba(58,47,34,.16);--color-border-strong:rgba(154,107,50,.16);--color-border-accent:rgba(154,107,50,.2);--color-border-accent-soft:rgba(154,107,50,.1);--color-shadow:rgba(80,60,30,.08);--color-shadow-strong:rgba(154,107,50,.18);--color-shadow-success:rgba(58,112,68,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(154,107,50,.3);--color-button-shadow:rgba(154,107,50,.2);--color-button-text:#fff;--color-success-bg:#edf6ee;--color-success-text:#3a7044;--color-success-border:rgba(58,112,68,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff4f2;--color-error-text:#8a4038;--color-error-border:rgba(138,64,56,.14);--color-notice-bg:#f6efe4;--color-track:#ebe4d8;--color-progress-fill:#d4b48a;--color-drop-target-bg:hsla(37,50%,93%,.55);--color-drop-target-border:rgba(154,107,50,.2);--color-skeleton:rgba(226,214,196,.7);--color-skeleton-mid:#fcfaf6;--color-skeleton-soft:hsla(37,50%,93%,.55);--color-skeleton-surface:rgba(255,253,249,.92);--color-overlay:rgba(40,32,22,.4);--color-scrollbar:rgba(154,107,50,.4);--color-scrollbar-track:rgba(154,107,50,.08);--color-scrollbar-thumb-start:rgba(154,107,50,.42);--color-scrollbar-thumb-end:rgba(184,132,68,.58);--color-scrollbar-thumb-hover-start:rgba(154,107,50,.58);--color-scrollbar-thumb-hover-end:rgba(184,132,68,.72)}[data-theme=lavender]{--color-bg:#f6f4fa;--color-bg-gradient-start:#faf8fd;--color-bg-gradient-end:#eeeaf6;--color-accent-gradient:rgba(130,100,190,.16);--color-surface:#fff;--color-surface-muted:#fcfbff;--color-surface-soft:#f7f4fc;--color-surface-tint:#f0ebfa;--color-surface-glass:hsla(0,0%,100%,.84);--color-text:#262033;--color-text-heading:#2e2440;--color-text-muted:#7a708a;--color-text-subtle:#665e78;--color-text-nav:#7a708a;--color-text-faint:#8a8098;--color-primary:#6b52a8;--color-primary-bright:#8268c0;--color-primary-soft:#f0ebfa;--color-primary-soft-strong:#e6dff5;--color-primary-chip:#ebe5f6;--color-chip-muted-bg:#eeeaf4;--color-chip-muted-text:#665e78;--color-border:rgba(46,36,64,.08);--color-border-soft:rgba(46,36,64,.07);--color-border-medium:rgba(46,36,64,.12);--color-border-dashed:rgba(46,36,64,.16);--color-border-strong:rgba(107,82,168,.16);--color-border-accent:rgba(107,82,168,.2);--color-border-accent-soft:rgba(107,82,168,.1);--color-shadow:rgba(60,40,90,.08);--color-shadow-strong:rgba(107,82,168,.18);--color-shadow-success:rgba(45,122,74,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(107,82,168,.3);--color-button-shadow:rgba(107,82,168,.2);--color-button-text:#fff;--color-success-bg:#edf8f0;--color-success-text:#2d7a4a;--color-success-border:rgba(45,122,74,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff2f4;--color-error-text:#8a3a48;--color-error-border:rgba(138,58,72,.14);--color-notice-bg:#f0ebfa;--color-track:#e8e4f0;--color-progress-fill:#c4b4e4;--color-drop-target-bg:rgba(240,235,250,.55);--color-drop-target-border:rgba(107,82,168,.2);--color-skeleton:rgba(214,206,230,.7);--color-skeleton-mid:#faf8fd;--color-skeleton-soft:rgba(240,235,250,.55);--color-skeleton-surface:rgba(252,251,255,.92);--color-overlay:rgba(30,24,42,.4);--color-scrollbar:rgba(107,82,168,.4);--color-scrollbar-track:rgba(107,82,168,.08);--color-scrollbar-thumb-start:rgba(107,82,168,.42);--color-scrollbar-thumb-end:rgba(130,104,192,.58);--color-scrollbar-thumb-hover-start:rgba(107,82,168,.58);--color-scrollbar-thumb-hover-end:rgba(130,104,192,.72)}[data-theme=neon]{--color-bg:#070a12;--color-bg-gradient-start:#0c1220;--color-bg-gradient-end:#05070e;--color-accent-gradient:rgba(0,245,212,.22);--color-surface:#101827;--color-surface-muted:#121c2e;--color-surface-soft:#152238;--color-surface-tint:#182943;--color-surface-glass:rgba(16,24,39,.9);--color-text:#e6fbff;--color-text-heading:#f2feff;--color-text-muted:#8eb4c4;--color-text-subtle:#7aa0b2;--color-text-nav:#8eb4c4;--color-text-faint:#6d8fa3;--color-primary:#00f5d4;--color-primary-bright:#5cffea;--color-primary-soft:rgba(0,245,212,.12);--color-primary-soft-strong:rgba(0,245,212,.18);--color-primary-chip:rgba(0,245,212,.16);--color-chip-muted-bg:rgba(230,251,255,.06);--color-chip-muted-text:#8eb4c4;--color-border:rgba(0,245,212,.14);--color-border-soft:rgba(230,251,255,.08);--color-border-medium:rgba(0,245,212,.2);--color-border-dashed:rgba(0,245,212,.28);--color-border-strong:rgba(0,245,212,.32);--color-border-accent:rgba(0,245,212,.36);--color-border-accent-soft:rgba(0,245,212,.16);--color-shadow:rgba(0,0,0,.45);--color-shadow-strong:rgba(0,245,212,.22);--color-shadow-success:rgba(180,255,90,.42);--color-shadow-warning:rgba(255,184,48,.4);--color-shadow-planned:rgba(0,245,212,.45);--color-button-shadow:rgba(0,245,212,.28);--color-button-text:#041018;--color-success-bg:rgba(120,220,40,.16);--color-success-text:#b4ff5a;--color-success-border:rgba(180,255,90,.32);--color-warning-bg:rgba(255,170,0,.16);--color-warning-text:#ffb830;--color-warning-border:rgba(255,184,48,.34);--color-error-bg:rgba(255,64,129,.14);--color-error-text:#ff6b9d;--color-error-border:rgba(255,107,157,.3);--color-notice-bg:rgba(0,245,212,.1);--color-track:rgba(230,251,255,.08);--color-progress-fill:rgba(255,46,196,.45);--color-drop-target-bg:rgba(0,245,212,.1);--color-drop-target-border:rgba(0,245,212,.36);--color-skeleton:rgba(0,245,212,.08);--color-skeleton-mid:rgba(230,251,255,.05);--color-skeleton-soft:rgba(0,245,212,.1);--color-skeleton-surface:rgba(16,24,39,.92);--color-overlay:rgba(0,0,0,.62);--color-scrollbar:rgba(0,245,212,.5);--color-scrollbar-track:hsla(0,0%,100%,.05);--color-scrollbar-thumb-start:rgba(0,245,212,.42);--color-scrollbar-thumb-end:rgba(255,46,196,.55);--color-scrollbar-thumb-hover-start:rgba(0,245,212,.62);--color-scrollbar-thumb-hover-end:rgba(255,46,196,.72)}[data-theme=synthwave]{--color-bg:#12071c;--color-bg-gradient-start:#1a0b2e;--color-bg-gradient-end:#0c0414;--color-accent-gradient:rgba(255,46,196,.24);--color-surface:#1d1030;--color-surface-muted:#221438;--color-surface-soft:#281848;--color-surface-tint:#2f1b54;--color-surface-glass:rgba(29,16,48,.9);--color-text:#fce8ff;--color-text-heading:#fff2ff;--color-text-muted:#c49ed8;--color-text-subtle:#b089c8;--color-text-nav:#c49ed8;--color-text-faint:#9a74b4;--color-primary:#ff2ec4;--color-primary-bright:#ff6ad8;--color-primary-soft:rgba(255,46,196,.14);--color-primary-soft-strong:rgba(255,46,196,.2);--color-primary-chip:rgba(255,46,196,.18);--color-chip-muted-bg:rgba(252,232,255,.07);--color-chip-muted-text:#c49ed8;--color-border:rgba(255,46,196,.16);--color-border-soft:rgba(252,232,255,.08);--color-border-medium:rgba(255,46,196,.22);--color-border-dashed:rgba(255,46,196,.3);--color-border-strong:rgba(255,46,196,.34);--color-border-accent:rgba(255,46,196,.38);--color-border-accent-soft:rgba(255,46,196,.16);--color-shadow:rgba(0,0,0,.45);--color-shadow-strong:rgba(255,46,196,.24);--color-shadow-success:rgba(57,255,200,.4);--color-shadow-warning:rgba(255,200,87,.4);--color-shadow-planned:rgba(123,97,255,.45);--color-button-shadow:rgba(255,46,196,.3);--color-button-text:#1a0520;--color-success-bg:rgba(20,180,150,.18);--color-success-text:#39ffc8;--color-success-border:rgba(57,255,200,.3);--color-warning-bg:rgba(255,170,40,.16);--color-warning-text:#ffc857;--color-warning-border:rgba(255,200,87,.32);--color-error-bg:rgba(255,80,100,.16);--color-error-text:#ff7a8a;--color-error-border:rgba(255,122,138,.3);--color-notice-bg:rgba(123,97,255,.14);--color-track:rgba(252,232,255,.08);--color-progress-fill:rgba(123,97,255,.5);--color-drop-target-bg:rgba(255,46,196,.1);--color-drop-target-border:rgba(255,46,196,.38);--color-skeleton:rgba(255,46,196,.08);--color-skeleton-mid:rgba(252,232,255,.05);--color-skeleton-soft:rgba(123,97,255,.12);--color-skeleton-surface:rgba(29,16,48,.92);--color-overlay:rgba(0,0,0,.62);--color-scrollbar:rgba(255,46,196,.5);--color-scrollbar-track:hsla(0,0%,100%,.05);--color-scrollbar-thumb-start:rgba(255,46,196,.45);--color-scrollbar-thumb-end:rgba(123,97,255,.6);--color-scrollbar-thumb-hover-start:rgba(255,46,196,.62);--color-scrollbar-thumb-hover-end:rgba(123,97,255,.75)}[data-theme=aurora]{--color-bg:#05140f;--color-bg-gradient-start:#0a2218;--color-bg-gradient-end:#030e0a;--color-accent-gradient:rgba(64,255,170,.2);--color-surface:#0d221a;--color-surface-muted:#102820;--color-surface-soft:#143028;--color-surface-tint:#183830;--color-surface-glass:rgba(13,34,26,.9);--color-text:#e6fff4;--color-text-heading:#f2fff9;--color-text-muted:#8fbfaa;--color-text-subtle:#7aab96;--color-text-nav:#8fbfaa;--color-text-faint:#6a9784;--color-primary:#40ffaa;--color-primary-bright:#7dffc4;--color-primary-soft:rgba(64,255,170,.12);--color-primary-soft-strong:rgba(64,255,170,.18);--color-primary-chip:rgba(64,255,170,.16);--color-chip-muted-bg:rgba(230,255,244,.06);--color-chip-muted-text:#8fbfaa;--color-border:rgba(64,255,170,.14);--color-border-soft:rgba(230,255,244,.08);--color-border-medium:rgba(64,255,170,.2);--color-border-dashed:rgba(64,255,170,.28);--color-border-strong:rgba(64,255,170,.32);--color-border-accent:rgba(64,255,170,.36);--color-border-accent-soft:rgba(64,255,170,.16);--color-shadow:rgba(0,0,0,.42);--color-shadow-strong:rgba(64,255,170,.22);--color-shadow-success:rgba(160,255,80,.4);--color-shadow-warning:rgba(255,214,90,.38);--color-shadow-planned:rgba(72,200,255,.42);--color-button-shadow:rgba(64,255,170,.28);--color-button-text:#03140e;--color-success-bg:rgba(100,200,40,.16);--color-success-text:#a0ff50;--color-success-border:rgba(160,255,80,.3);--color-warning-bg:rgba(230,180,20,.16);--color-warning-text:#ffd65a;--color-warning-border:rgba(255,214,90,.32);--color-error-bg:rgba(255,90,110,.14);--color-error-text:#ff8a9a;--color-error-border:rgba(255,138,154,.28);--color-notice-bg:rgba(72,200,255,.12);--color-track:rgba(230,255,244,.08);--color-progress-fill:rgba(72,200,255,.45);--color-drop-target-bg:rgba(64,255,170,.1);--color-drop-target-border:rgba(64,255,170,.36);--color-skeleton:rgba(64,255,170,.08);--color-skeleton-mid:rgba(230,255,244,.05);--color-skeleton-soft:rgba(72,200,255,.1);--color-skeleton-surface:rgba(13,34,26,.92);--color-overlay:rgba(0,0,0,.6);--color-scrollbar:rgba(64,255,170,.48);--color-scrollbar-track:hsla(0,0%,100%,.05);--color-scrollbar-thumb-start:rgba(64,255,170,.42);--color-scrollbar-thumb-end:rgba(72,200,255,.58);--color-scrollbar-thumb-hover-start:rgba(64,255,170,.6);--color-scrollbar-thumb-hover-end:rgba(72,200,255,.72)}[data-theme=ember]{--color-bg:#120806;--color-bg-gradient-start:#1c0e0a;--color-bg-gradient-end:#0a0504;--color-accent-gradient:rgba(255,106,0,.22);--color-surface:#221210;--color-surface-muted:#281614;--color-surface-soft:#301c18;--color-surface-tint:#3a221c;--color-surface-glass:rgba(34,18,16,.9);--color-text:#fff0e8;--color-text-heading:#fff7f2;--color-text-muted:#c9a090;--color-text-subtle:#b48c7c;--color-text-nav:#c9a090;--color-text-faint:#9e7868;--color-primary:#ff6a00;--color-primary-bright:#ff9340;--color-primary-soft:rgba(255,106,0,.14);--color-primary-soft-strong:rgba(255,106,0,.2);--color-primary-chip:rgba(255,106,0,.18);--color-chip-muted-bg:rgba(255,240,232,.07);--color-chip-muted-text:#c9a090;--color-border:rgba(255,106,0,.16);--color-border-soft:rgba(255,240,232,.08);--color-border-medium:rgba(255,106,0,.22);--color-border-dashed:rgba(255,106,0,.3);--color-border-strong:rgba(255,106,0,.34);--color-border-accent:rgba(255,106,0,.38);--color-border-accent-soft:rgba(255,106,0,.16);--color-shadow:rgba(0,0,0,.45);--color-shadow-strong:rgba(255,106,0,.24);--color-shadow-success:rgba(120,230,120,.38);--color-shadow-warning:rgba(255,210,70,.4);--color-shadow-planned:rgba(255,106,0,.45);--color-button-shadow:rgba(255,106,0,.3);--color-button-text:#1a0804;--color-success-bg:rgba(40,160,80,.18);--color-success-text:#78e678;--color-success-border:rgba(120,230,120,.3);--color-warning-bg:rgba(230,170,20,.16);--color-warning-text:#ffd246;--color-warning-border:rgba(255,210,70,.34);--color-error-bg:rgba(255,70,90,.16);--color-error-text:#ff7a88;--color-error-border:rgba(255,122,136,.3);--color-notice-bg:rgba(255,106,0,.12);--color-track:rgba(255,240,232,.08);--color-progress-fill:rgba(255,180,60,.48);--color-drop-target-bg:rgba(255,106,0,.1);--color-drop-target-border:rgba(255,106,0,.38);--color-skeleton:rgba(255,106,0,.08);--color-skeleton-mid:rgba(255,240,232,.05);--color-skeleton-soft:rgba(255,180,60,.1);--color-skeleton-surface:rgba(34,18,16,.92);--color-overlay:rgba(0,0,0,.62);--color-scrollbar:rgba(255,106,0,.5);--color-scrollbar-track:hsla(0,0%,100%,.05);--color-scrollbar-thumb-start:rgba(255,106,0,.45);--color-scrollbar-thumb-end:rgba(255,180,60,.6);--color-scrollbar-thumb-hover-start:rgba(255,106,0,.62);--color-scrollbar-thumb-hover-end:rgba(255,180,60,.75)}[data-theme=void]{--color-bg:#08060f;--color-bg-gradient-start:#120e22;--color-bg-gradient-end:#05040a;--color-accent-gradient:rgba(168,85,255,.24);--color-surface:#14101f;--color-surface-muted:#191427;--color-surface-soft:#1f1832;--color-surface-tint:#261e3c;--color-surface-glass:rgba(20,16,31,.92);--color-text:#f0eaff;--color-text-heading:#f8f4ff;--color-text-muted:#b0a0d0;--color-text-subtle:#9a88c0;--color-text-nav:#b0a0d0;--color-text-faint:#8674ae;--color-primary:#c084fc;--color-primary-bright:#d8b4fe;--color-primary-soft:rgba(192,132,252,.14);--color-primary-soft-strong:rgba(192,132,252,.2);--color-primary-chip:rgba(192,132,252,.18);--color-chip-muted-bg:rgba(240,234,255,.07);--color-chip-muted-text:#b0a0d0;--color-border:rgba(192,132,252,.16);--color-border-soft:rgba(240,234,255,.08);--color-border-medium:rgba(192,132,252,.22);--color-border-dashed:rgba(192,132,252,.3);--color-border-strong:rgba(192,132,252,.34);--color-border-accent:rgba(192,132,252,.38);--color-border-accent-soft:rgba(192,132,252,.16);--color-shadow:rgba(0,0,0,.48);--color-shadow-strong:rgba(168,85,255,.28);--color-shadow-success:rgba(52,211,153,.4);--color-shadow-warning:rgba(251,191,36,.4);--color-shadow-planned:rgba(192,132,252,.45);--color-button-shadow:rgba(192,132,252,.28);--color-button-text:#120818;--color-success-bg:rgba(16,160,110,.18);--color-success-text:#34d399;--color-success-border:rgba(52,211,153,.3);--color-warning-bg:rgba(220,150,20,.16);--color-warning-text:#fbbf24;--color-warning-border:rgba(251,191,36,.32);--color-error-bg:rgba(244,63,94,.16);--color-error-text:#fb7185;--color-error-border:rgba(251,113,133,.3);--color-notice-bg:rgba(168,85,255,.14);--color-track:rgba(240,234,255,.08);--color-progress-fill:rgba(56,189,248,.45);--color-drop-target-bg:rgba(192,132,252,.1);--color-drop-target-border:rgba(192,132,252,.38);--color-skeleton:rgba(192,132,252,.08);--color-skeleton-mid:rgba(240,234,255,.05);--color-skeleton-soft:rgba(56,189,248,.1);--color-skeleton-surface:rgba(20,16,31,.92);--color-overlay:rgba(0,0,0,.64);--color-scrollbar:rgba(192,132,252,.5);--color-scrollbar-track:hsla(0,0%,100%,.05);--color-scrollbar-thumb-start:rgba(192,132,252,.45);--color-scrollbar-thumb-end:rgba(56,189,248,.58);--color-scrollbar-thumb-hover-start:rgba(192,132,252,.62);--color-scrollbar-thumb-hover-end:rgba(56,189,248,.72)}:root{color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html:not([data-theme]){visibility:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--color-text);background:radial-gradient(circle at top left,var(--color-accent-gradient),transparent 28rem),linear-gradient(180deg,var(--color-bg-gradient-start) 0,var(--color-bg-gradient-end) 100%);color-scheme:light}html[data-theme=aurora],html[data-theme=ember],html[data-theme=midnight],html[data-theme=neon],html[data-theme=synthwave],html[data-theme=void]{color-scheme:dark}html{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-scrollbar-track)}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}html::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--color-scrollbar-thumb-start),var(--color-scrollbar-thumb-end));background-clip:padding-box}.themed-scroll{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-scrollbar-track)}.themed-scroll::-webkit-scrollbar{width:10px;height:10px}.themed-scroll::-webkit-scrollbar-track{border-radius:999px;background:var(--color-scrollbar-track)}.themed-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--color-scrollbar-thumb-start),var(--color-scrollbar-thumb-end));background-clip:padding-box}.themed-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-scrollbar-thumb-hover-start),var(--color-scrollbar-thumb-hover-end));background-clip:padding-box}.themed-scroll-horizontal{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-frame{min-height:100vh}.app-chrome{width:min(1380px,calc(100% - 32px));margin:0 auto;padding:18px 0 0}.page-enter-active,.page-leave-active{transition:opacity .22s ease,transform .22s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.page-shell{width:min(1120px,calc(100% - 32px))}.page-shell,.planner-shell{margin:0 auto;padding:8px 0 56px}.planner-shell{width:min(1380px,calc(100% - 32px))}.app-header{position:sticky;top:14px;z-index:40;display:flex;justify-content:center;margin-bottom:8px}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.nav.nav-pill{width:min(420px,100%);padding:8px 10px 8px 18px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-glass);box-shadow:0 10px 30px var(--color-shadow),inset 0 1px #ffffff59;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15)}.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-size:1.05rem;font-weight:800;letter-spacing:-.02em;text-decoration:none}.brand-mark{position:relative;display:grid;place-items:center;width:1.85rem;height:1.85rem;flex-shrink:0;border-radius:50%;background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-border-accent-soft)}.brand-mark:after{content:"";width:68%;height:68%;background-color:var(--color-primary);-webkit-mask-image:url(../brand/logo-mark.png);mask-image:url(../brand/logo-mark.png);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nav-actions{display:flex;align-items:center;gap:6px}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;color:var(--color-text-muted);font-size:.88rem;font-weight:700;text-decoration:none;transition:background .14s ease,color .14s ease}.nav-link:hover,.nav-link[aria-current=page]{background:var(--color-primary-soft);color:var(--color-primary)}.nav-login{border-radius:999px;padding-inline:16px}.user-email{color:var(--color-text-nav);font-size:.9rem}.hero{padding:96px 0 48px}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:end;min-height:64vh;padding:72px 0 42px}.landing-hero h1{max-width:820px;font-size:clamp(3rem,7vw,6rem)}.landing-preview-card{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:32px;padding:28px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.landing-preview-card strong{color:var(--color-primary);font-size:5rem;line-height:.9;letter-spacing:-.09em}.landing-preview-card span{color:var(--color-text-muted);line-height:1.55}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.planner-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:end;padding:48px 0 28px}.planner-hero h1{max-width:760px;font-size:clamp(2.4rem,5vw,4.6rem)}.hero-summary-card{border:1px solid var(--color-border);border-radius:28px;padding:24px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.hero-summary-card span{color:var(--color-text-muted);font-weight:800}.hero-summary-card strong{display:block;margin:8px 0;color:var(--color-primary);font-size:4rem;letter-spacing:-.07em}.hero-summary-card p{margin-bottom:0;color:var(--color-text-subtle);line-height:1.5}.card-label,.eyebrow{margin:0 0 10px;color:var(--color-primary-bright);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:860px;margin-bottom:22px;color:var(--color-text-heading);font-size:clamp(2.6rem,7vw,5.8rem);line-height:.95;letter-spacing:-.075em}h2{margin-bottom:0;color:var(--color-text);font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.04em}h3{margin-bottom:8px;color:var(--color-text-heading)}.hero-copy,h3{font-size:1.05rem}.hero-copy{max-width:680px;color:var(--color-text-subtle);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:999px;padding:0 18px;background:var(--color-primary);color:var(--color-button-text);cursor:pointer;font-weight:800;box-shadow:0 12px 28px var(--color-button-shadow)}.button:disabled{cursor:wait;opacity:.65}.button-secondary{border:1px solid var(--color-border-strong);background:var(--color-surface-glass);color:var(--color-primary);box-shadow:none}.full{width:100%}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.planner-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.planner-sidebar{position:sticky;top:20px;display:grid;gap:24px;border:1px solid var(--color-border);border-radius:28px;padding:22px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.sidebar-tabs{display:grid;gap:10px}.sidebar-tab{display:grid;gap:4px;border:1px solid transparent;border-radius:18px;padding:14px;background:transparent;color:var(--color-text-subtle);cursor:pointer;text-align:left}.sidebar-tab span{color:var(--color-text-heading);font-weight:900}.sidebar-tab small{color:var(--color-text-faint);line-height:1.35}.sidebar-tab.active{border-color:var(--color-border-strong);background:var(--color-primary-soft)}.planner-content,.planner-section{min-width:0;overflow-anchor:none}.planner-section{display:grid;gap:20px}.overview-stack,.progress-grid{display:grid;gap:16px}.progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px;align-items:start}.overview-panel{display:grid;gap:12px;padding:16px;box-shadow:none}.overview-panel .section-heading{display:grid;gap:4px;margin-bottom:0}.overview-panel .section-heading h2{font-size:1.15rem;letter-spacing:-.03em}.overview-panel-note{max-width:none;margin:0;font-size:.82rem;line-height:1.4}.overview-empty-copy{margin:0;color:var(--color-text-faint);line-height:1.5;font-size:.88rem}.attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plan-term-list{display:grid;gap:8px;align-content:start;max-height:17.5rem;overflow-y:auto;scrollbar-width:none}.plan-term-list::-webkit-scrollbar{width:0;height:0}.attention-card{display:grid;gap:8px;width:100%;border:1px solid var(--color-border-soft);border-radius:14px;padding:10px 12px;background:var(--color-surface-muted);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.attention-card:hover{border-color:var(--color-border);background:var(--color-surface)}.attention-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.attention-card-head strong{display:block;margin-bottom:2px;color:var(--color-text-heading);font-size:.92rem;line-height:1.25}.attention-card-head span{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.attention-card .status-pill{padding:4px 8px;font-size:.68rem}.attention-progress{display:grid;gap:4px}.overview-suggestions-panel{margin-top:0}.overview-profile-link{margin-left:.35em;color:var(--color-accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.suggestion-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.suggestion-course-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--color-border-soft);border-radius:12px;padding:8px 10px;background:var(--color-surface-muted);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.suggestion-course-row:hover{border-color:var(--color-border);background:var(--color-surface)}.suggestion-course-main{display:grid;gap:1px;min-width:0}.suggestion-course-main strong{color:var(--color-text-heading);font-size:.86rem;line-height:1.2}.suggestion-course-main span{color:var(--color-text-muted);font-size:.74rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-course-meta{flex-shrink:0;max-width:42%;color:var(--color-text-faint);font-size:.68rem;line-height:1.3;text-align:right}.attention-progress-label{color:var(--color-text-faint);font-size:.72rem;font-weight:700}.attention-progress .progress-bar.compact{height:6px;margin:0}.overview-charts{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.overview-chart-panel{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:20px;padding:16px;background:var(--color-surface-glass);box-shadow:0 16px 42px var(--color-shadow)}.overview-chart-panel .section-heading{display:grid;gap:4px;margin-bottom:0}.overview-chart-panel .section-heading h2{font-size:1.15rem;letter-spacing:-.03em}.overview-chart-panel .eyebrow{margin-bottom:4px}.overview-chart-body{display:grid;gap:12px;min-height:0}.donut-chart-body{grid-template-columns:minmax(0,1.1fr) minmax(120px,.9fr);align-items:center}.overview-chart-surface{width:100%;min-height:170px;--vis-font-family:inherit;--vis-donut-central-label-font-size:1.35rem;--vis-donut-central-label-font-weight:800;--vis-donut-central-label-text-color:var(--color-text-heading);--vis-axis-tick-label-color:var(--color-text-muted);--vis-axis-tick-color:var(--color-border);--vis-axis-grid-color:var(--color-border-soft);--vis-tooltip-background-color:var(--color-surface);--vis-tooltip-text-color:var(--color-text);--vis-tooltip-border-color:var(--color-border)}.overview-chart-fallback{min-height:170px;border-radius:18px;background:linear-gradient(120deg,var(--color-skeleton-soft),var(--color-skeleton-mid),var(--color-skeleton-soft))}.overview-chart-legend{display:grid;gap:8px;margin:0;padding:0;list-style:none}.overview-chart-legend li{display:grid;grid-template-columns:10px auto 1fr;gap:8px;align-items:baseline}.overview-chart-legend strong{color:var(--color-text-heading);font-size:1.05rem;letter-spacing:-.04em}.overview-chart-legend span:last-child{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.legend-swatch{width:8px;height:8px;border-radius:999px;margin-top:5px}.legend-swatch.complete{background:var(--color-success-text)}.legend-swatch.in-progress{background:var(--color-warning-text)}.legend-swatch.planned{background:var(--color-primary)}.term-unit-meters{display:grid;gap:8px;max-height:9.75rem;overflow-y:auto;scrollbar-width:none}.term-unit-meters::-webkit-scrollbar{width:0;height:0}.term-unit-row{display:grid;gap:4px}.term-unit-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.term-unit-meta strong{color:var(--color-text-heading);font-size:.84rem;font-weight:800}.term-unit-meta span{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.term-unit-track{height:8px;overflow:hidden;border-radius:999px;background:var(--color-track)}.term-unit-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-bright));min-width:4px;transition:width .2s ease}.workload-chart-body{min-height:0}.plan-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-stat-card{display:grid;gap:4px;border:1px solid var(--color-border-accent-soft);border-radius:16px;padding:14px;background:var(--color-surface-tint)}.plan-stat-wide{grid-column:1/-1}.plan-stat-card strong{color:var(--color-primary);font-size:1.75rem;letter-spacing:-.05em;line-height:1}.plan-stat-card span{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.plan-term-group{display:grid;gap:8px}.plan-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plan-term-head h3{margin:0;color:var(--color-primary);font-size:.88rem}.plan-term-head span{color:var(--color-text-faint);font-size:.72rem;font-weight:800}.plan-course-list{display:grid;gap:6px}.plan-course-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:1px solid var(--color-border-soft);border-radius:12px;padding:8px 10px;background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.plan-course-row:hover{border-color:var(--color-drop-target-border);background:var(--color-surface-soft)}.plan-course-main{min-width:0}.plan-course-main strong{display:block;margin-bottom:2px;color:var(--color-primary);font-size:.9rem}.plan-course-main span{display:block;color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.plan-course-meta{display:grid;justify-items:end;gap:4px;flex:none}.plan-course-meta .status-pill{padding:4px 8px;font-size:.68rem}.plan-course-meta>span:last-child{color:var(--color-text-faint);font-size:.7rem;font-weight:800}.attention-card-skeleton,.plan-course-row-skeleton,.plan-stat-card-skeleton{pointer-events:none}.plan-course-row-skeleton{display:grid;gap:8px;padding:14px;border-radius:16px;border:1px solid var(--color-border-soft);background:var(--color-surface-muted)}.progress-card{border:1px solid var(--color-border);border-radius:28px;padding:24px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.progress-card-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.progress-card strong{color:var(--color-primary);font-size:2.6rem;letter-spacing:-.07em}.progress-card p{margin-bottom:8px;color:var(--color-text-subtle);font-weight:800}.progress-card span{color:var(--color-text-muted)}.progress-bar{position:relative;height:12px;overflow:hidden;border-radius:999px;margin:16px 0;background:var(--color-track)}.progress-bar.compact{height:9px;margin:12px 0 16px}.progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit}.progress-fill.planned{background:var(--color-progress-fill)}.progress-fill.complete{background:var(--color-primary)}.auth-card,.card,.panel{border:1px solid var(--color-border);border-radius:28px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.card{padding:24px}.card strong{display:block;margin-bottom:8px;color:var(--color-text);font-size:2.25rem;letter-spacing:-.05em}.card span,.course-row span{color:var(--color-text-muted)}.panel{padding:24px}.state-banner{border:1px solid var(--color-border);border-radius:18px;margin-bottom:16px;padding:12px 16px;font-weight:800}.state-banner,.state-banner-notice,.state-banner-saving{background:var(--color-notice-bg);color:var(--color-primary)}.state-banner-notice,.state-banner-saving{border-color:var(--color-border-strong)}.state-banner-error{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-border)}.toast-notice{position:fixed;top:24px;right:24px;z-index:60;max-width:min(360px,calc(100vw - 48px));border:1px solid var(--color-success-border);border-radius:18px;padding:12px 16px;background:var(--color-success-bg);color:var(--color-success-text);font-weight:900;box-shadow:0 18px 42px var(--color-shadow)}.toast-enter-active,.toast-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-8px)}.compact-heading{align-items:start}.section-note{max-width:340px;margin:0;color:var(--color-text-muted);line-height:1.5}.mini-list,.requirement-choice-list,.stats-list{display:grid;gap:12px}.mini-row,.requirement-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--color-border-soft);border-radius:18px;padding:14px;background:var(--color-surface-muted)}.mini-row strong,.requirement-choice strong{display:block;margin-bottom:4px;color:var(--color-text-heading)}.mini-row span,.requirement-choice p{margin:0;color:var(--color-text-muted);line-height:1.45}.requirement-option-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.option-chip{border:1px solid var(--color-border-accent);border-radius:999px;padding:6px 10px;background:var(--color-primary-soft-strong);color:var(--color-primary);font-size:.82rem;font-weight:900}.option-chip.matched{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-text)}.option-chip:disabled{cursor:wait;opacity:.6}.more-chip{background:var(--color-surface);cursor:pointer}.stats-list{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-list div{border-radius:18px;padding:16px;background:var(--color-surface-muted)}.stats-list strong{display:block;color:var(--color-primary);font-size:2.2rem;letter-spacing:-.06em}.stats-list span{color:var(--color-text-muted);font-size:.9rem}.import-box,.planner-form,.schedule-controls{display:grid;gap:12px;margin-bottom:18px}.import-box textarea,.planner-form select,.schedule-controls select{width:100%;border:1px solid var(--color-border-medium);border-radius:16px;padding:12px 14px;background:var(--color-surface);color:var(--color-text);outline:none}.import-box label{color:var(--color-text-subtle);font-size:.9rem;font-weight:900}.import-box textarea{min-height:110px;resize:vertical}.text-button{border:0;background:transparent;color:var(--color-error-text);cursor:pointer;font-weight:900}.quarter-course-delete{position:relative;z-index:0;margin:-8px -6px -8px 0;padding:8px 10px;border-radius:10px;line-height:1.2;white-space:nowrap;cursor:pointer;touch-action:manipulation}.text-button:disabled{cursor:wait;opacity:.55}.requirement-grid{-moz-columns:340px 3;columns:340px 3;-moz-column-gap:12px;column-gap:12px}.requirement-card{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:12px;border:1px solid var(--color-border);border-radius:22px;padding:16px;background:var(--color-surface-glass);box-shadow:0 16px 42px var(--color-shadow)}.requirement-card-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.req-choice-list{display:grid;gap:8px}.req-choice-list-flat{gap:0}.req-choice{display:grid;gap:6px;border:1px solid var(--color-border-soft);border-radius:14px;padding:9px 11px;background:var(--color-surface-muted)}.req-choice-solo{border:none;padding:0;background:transparent;border-radius:0}.req-choice-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.req-choice-head strong{color:var(--color-text-heading);font-size:.92rem;line-height:1.3}.req-choice-units{flex:none;color:var(--color-text-muted);font-size:.8rem;font-weight:800;white-space:nowrap}.req-tags{display:flex;flex-wrap:wrap;gap:5px}.req-tag{border:1px solid var(--color-border-accent);border-radius:999px;padding:4px 9px;background:var(--color-primary-soft-strong);color:var(--color-primary);cursor:pointer;font-size:.78rem;font-weight:800;transition:transform .12s ease,box-shadow .12s ease}.req-tag:hover{box-shadow:0 4px 14px var(--color-shadow-planned);transform:translateY(-1px)}.req-tag.option{border-color:var(--color-border-medium);background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text)}.req-tag.option:hover{box-shadow:0 4px 12px var(--color-border-accent)}.req-tag.more{border-style:dashed;background:transparent;color:var(--color-primary-bright)}.req-tag.complete{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-text)}.req-tag.complete:hover{box-shadow:0 4px 14px var(--color-shadow-success)}.req-tag.in-progress{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text)}.req-tag.in-progress:hover{box-shadow:0 4px 14px var(--color-shadow-warning)}.req-tag.planned{border-color:var(--color-shadow-strong);background:var(--color-primary-soft);color:var(--color-primary)}.req-tag.planned:hover{box-shadow:0 4px 14px var(--color-shadow-planned)}.choice-marker,.status-pill{flex:none;border-radius:999px;padding:8px 12px;background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text);font-size:.78rem;font-weight:900}.choice-marker.complete,.status-pill.complete{background:var(--color-success-bg);color:var(--color-success-text)}.choice-marker.in-progress,.status-pill.in-progress{background:var(--color-warning-bg);color:var(--color-warning-text)}.choice-marker.planned,.status-pill.planned{background:var(--color-primary-soft);color:var(--color-primary)}.choice-marker.missing,.status-pill.missing{background:var(--color-chip-muted-bg);color:var(--color-text-faint)}.quarter-board{display:grid;grid-auto-columns:minmax(290px,330px);grid-auto-flow:column;gap:14px;overflow-x:auto;overflow-y:visible;padding:2px 2px 14px;scroll-behavior:auto;scroll-snap-type:x proximity;scroll-padding-inline:8px;overscroll-behavior-x:contain;overflow-anchor:none}.quarter-board.is-dragging{scroll-snap-type:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.calendar-board{grid-auto-columns:minmax(300px,340px)}.calendar-column{min-height:0}.quarter-column{display:grid;gap:12px;align-content:start;min-width:0;overflow:visible;border:1px solid var(--color-border);border-radius:26px;padding:14px;background:var(--color-surface-glass);scroll-snap-align:start}.quarter-column header span{color:var(--color-text-muted);line-height:1.45}.quarter-column-header{display:grid;gap:8px}.quarter-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px}.quarter-header-main{min-width:0}.quarter-header-main h3{margin:0;line-height:1.15}.quarter-units-count{margin:8px 0 0;color:var(--color-primary);font-size:.82rem;font-weight:900}.quarter-header-dates{display:grid;gap:4px;justify-items:end;max-width:11rem;text-align:right}.quarter-header-dates span{color:var(--color-text-faint);font-size:.72rem;font-weight:700;line-height:1.35}.quarter-header-dates span:last-child{color:var(--color-primary)}.quarter-notes{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.quarter-course-list{display:grid;gap:8px;min-height:72px;max-height:16.5rem;align-content:start;overflow-x:visible;overflow-y:auto;overflow-anchor:none;scrollbar-width:none}.quarter-course-list::-webkit-scrollbar{width:0;height:0}.quarter-course.is-draggable{cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none}.quarter-drop-target{display:grid;place-items:center;position:sticky;bottom:0;z-index:3;min-height:44px;border:1px dashed var(--color-drop-target-border);border-radius:14px;padding:10px 12px;background:var(--color-surface);box-shadow:0 -8px 16px var(--color-surface)}.quarter-drop-target span{color:var(--color-text-faint);font-size:.76rem;font-weight:800;line-height:1.35;text-align:center}.quarter-course{display:grid;gap:6px;border:1px solid var(--color-border-soft);border-radius:14px;padding:10px 12px;background:var(--color-surface-muted)}.calendar-course{gap:6px;overflow:visible}.quarter-column.is-dragging{z-index:2}.calendar-course.completed{background:var(--color-chip-muted-bg)}.calendar-course-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.calendar-course-main{min-width:0}.calendar-course-handle{cursor:grab}.drag-ghost{opacity:.15}.drag-chosen{opacity:.55}.drag-active,.drag-fallback{opacity:1!important;z-index:40;cursor:grabbing;border-radius:18px;box-shadow:0 22px 50px var(--color-shadow-strong);transform:rotate(1.5deg)}.drag-fallback{background:var(--color-surface);border:1px solid var(--color-border-strong)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line,.skeleton-pill{display:block;border-radius:999px;background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.quarter-board-skeleton{pointer-events:none}.quarter-skeleton-column{min-height:300px}.quarter-skeleton-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.quarter-skeleton-dates,.quarter-skeleton-title{display:grid;gap:8px}.quarter-skeleton-dates{justify-items:end}.skeleton-line-short{width:42px;height:10px}.skeleton-line-medium{width:72%;max-width:160px;height:18px}.skeleton-line-tiny{width:54px;height:10px}.skeleton-line-date{width:84px;height:10px}.quarter-skeleton-courses{display:grid;gap:14px}.quarter-skeleton-course{display:grid;gap:10px;border:1px solid var(--color-border-soft);border-radius:18px;padding:16px;background:var(--color-skeleton-surface)}.skeleton-line-code{width:72px;height:12px}.skeleton-line-title{width:88%;height:12px}.quarter-skeleton-meta{display:flex;gap:8px}.skeleton-pill{width:58px;height:22px}.skeleton-pill-wide{width:72px}.quarter-skeleton-drop{min-height:56px;border-radius:18px;border:1px dashed var(--color-border-accent);background:linear-gradient(90deg,var(--color-skeleton-soft) 0,var(--color-skeleton-surface) 45%,var(--color-skeleton-soft) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.planner-fade-enter-active,.planner-fade-leave-active,.quarter-fade-enter-active,.quarter-fade-leave-active{transition:opacity .22s ease}.planner-fade-enter-from,.planner-fade-leave-to,.quarter-fade-enter-from,.quarter-fade-leave-to{opacity:0}.skeleton-bar{display:block;width:100%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-line-long{width:92%;height:12px}.skeleton-line-hero-percent{width:88px;height:42px;border-radius:14px}.skeleton-tag{width:64px;height:30px;border-radius:999px;background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.hero-summary-skeleton{display:grid;gap:12px;align-content:start}.panel-skeleton,.progress-card-skeleton,.requirement-skeleton-card{pointer-events:none}.progress-card-skeleton .progress-card-header,.requirement-skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-card-skeleton{display:grid;gap:12px}.skeleton-line-percent{width:48px;height:24px;border-radius:10px}.mini-row-skeleton{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-row-skeleton>div{display:grid;gap:8px;flex:1}.requirement-skeleton-card{display:grid;gap:12px}.requirement-skeleton-tags{display:flex;flex-wrap:wrap;gap:8px}.calendar-course-meta{display:flex;flex-wrap:wrap;gap:6px}.calendar-status-chip,.calendar-units-chip{border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:900;line-height:1.2;white-space:nowrap}.calendar-status-chip{background:var(--color-primary-chip);color:var(--color-primary)}.calendar-units-chip{background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text)}.calendar-course-meta span{border-radius:999px;padding:3px 8px;background:var(--color-primary-chip);color:var(--color-text-subtle);font-size:.68rem;font-weight:900}.empty-quarter,.meeting-placeholder{margin:0;color:var(--color-text-faint);line-height:1.45}.empty-quarter{border:1px dashed var(--color-border-dashed);border-radius:18px;padding:18px;text-align:center}.quarter-course strong{display:block;margin-bottom:2px;color:var(--color-primary);font-size:.88rem;line-height:1.2}.quarter-course span{color:var(--color-text-muted);font-size:.74rem;line-height:1.3;overflow-wrap:anywhere}.calendar-course .meeting-placeholder{border-radius:10px;padding:6px 8px;background:var(--color-surface-tint);color:var(--color-text-subtle);font-size:.72rem;font-weight:800;line-height:1.3}.offering-grid,.schedule-list{display:grid;gap:14px}.offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offering-card,.schedule-card{border:1px solid var(--color-border);border-radius:22px;padding:18px;background:var(--color-surface-muted)}.offering-card-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.offering-card-header span{color:var(--color-text-muted);line-height:1.4}.meeting-list{display:grid;gap:8px;margin-top:14px}.meeting-list span{border-radius:14px;padding:10px 12px;background:var(--color-primary-chip);color:var(--color-text-subtle);font-size:.92rem;line-height:1.35}.compact-meetings{margin-top:0}.compact-meetings span{font-size:.78rem}.checkbox-row{display:flex;flex-wrap:wrap;gap:10px}.checkbox-row label,.checkbox-row span{border:1px solid var(--color-border);border-radius:999px;padding:9px 12px;background:var(--color-surface-muted);color:var(--color-text-subtle);font-weight:800}.suggestion-strip{border-radius:18px;padding:16px;background:var(--color-surface-tint)}.schedule-builder-panel{display:grid;gap:20px}.schedule-builder-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:18px;align-items:start}.field-label{display:block;margin:0 0 8px;color:var(--color-text-subtle);font-size:.84rem;font-weight:900}.course-chip-row label{cursor:pointer}.schedule-section-picker{display:grid;gap:12px}.schedule-section-group{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:18px;padding:12px;background:var(--color-surface-muted)}.schedule-section-group strong{color:var(--color-primary)}.schedule-section-option{display:flex;align-items:start;gap:10px;cursor:pointer}.schedule-section-option small,.schedule-section-option span{display:block}.schedule-section-option span{color:var(--color-text-subtle);font-weight:900}.schedule-section-option small{margin-top:5px;color:var(--color-text-muted);font-weight:700;line-height:1.45}.schedule-section-option small:last-child{color:var(--color-text-subtle);font-weight:900}.schedule-options{display:grid;gap:10px}.schedule-option{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:18px;padding:14px;background:var(--color-surface-muted);cursor:pointer}.schedule-option.active{border-color:var(--color-border-strong);background:var(--color-primary-soft-strong)}.schedule-option span,.schedule-option strong{display:block}.schedule-option .status{justify-self:start}.schedule-option span{margin-top:4px;color:var(--color-text-muted);line-height:1.4}.week-calendar{display:grid;gap:14px}.week-calendar-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.week-calendar-header h3{margin-bottom:0}.week-calendar-header span{color:var(--color-text-muted);line-height:1.4}.week-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.week-day{display:grid;align-content:start;gap:8px;min-height:220px;border:1px solid var(--color-border);border-radius:18px;padding:12px;background:var(--color-surface-soft)}.week-day h4{margin:0;color:var(--color-primary)}.week-meeting{display:grid;gap:4px;border-radius:14px;padding:10px;background:var(--color-primary-soft)}.week-meeting small,.week-meeting span,.week-meeting strong{overflow-wrap:anywhere}.week-meeting strong{color:var(--color-text)}.week-meeting span{color:var(--color-primary);font-weight:900}.week-empty,.week-meeting small{color:var(--color-text-muted);line-height:1.35}.week-empty{margin:0}.future-panel{display:grid;gap:12px}.future-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.future-flow span{border-radius:18px;padding:14px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:900;text-align:center}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.auth-form input,.search{width:min(420px,100%);border:1px solid var(--color-border-medium);border-radius:18px;padding:14px 16px;background:var(--color-surface);color:var(--color-text);outline:none}.auth-form input:focus,.search:focus{border-color:var(--color-primary-bright);box-shadow:0 0 0 4px var(--color-border-accent-soft)}.search-workspace{display:block}.course-search-shell{display:grid;gap:16px}.import-panel,.search-panel{min-width:0}.search-wide{width:min(520px,100%)}.course-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.search-results-scroll{max-height:430px;overflow-y:auto;padding:4px 4px 10px;scroll-behavior:smooth;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 30px),transparent)}.search-results-scroll::-webkit-scrollbar{width:0;height:0}.course-search-card{display:grid;align-content:space-between;gap:12px;min-height:0;border:1px solid var(--color-border-soft);border-radius:18px;padding:14px;background:var(--color-surface-muted)}.course-card-footer{display:grid;gap:14px;align-items:stretch}.course-presence.stacked-presence,.planner-presence-list{display:grid;gap:8px}.planner-presence-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.presence-term{font-size:.78rem;line-height:1.35}.presence-empty,.presence-term{color:var(--color-text-muted);font-weight:800}.presence-empty{font-size:.82rem}.course-card-footer .button{justify-self:end}.course-presence{display:flex;flex-wrap:wrap;gap:8px}.compact-presence span:not(.status-pill){color:var(--color-text-muted);font-weight:800}.small-button{min-height:38px;padding:0 14px}.course-code{margin-bottom:6px;color:var(--color-primary);font-weight:900}.course-description,.course-prerequisites{margin-bottom:8px;color:var(--color-chip-muted-text);font-size:.9rem;line-height:1.5}.course-prerequisites{color:var(--color-text-faint);font-size:.92rem}.clamp-copy{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.course-detail-list,.modal-course-facts,.requirement-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.course-detail-list span:not(.requirement-chip),.course-meta-chip,.modal-course-facts span:not(.requirement-chip){max-width:100%;border-radius:10px;padding:6px 11px;background:var(--color-primary-soft-strong);color:var(--color-text-subtle);font-size:.78rem;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.course-meta-chip.muted-chip{background:var(--color-chip-muted-bg);color:var(--color-text-muted)}.requirement-chip{border-radius:999px;padding:6px 11px;font-size:.74rem;font-weight:900;line-height:1.25;white-space:nowrap}.requirement-chip.tone-core{background:var(--color-primary-soft);color:var(--color-primary)}.requirement-chip.tone-math{background:color-mix(in srgb,var(--color-primary-soft) 70%,#d8c8ff 30%);color:color-mix(in srgb,var(--color-primary) 55%,#5b3f9d 45%)}.requirement-chip.tone-science{background:var(--color-success-bg);color:var(--color-success-text)}.requirement-chip.tone-systems{background:var(--color-warning-bg);color:var(--color-warning-text)}.requirement-chip.tone-theory{background:color-mix(in srgb,var(--color-primary-soft) 65%,#ffd0e0 35%);color:color-mix(in srgb,var(--color-primary) 50%,#9b3568 50%)}.requirement-chip.tone-applications{background:color-mix(in srgb,var(--color-primary-soft) 75%,#d8f4ff 25%);color:color-mix(in srgb,var(--color-primary) 70%,#176b8a 30%)}.requirement-chip.tone-cse{background:var(--color-primary-chip);color:var(--color-primary)}.requirement-chip.tone-default{background:var(--color-primary-soft-strong);color:var(--color-text-subtle)}.wide-note{max-width:760px}.refined-import{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.refined-import .button,.refined-import .message,.refined-import .upload-dropzone,.refined-import textarea{grid-column:1/-1}.file-input,.full-input,.modal-grid input,.modal-grid select{width:100%;border:1px solid var(--color-border-medium);border-radius:16px;padding:12px 14px;background:var(--color-surface);color:var(--color-text);outline:none}.file-input{min-height:48px}.upload-dropzone{position:relative;display:grid;place-items:center;gap:8px;min-height:170px;border:2px dashed var(--color-border-strong);border-radius:24px;padding:24px;background:radial-gradient(circle at top,var(--color-border-accent-soft),transparent 65%),var(--color-surface-soft);color:var(--color-text-subtle);cursor:pointer;text-align:center}.upload-dropzone .file-input{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip:rect(0 0 0 0)}.upload-dropzone strong{color:var(--color-primary);font-size:1.15rem}.upload-dropzone small{color:var(--color-text-muted);font-weight:800}.upload-kicker{border-radius:999px;padding:8px 12px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.error-message{color:var(--color-error-text);font-weight:800}.import-results{display:grid;gap:10px;margin-top:18px}.import-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--color-border-soft);border-radius:18px;padding:14px;background:var(--color-surface-muted)}.import-result-row small,.import-result-row span,.import-result-row strong{display:block}.import-result-row span{margin-top:2px;color:var(--color-text-subtle);font-weight:800}.import-result-row small{margin-top:6px;color:var(--color-text-faint);line-height:1.35}.transfer-review-panel{width:min(820px,100%);max-height:min(88vh,920px);overflow-y:auto}.transfer-review-section{display:grid;gap:10px;margin-bottom:20px}.transfer-review-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border:1px solid var(--color-border);border-radius:16px;padding:14px;background:var(--color-surface-soft);cursor:pointer}.transfer-review-row.already-added{opacity:.62}.transfer-review-row input{margin-top:4px}.transfer-review-row small,.transfer-review-row span,.transfer-review-row strong{display:block}.transfer-review-row span{margin-top:2px;color:var(--color-text-subtle);font-weight:700}.transfer-excluded-row small,.transfer-review-row small{margin-top:6px;color:var(--color-text-faint);line-height:1.35}.transfer-excluded-row{border:1px dashed var(--color-border-medium);border-radius:14px;padding:12px 14px;background:var(--color-surface-muted)}.transfer-excluded-row strong{display:block}.modal-root{position:relative;z-index:50}.modal-backdrop{position:fixed;inset:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-container{position:fixed;inset:0;display:grid;place-items:center;overflow-y:auto;padding:24px}.modal-container.themed-scroll{scrollbar-gutter:stable}.modal-panel{width:min(760px,100%);border:1px solid var(--color-border);border-radius:28px;padding:26px;background:var(--color-surface);box-shadow:0 34px 90px var(--color-overlay)}.modal-copy{margin-bottom:20px}.modal-course-facts{margin-bottom:18px}.modal-course-facts.tight{margin-bottom:0}.modal-detail-block{margin-top:16px}.detail-label{margin:0 0 6px;color:var(--color-primary-bright);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-text{margin:0;color:var(--color-text-subtle);line-height:1.55}.modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.modal-grid-single{grid-template-columns:1fr}.modal-add-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-border)}.modal-grid label{display:grid;gap:8px;color:var(--color-text-subtle);font-size:.88rem;font-weight:900}.field-help{border:1px dashed var(--color-border-dashed);border-radius:16px;padding:12px 14px;color:var(--color-text-faint);font-weight:800}.modal-offerings{margin-top:22px}.offering-option,.offering-option-list{display:grid;gap:10px}.offering-option{border:1px solid var(--color-border);border-radius:18px;padding:14px;background:var(--color-surface-soft);cursor:pointer;text-align:left}.offering-option.active{border-color:var(--color-border-strong);background:var(--color-primary-soft-strong)}.offering-option-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.offering-option small,.offering-option span,.offering-option strong{display:block}.offering-option span{margin-top:4px;color:var(--color-text-muted)}.offering-option small{margin-top:4px;color:var(--color-text-subtle);font-weight:800;line-height:1.35}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.modal-error{flex:1 1 100%;margin:0 0 4px}.modal-enter,.modal-leave{transition:opacity .18s ease,transform .18s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-to,.modal-leave-from{opacity:1}.modal-panel-from{opacity:0;transform:translateY(10px) scale(.98)}.modal-panel-to{opacity:1;transform:translateY(0) scale(1)}.status{margin:0;border-radius:999px;padding:8px 12px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.85rem;font-weight:900}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-brand{position:fixed;top:28px;left:32px}.auth-card{width:min(460px,100%);padding:32px}.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--color-text-faint);font-size:.9rem}.divider:after,.divider:before{content:"";flex:1;height:1px;background:var(--color-border-medium)}.auth-form{display:grid;gap:10px}.auth-form label{color:var(--color-text-subtle);font-size:.9rem;font-weight:800}.auth-form input{width:100%}.auth-toggle{justify-self:start;margin-top:4px;border:0;background:transparent;color:var(--color-primary);cursor:pointer;font-weight:900}.local-auth-note{margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--color-primary-soft-strong);color:var(--color-text-subtle);line-height:1.5}.local-auth-note strong{color:var(--color-primary)}.message{margin:16px 0 0;color:var(--color-text-subtle)}@media(max-width:760px){.hero{padding-top:54px}.assigned-course-card,.attention-list,.connected-requirements .requirement-choice,.course-card-grid,.future-flow,.grid,.landing-feature-grid,.landing-hero,.modal-grid,.offering-grid,.overview-charts,.overview-grid,.planner-hero,.planner-layout,.progress-grid,.refined-import,.requirement-grid,.schedule-builder-grid,.search-workspace,.section-heading,.stats-list,.suggestion-course-list{grid-template-columns:1fr}.grid{display:grid}.course-row,.section-heading{align-items:stretch;flex-direction:column}.donut-chart-body{grid-template-columns:1fr}.nav.nav-pill{width:min(420px,100%);padding:8px 10px 8px 16px}.planner-sidebar{position:static}.sidebar-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:100%}.course-search-card{min-height:0}.week-calendar-header{align-items:start;flex-direction:column}.course-card-footer,.import-result-row,.modal-actions{align-items:stretch;flex-direction:column}}.profile-shell{display:grid;gap:14px}.profile-section,.profile-shell .panel{box-shadow:none;padding:14px 16px}.profile-back-link{color:var(--color-primary);font-weight:800}.profile-page-heading{margin-bottom:0}.profile-layout,.profile-section{display:grid;gap:12px}.profile-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-section-head h2{margin:0;font-size:1rem}.profile-meta{color:var(--color-text-muted);font-size:.8rem;font-weight:700;white-space:nowrap}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.profile-field{display:grid;gap:6px}.profile-field label{color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.profile-field input,.profile-field select{min-height:38px;border:1px solid var(--color-border);border-radius:10px;padding:0 12px;background:var(--color-surface);color:var(--color-text)}.themed-select{position:relative;width:100%}.themed-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--color-border);padding:0 10px;background:var(--color-surface);color:var(--color-text);font-size:.84rem;font-weight:700;line-height:1.2;text-align:left;cursor:pointer;outline:none;transition:border-color .16s ease,background .16s ease}.profile-field .themed-select-trigger,.themed-select-trigger{min-height:34px;border-radius:10px}.themed-select-trigger.is-placeholder{color:var(--color-text-muted)}.themed-select-trigger:hover,.themed-select-trigger[data-headlessui-state~=open]{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.themed-select-chevron{flex:0 0 auto;width:6px;height:6px;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);transform:translateY(-1px) rotate(45deg);transition:transform .16s ease}.themed-select-trigger[data-headlessui-state~=open] .themed-select-chevron{transform:translateY(1px) rotate(225deg)}.themed-select-menu{position:absolute;z-index:80;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 12px 28px var(--color-shadow-strong);outline:none}.themed-select-option{display:flex;align-items:center;min-height:30px;border-radius:8px;padding:5px 9px;color:var(--color-text);font-size:.8rem;font-weight:600;line-height:1.25;cursor:pointer}.themed-select-option.is-active{background:var(--color-surface-muted)}.themed-select-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary)}.themed-select-option.is-selected.is-active{background:var(--color-primary-soft-strong)}.themed-select-leave{transition:opacity .12s ease,transform .12s ease}.themed-select-leave-from{opacity:1;transform:translateY(0)}.themed-select-leave-to{opacity:0;transform:translateY(-4px)}.profile-field-readonly{min-height:38px;display:flex;align-items:center;border:1px solid var(--color-border);border-radius:10px;padding:0 12px;background:var(--color-surface-muted);color:var(--color-text-subtle)}.interest-chip-grid,.program-chip-grid,.school-chip-grid,.theme-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.school-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.school-filter-label{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.interest-chip,.program-chip,.school-chip,.theme-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:10px;padding:6px 10px;background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left}.interest-chip.active,.program-chip.active,.school-chip.active,.theme-chip.active{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 1px var(--color-primary)}.interest-chip span,.program-chip span,.theme-chip span{color:var(--color-text-muted);font-size:.78rem}.school-chip{font-size:.82rem;font-weight:600}.theme-chip-swatch{width:12px;height:12px;border-radius:999px;border:1px solid var(--color-border)}.interest-chip,.program-chip{border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;min-width:0}.program-chip{flex:1 1 160px}.interest-chip{flex:1 1 180px;max-width:260px}.interest-chip strong,.program-chip strong,.theme-chip{font-size:.86rem}.interest-chip:disabled{opacity:.45;cursor:not-allowed}.profile-note{margin:0;color:var(--color-text-subtle);font-size:.84rem;line-height:1.45}.profile-footer-actions{align-items:center}.profile-actions,.profile-footer-actions{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:760px){.profile-form-grid{grid-template-columns:1fr}.interest-chip,.program-chip{flex:1 1 100%;max-width:none}}
