@font-face{font-family:Noto Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/noto-sans-latin-400-normal-DBaOTIGl.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/noto-sans-latin-ext-400-normal-CVf-LbaS.woff2)format("woff2");unicode-range:U+100-2FF,U+1E??}@font-face{font-family:Noto Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/noto-sans-latin-600-normal-BY4wKf3j.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Noto Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/noto-sans-latin-ext-600-normal-Has_8ph9.woff2)format("woff2");unicode-range:U+100-2FF,U+1E??}@font-face{font-family:Noto Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/noto-sans-latin-700-normal-CG28WTf7.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Noto Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/noto-sans-latin-ext-700-normal-CnRwbtty.woff2)format("woff2");unicode-range:U+100-2FF,U+1E??}:root{color:var(--ink);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--canvas:#f6f4ee;--ink:#181a18;--paper:#fffefa;--shadow:#181a18;--control:#fff;--muted:#555851;--subtle:#686a65;--line:#d4d4ce;--separator:#a9aaa4;--today:#f0f6ec;--overlap:#fff8e8;--overlap-hover:#fff1cc;--group:#eef8f1;--error:#9d2942;--focus:#3d7b54;--now:#e54f72;--now-text:#fff;--backdrop:#181a1857;--mint:#9bd2ae;--yellow:#f5d889;--blue:#bfe3ea;--coral:#fa8fa5;--lilac:#d9d1f2;font-family:Noto Sans,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#19191c;--ink:#e6e6e9;--paper:#252529;--shadow:#0d0d10;--control:#313136;--muted:#c1c1c7;--subtle:#aaaab2;--line:#43434a;--separator:#777780;--today:#31313a;--overlap:#3d3641;--overlap-hover:#504452;--group:#33333a;--error:#ff9eb2;--focus:#b8a5ff;--now:#ff7899;--now-text:#19191c;--backdrop:#000000a6;--mint:#50647b;--yellow:#76613f;--blue:#385f79;--coral:#75485c;--lilac:#5d5378}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit;color:var(--ink)}button,select,input{border:2px solid var(--ink)}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.theme-bar{justify-content:flex-end;align-items:center;width:min(1480px,100% - 32px);min-height:50px;margin:0 auto;display:flex}.theme-toggle{background:var(--paper);border-radius:12px;place-items:center;width:43px;height:43px;padding:0;display:grid}.theme-toggle svg{width:20px;height:20px}.loading-screen{place-items:center;min-height:calc(100vh - 50px);font-weight:700;display:grid}.enrollment-page{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(40px,8vw,112px);width:min(1120px,100% - 40px);min-height:calc(100vh - 50px);margin:0 auto;padding:56px 0;display:grid}.eyebrow,.step-label{letter-spacing:.13em;margin:0 0 12px;font-size:12px;font-weight:700}.welcome-panel h1{letter-spacing:-.055em;max-width:680px;margin:0;font-size:clamp(48px,7vw,88px);line-height:.98}.welcome-copy{max-width:540px;margin:28px 0;font-size:19px;line-height:1.6}.preview-card{border:2px solid var(--ink);background:var(--blue);width:min(440px,100%);box-shadow:7px 7px 0 var(--shadow);border-radius:18px;grid-template-columns:72px 1fr;gap:4px 18px;padding:22px;display:grid}.preview-card span{grid-row:1/3;font-weight:700}.preview-card strong{font-size:17px}.key-panel{border:2px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--mint);border-radius:24px;padding:clamp(28px,5vw,48px)}.key-panel h2{letter-spacing:-.04em;margin:0;font-size:clamp(30px,4vw,44px)}.key-panel>p:not(.step-label){color:var(--muted);margin:12px 0 30px;line-height:1.5}.key-panel form{gap:12px;display:grid}.key-panel label{font-size:13px;font-weight:700}.key-panel input{background:var(--control);border-radius:12px;width:100%;padding:15px 16px}.key-panel button,.week-controls button,.dialog-heading button,.choice-heading button{background:var(--mint);box-shadow:3px 3px 0 var(--shadow);border-radius:12px;padding:13px 18px;font-weight:700}.key-panel button:active,.week-controls button:active,.dialog-heading button:active,.choice-heading button:active{box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)}.key-panel button:disabled{opacity:.55;cursor:wait}.form-error{min-height:22px;color:var(--error);margin:2px 0 0;font-size:13px;font-weight:600}.app-shell{width:min(1480px,100% - 32px);margin:0 auto;padding:18px 0 48px}.toolbar{border:2px solid var(--ink);background:var(--paper);border-radius:18px 18px 0 0;justify-content:space-between;align-items:end;gap:24px;padding:18px;display:flex}.week-controls{align-items:center;gap:18px;display:flex}.week-controls button{background:var(--control);box-shadow:none;padding:9px 13px}.week-controls .week-label{background:var(--yellow);min-width:142px}.schedule-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.schedule-actions button{background:var(--control);border-radius:12px;min-height:43px;padding:9px 14px;font-weight:700}.schedule-actions .visibility-button{align-items:center;gap:8px;display:flex}.visibility-button>span{border:1px solid var(--ink);background:var(--yellow);border-radius:999px;min-width:20px;padding:2px 6px;font-size:10px}.schedule-actions .add-button{background:var(--mint);align-items:center;gap:8px;display:flex}.add-button>span{font-size:23px;font-weight:500;line-height:16px}.stale-badge{color:var(--subtle);font-size:11px;font-weight:700}.schedule-footer{justify-content:flex-start;align-items:center;gap:10px;margin-top:14px;display:flex}.schedule-footer .export-button{background:var(--yellow);border-radius:12px;min-height:43px;padding:9px 14px;font-weight:700}.schedule-footer .theme-toggle{background:var(--control)}.schedule-message{border:2px solid var(--ink);background:var(--paper);border-top:0;justify-content:center;align-items:center;gap:14px;min-height:120px;padding:24px;display:flex}.schedule-message span{color:var(--subtle)}.schedule-message button{background:var(--yellow);border-radius:10px;padding:8px 12px;font-weight:700}.schedule{border:2px solid var(--ink);background:var(--paper);border-top:0;border-radius:0 0 18px 18px;grid-template-columns:62px repeat(5,minmax(160px,1fr));display:grid;overflow-x:auto}.schedule.is-loading{opacity:.55;pointer-events:none}.time-column{border-right:1px solid var(--separator);padding-top:55px}.time-column span{height:56px;color:var(--subtle);text-align:right;padding:0 10px;font-size:11px;display:block;transform:translateY(-8px)}.day-column{border-right:1px solid var(--separator);background:var(--paper);min-width:160px}.day-column.is-today{background:var(--today)}.day-column:last-child{border-right:0}.day-column>header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;height:55px;padding:0 12px;display:flex}.day-column>header strong{letter-spacing:.08em;font-size:13px}.day-column>header span{color:var(--subtle);font-size:12px}.day-column>header small{border:1px solid var(--ink);background:var(--mint);border-radius:999px;padding:3px 6px;font-size:8px;font-weight:700}.day-lane{height:784px;position:relative}.hour-grid{grid-template-rows:repeat(14,56px);display:grid;position:absolute;inset:0}.hour-grid span{border-bottom:1px solid var(--line)}.current-time-line{z-index:3;background:var(--now);pointer-events:none;height:2px;position:absolute;left:0;right:0}.current-time-line:before{background:var(--now);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.current-time-line span{background:var(--now);color:var(--now-text);border-radius:5px;padding:2px 5px;font-size:9px;font-weight:800;position:absolute;top:-12px;right:5px}.event-card{z-index:4;width:calc(100% - 14px);color:var(--ink);text-align:left;border-radius:13px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex;position:absolute;left:7px;overflow:hidden}.event-card:hover{filter:brightness(.97);transform:translateY(-1px)}.event-card strong{font-size:13px;line-height:1.25}.event-card>span:not(.event-time){font-size:10px}.event-time{font-size:10px;font-weight:700}.overlap-card{z-index:4;border:2px solid var(--ink);background:var(--overlap);width:calc(100% - 12px);color:var(--ink);text-align:left;border-radius:12px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;left:6px;overflow:hidden}.overlap-card:hover{background:var(--overlap-hover)}.overlap-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1px 5px;width:100%;min-height:28px;font-size:9px;line-height:1.2;display:flex}.overlap-card-heading strong{font-size:10px}.overlap-card-heading>span{color:var(--muted);font-weight:600}.overlap-card-row{border:1px solid var(--separator);background:var(--control);border-radius:6px;grid-template-rows:18px 10px;grid-template-columns:4px minmax(0,1fr);column-gap:5px;width:100%;min-height:33px;display:grid;overflow:hidden}.overlap-color{border-radius:4px;width:5px;display:block}.overlap-card-row .overlap-color{grid-row:1/-1;height:100%}.overlap-card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:700;line-height:18px;overflow:hidden}.overlap-card-time{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;line-height:10px;overflow:hidden}.overlap-card-more{margin-top:auto;font-size:10px;font-weight:700}.tone-mint{background:var(--mint)}.tone-yellow{background:var(--yellow)}.tone-blue{background:var(--blue)}.tone-coral{background:var(--coral)}.tone-lilac{background:var(--lilac)}.empty-day{color:var(--subtle);text-align:center;margin:0;font-size:11px;position:absolute;top:22px;left:12px;right:12px}.mobile-days{display:none}.dialog-backdrop{z-index:20;background:var(--backdrop);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.event-dialog,.choice-dialog{border:2px solid var(--ink);background:var(--paper);width:min(560px,100%);max-height:min(760px,100vh - 40px);box-shadow:10px 10px 0 var(--shadow);border-radius:22px;overflow:hidden}.dialog-tone{border-bottom:2px solid var(--ink);height:18px}.dialog-heading{justify-content:space-between;align-items:start;gap:18px;padding:26px 26px 16px;display:flex}.dialog-heading h2{letter-spacing:-.035em;margin:0;font-size:28px;line-height:1.15}.dialog-heading button{background:var(--control);box-shadow:none;padding:8px 12px}.event-dialog dl{margin:0;padding:4px 26px 26px}.event-dialog dl div{border-bottom:1px dashed var(--separator);grid-template-columns:100px 1fr;gap:18px;padding:13px 0;display:grid}.event-dialog dt{color:var(--subtle);font-size:12px;font-weight:700}.event-dialog dd{margin:0;font-size:14px;font-weight:600}.event-note{border:2px solid var(--ink);background:var(--yellow);border-radius:12px;margin:0 26px 26px;padding:14px;font-size:13px}.choice-dialog{background:var(--paper);padding-bottom:24px;overflow-y:auto}.choice-heading{z-index:2;border-bottom:2px solid var(--ink);background:var(--paper);justify-content:space-between;align-items:start;gap:18px;padding:24px 26px 18px;display:flex;position:sticky;top:0}.choice-heading h2{letter-spacing:-.035em;margin:0;font-size:28px}.choice-heading button{background:var(--control);box-shadow:none;padding:8px 12px}.overlap-dialog-list{gap:10px;padding:20px 26px 0;display:grid}.overlap-dialog-list button{background:var(--control);min-height:68px;color:var(--ink);text-align:left;border-radius:12px;grid-template-columns:6px minmax(0,1fr) 18px;align-items:stretch;gap:12px;padding:9px;display:grid}.overlap-dialog-list button:hover{background:var(--overlap)}.overlap-dialog-list button>span:nth-child(2){align-content:center;gap:4px;min-width:0;display:grid}.overlap-dialog-list strong{overflow-wrap:anywhere;font-size:13px;line-height:1.3}.overlap-dialog-list small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.35}.overlap-dialog-arrow{align-self:center;font-size:17px;font-weight:700}.group-choice{border:2px solid var(--ink);background:var(--group);color:var(--muted);border-radius:13px;gap:7px;margin:22px 26px 8px;padding:16px;font-size:11px;font-weight:800;display:grid}.group-choice select{background:var(--control);border-radius:9px;width:100%;min-width:0;padding:11px 12px}.visibility-list{padding:8px 26px 0;display:grid}.visibility-list label{border-bottom:1px dashed var(--separator);align-items:center;gap:12px;min-height:54px;font-size:14px;font-weight:650;display:flex}.visibility-list input{width:20px;height:20px;accent-color:var(--mint)}.visibility-list:empty:after{color:var(--subtle);content:"No subjects available.";padding:26px 0}.semester-loading{color:var(--subtle);margin:12px 26px 0;font-size:12px}.activity-groups{border-top:2px solid var(--ink);margin:22px 26px 0;padding-top:18px}.activity-groups h3{margin:0 0 5px;font-size:15px}.activity-group-list label{border-bottom:1px dashed var(--separator);grid-template-columns:minmax(0,1fr) minmax(0,200px);align-items:center;gap:12px;padding:12px 0;display:grid}.activity-group-list label>span{gap:3px;min-width:0;display:grid}.activity-group-list strong{overflow-wrap:anywhere;font-size:12px;line-height:1.3}.activity-group-list small{color:var(--subtle);font-size:11px;font-weight:800}.activity-group-list select{background:var(--control);border-radius:9px;width:100%;min-width:0;padding:9px 10px;font-size:11px}.selector-grid{grid-template-columns:1fr 1fr;gap:15px;padding:24px 26px 16px;display:grid}.selector-grid label{color:var(--muted);gap:7px;font-size:11px;font-weight:800;display:grid}.selector-grid label.is-wide{grid-column:1/-1}.selector-grid select{background:var(--control);border-radius:10px;width:100%;min-width:0;padding:11px 12px}.selector-grid label:first-child select,.selector-grid label:nth-child(5) select{background:var(--group)}.confirm-add{background:var(--mint);border-radius:11px;margin:0 26px;padding:12px 16px;font-weight:800}.confirm-add:disabled{opacity:.5;cursor:wait}.panel-error{color:var(--error);margin:0 26px 14px;font-size:13px;font-weight:700}.export-form{gap:18px;padding:24px 26px 0;display:grid}.export-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.export-dates label{color:var(--muted);gap:7px;font-size:11px;font-weight:800;display:grid}.export-dates input{border:2px solid var(--ink);background:var(--control);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:11px 12px}.export-form>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.export-form .panel-error{color:var(--error);font-weight:700}.export-form .confirm-add{justify-self:start;margin:0}.added-subjects{border-top:2px solid var(--ink);margin:24px 26px 0}.added-subjects h3{margin:18px 0 8px;font-size:14px}.added-subjects>div{border-bottom:1px dashed var(--separator);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:13px;font-weight:650;display:flex}.added-subjects button{background:var(--control);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}@media (width<=760px){.enrollment-page{grid-template-columns:1fr;gap:38px;width:min(100% - 28px,520px);padding:40px 0}.welcome-panel h1{font-size:clamp(44px,15vw,66px)}.welcome-copy{font-size:16px}.preview-card{box-shadow:5px 5px 0 var(--shadow)}.key-panel{box-shadow:7px 7px 0 var(--mint);padding:26px 22px}.app-shell{width:min(100% - 20px,560px);padding-top:18px}.toolbar{border-radius:16px;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:10px;padding:12px;display:grid}.week-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.week-controls button{width:100%;min-width:0;min-height:44px;padding:7px 4px;font-size:11px;line-height:1.2}.week-controls .week-label{min-width:0}.schedule-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.schedule-actions .stale-badge{grid-column:1/-1}.schedule-actions button{justify-content:center;width:100%;min-width:0;padding:8px 6px;font-size:11px}.activity-group-list label{grid-template-columns:minmax(0,1fr);gap:7px}.mobile-days{grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0;display:grid}.mobile-days button{background:var(--paper);border-radius:11px;gap:2px;padding:10px 3px;display:grid}.mobile-days button.is-active{background:var(--yellow)}.mobile-days button.is-today:not(.is-active){background:var(--today)}.mobile-days strong{font-size:18px}.mobile-days span{letter-spacing:.08em;font-size:9px}.schedule{border:2px solid var(--ink);border-radius:16px;grid-template-columns:54px 1fr}.day-column{border:0;display:none}.day-column.is-mobile-visible{display:block}.day-column>header{display:none}.time-column{padding-top:0}.time-column span{padding:6px 7px 0 0;transform:none}.day-lane{height:784px}.event-card{width:calc(100% - 16px);padding:9px;left:8px}.overlap-dialog-list{padding:18px 20px 0}.dialog-backdrop{align-items:end;padding:0}.event-dialog,.choice-dialog{width:100%;max-height:88vh;box-shadow:none;border-radius:22px 22px 0 0}.dialog-heading{padding:22px 20px 14px}.event-dialog dl{padding:0 20px 22px}.event-note{margin:0 20px 24px}.choice-heading{padding:20px}.group-choice{margin:20px 20px 8px}.selector-grid{grid-template-columns:1fr;padding:20px}.selector-grid label.is-wide{grid-column:auto}.confirm-add,.panel-error,.added-subjects{margin-left:20px;margin-right:20px}.visibility-list{padding:6px 20px 0}}@media (prefers-reduced-motion:no-preference){.event-card,button{transition:transform .12s,filter .12s,box-shadow .12s}}
