
:root{--ink:#22243c;--muted:#77798e;--purple:#594bd8;--purple-pale:#efedfc;--border:#e8e8ef;--green:#22765e;--bg:#f7f8fc;--red:#b34b4b;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #a79df3;outline-offset:3px}button{color:inherit}a{color:inherit}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,h4,p{margin:0}button{border:0}button,a{touch-action:manipulation}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.loading{padding:12vh 12vw;line-height:2}.sidebar{width:248px;background:#201e39;color:#f5f4ff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:36px 23px 25px;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-.7px;text-decoration:none}.brand-icon{width:33px;height:34px;display:grid;place-items:center;border-radius:10px;background:#8275f3}.brand-icon svg{width:23px;height:23px;stroke-width:2.6}.brand-dot{color:#a89cfb}.workspace-label,.nav-label{font-size:10px;letter-spacing:1.6px;font-weight:600;color:#a6a3bf}.workspace-label{margin-top:48px}.profile{display:flex;align-items:center;gap:10px;padding:18px 0 28px;border-bottom:1px solid #36334f}.avatar{width:37px;height:37px;border-radius:50%;background:#46405d;color:#e4dcff;display:grid;place-items:center;font-size:12px}.profile strong{font-size:13px}.profile div span{display:block;font-size:10px;color:#aba7c0;margin-top:4px}.online-dot{width:6px;height:6px;background:#9bc3a5;border-radius:50%;margin-left:auto}.nav-label{display:flex;justify-content:space-between;margin:29px 8px 14px}.nav-label span{color:#8b86a3}.course-nav{display:flex;width:100%;align-items:center;gap:12px;background:transparent;border-radius:10px;text-align:left;padding:15px 12px;margin:5px 0;color:#c3bfd8;font-size:13px}.course-nav.active{background:#393351;color:white}.course-nav:hover{background:#322d49}.course-nav small{display:block;font-size:9px;color:#ada7c5;margin-top:4px;letter-spacing:.8px}.subject-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.violet{background:#b799f4}.blue{background:#8caff3}.teal{background:#75c8b4}.nav-count{margin-left:auto;font-size:12px;background:#4a435f;padding:4px 7px;border-radius:6px;color:#e7e3fa}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-bottom>div{display:flex;gap:7px;font-size:10px;color:#b5afc9}.sidebar-bottom svg{width:13px;height:13px}.sidebar-bottom>span{display:block;color:#8e88a5;font-size:10px;margin-top:20px}.sidebar-bottom .text-button{margin-top:15px;font-size:11px}.workspace{margin-left:248px}.topbar{height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff}.breadcrumb{font-size:12px;color:#72738a}.breadcrumb span{padding:0 12px;color:#c5c5d2}.topbar-actions{display:flex;gap:22px;align-items:center}.save-state{font-size:11px;color:#7b7c8c;display:flex;align-items:center;gap:7px}.save-state i{width:6px;height:6px;background:#61a68c;border-radius:50%}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:8px;font-size:12px;font-weight:600;transition:background .15s}.button.compact{min-height:36px;padding:8px 12px;font-size:11px}.button svg{width:15px;height:15px}.button.secondary{border:1px solid #dedde9;background:white}.button.secondary:hover{background:#f4f2fc}.button.primary{background:var(--purple);color:white}.button.primary:hover{background:#493ac4}.button.ghost{background:transparent;color:var(--muted)}.button.success{background:#e3f2e9;color:#327357;border:1px solid #c7e1d3}.button.danger{background:#fbe8e8;color:var(--red)}main{max-width:1440px;margin:auto;padding:34px 42px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7b7d93}.heading-divider{padding:0 10px;color:#c8c5d7}h1{font-size:30px;letter-spacing:-1.15px;line-height:1.3;margin:9px 0 8px;font-weight:650}h1>span{color:var(--purple)}.page-heading .muted{font-size:12px}.today-date{text-align:right;font-size:11px;white-space:nowrap;margin-left:20px}.today-date>span{display:block;color:var(--muted);margin-bottom:6px}.today-date strong{font-size:14px;font-weight:550}.today-strip{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:15px 20px;margin-bottom:28px;box-shadow:0 3px 10px #20204003}.today-icon{display:grid;place-items:center;width:36px;height:36px;background:#f2f0fd;border-radius:9px;color:var(--purple)}.today-copy strong{font-size:12px;display:block}.today-copy>span{color:var(--muted);font-size:11px;display:block;margin-top:4px}.today-actions{display:flex;margin-left:auto;gap:7px}.course-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.course-title>div{display:flex;align-items:center;gap:9px}.course-title h2{font-size:16px;letter-spacing:-.3px;font-weight:650}.course-title .subject-dot{width:8px;height:8px}.tag{font-size:9px;letter-spacing:.7px;color:#8b8b9c;background:#f1f1f6;padding:5px 6px;border-radius:4px;white-space:nowrap}.schedule{font-size:10px;color:#838498}.metrics{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:15px;margin-bottom:20px}.metric{padding:22px 23px 19px;background:white;border:1px solid var(--border);border-radius:12px;min-width:0;box-shadow:0 4px 10px #20204002}.metric-label{font-size:9px;letter-spacing:1.1px;color:#89899c;display:flex;justify-content:space-between;align-items:center;font-weight:650}.metric-label>svg{width:17px;height:17px;color:#aaa9ba}.metric-number{display:flex;align-items:baseline;gap:10px;font-size:43px;letter-spacing:-2px;line-height:1.25;margin:13px 0 6px;font-weight:620}.metric-number>span{font-size:11px;letter-spacing:0;line-height:1.5;color:#87869b;font-weight:400;max-width:110px}.metric-number>.percent{font-size:25px;color:inherit;font-weight:500;margin-left:-6px}.metric p{font-size:10px;line-height:1.6;color:#9291a3}.primary-metric{background:linear-gradient(110deg,#6555db,#5040c7);border-color:#6857dc;color:white;box-shadow:0 7px 18px #5143c41a}.primary-metric .metric-label,.primary-metric .metric-label>svg{color:#d2caf7}.primary-metric .metric-number>span{color:#e2dbff}.primary-metric p{color:#cfc5fa}.green-text{color:var(--green)}.red-text{color:var(--red)}.progress-track{position:relative;margin:8px 0 9px;height:5px}.progress-track progress{display:block;width:100%;height:5px;border:0;border-radius:5px;background:#eeeef4;appearance:none}.progress-track progress::-webkit-progress-bar{background:#eeeef4;border-radius:5px}.progress-track progress::-webkit-progress-value{background:#79b499;border-radius:5px}.progress-track progress::-moz-progress-bar{background:#79b499;border-radius:5px}.progress-track>i{position:absolute;left:75%;top:-3px;width:2px;height:11px;background:#bab5c4}.notice{display:flex;align-items:center;gap:12px;border-radius:9px;padding:14px 17px;margin:16px 0;font-size:11px}.pending-notice{background:#fffaee;border:1px solid #f3e8cd;color:#8c7038}.notice p{font-size:10px;line-height:1.7;margin-top:4px}.notice strong{font-weight:600}.notice-symbol{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px}.notice .text-button{margin-left:auto;white-space:nowrap;color:inherit;font-size:10px}.conflict-notice{background:#fff0ef;color:#a5584f;border:1px solid #f3dbd6}.text-button{display:inline-flex;align-items:center;gap:7px;padding:0;background:transparent;color:var(--purple);font-size:11px;font-weight:550}.text-button svg{width:14px;height:14px}.text-button.light{color:#c4b5ee}.view-tabs{display:flex;gap:26px;border-bottom:1px solid #e1e2eb;margin:30px 0 23px}.view-tabs>button{display:flex;align-items:center;gap:7px;background:transparent;font-size:12px;color:#8b8b9d;padding:0 1px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}.view-tabs>button.selected{color:var(--purple);border-bottom-color:var(--purple);font-weight:600}.view-tabs svg{width:15px;height:15px}.view-tabs button>span{font-size:9px;background:#eeedf4;border-radius:5px;padding:4px 6px;color:#9b96ac}.planner-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.panel{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 23px 19px;gap:12px}.panel-heading h3{font-size:14px;font-weight:600;letter-spacing:-.3px}.panel-heading p{font-size:10px;line-height:1.6;color:var(--muted);margin-top:6px}.calendar-body{padding:0 23px 8px}.month-group{margin:4px 0 20px}.month-group h4{text-transform:capitalize;font-size:10px;font-weight:550;color:#87879b;margin-bottom:12px}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.date-card{background:#fff;border:1px solid #e6e6ef;border-radius:9px;min-height:93px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:background .15s,border .15s}.date-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#8d8b9f}.date-card>strong{font-size:21px;font-weight:550}.date-card>small{font-size:9px;color:#a5a0b3}.date-card:hover{border-color:#b3a9eb;background:#fbfaff}.date-card.planned{background:#eeebff;border-color:#9886e9;color:#6351bb}.date-card.planned>span,.date-card.planned>small{color:#8d79c9}.date-card>i{position:absolute;top:5px;right:6px;font-size:10px;font-style:normal;color:#a491da}.plan-footer{display:flex;align-items:center;justify-content:space-between;padding:0 23px 18px;font-size:9px;color:#9995aa}.plan-footer>div{display:flex;align-items:center;gap:6px}.plan-footer .text-button{font-size:10px}.legend-dot{width:6px;height:6px;background:#d5d1df;border-radius:50%;display:inline-block}.legend-dot.chosen{background:#a08be3;margin-left:10px}.plan-result{border-top:1px solid var(--border);padding:15px 23px;display:flex;align-items:center;gap:10px}.plan-result strong{display:block;font-size:11px;font-weight:600}.plan-result span{display:block;font-size:9px;margin-top:4px}.is-safe{background:#f3faf6;color:#46896b}.is-risk{background:#fff2ef;color:#bd625b}.plan-result>svg{width:18px;height:18px}.option-count{font-size:10px;color:#8f83b5;background:#f0edf8;padding:5px 7px;border-radius:6px}.combination-table-wrap{overflow-x:auto}.combination-table{width:100%;border-collapse:collapse}.combination-table th{font-size:9px;font-weight:550;color:#a09aaf;text-align:center;background:#faf9fc;padding:12px 8px;border-top:1px solid #eeecf4;border-bottom:1px solid #eeecf4}.combination-table td{padding:13px 8px;text-align:center;border-bottom:1px solid #f0eef5;font-size:14px;font-weight:500}.combination-table td:last-child{padding-right:18px;width:30px}.combination-table tr:last-child td{border-bottom:none}.total-pill{display:inline-block;font-size:10px;font-weight:550;color:#7d6ca8;background:#f4f1fc;border-radius:5px;padding:6px 9px;white-space:nowrap}.zero{color:#bab4c6}.apply-combo{display:grid;place-items:center;background:white;border:1px solid #e5e0ef;border-radius:6px;width:26px;height:26px;color:#9c8cba}.apply-combo:hover{background:var(--purple-pale);color:var(--purple)}.apply-combo svg{width:13px;height:13px}.table-hint{font-size:9px;color:#a6a1b2;line-height:1.7;padding:8px 23px 15px}.combinations-note{display:flex;align-items:start;gap:10px;border-top:1px solid var(--border);padding:17px 23px;background:#fdfcfe}.combinations-note>svg{width:16px;height:16px;color:#a597bf;margin-top:2px}.combinations-note p{font-size:10px;color:#a19aae;line-height:1.8}.empty{padding:35px 25px;text-align:center;color:#9d97ab;font-size:11px;line-height:1.8}.empty strong{display:block;color:#7e758d;margin-bottom:6px}.empty-icon{display:block;margin-bottom:10px;font-size:25px;color:#b1a4d3}.method{margin-top:22px;border-radius:9px}.method summary{padding:17px 21px;cursor:pointer;font-size:10px;list-style:none;color:#9993a8;display:flex;justify-content:space-between}.method summary::-webkit-details-marker{display:none}.method summary>span{font-size:13px}.method-content{padding:0 21px 20px;font-size:11px;line-height:1.8;color:#7b768a}.method-content p+p{margin-top:10px}.page-footer{display:flex;justify-content:space-between;gap:15px;margin-top:24px;color:#a39dae;font-size:9px;line-height:1.7}.page-footer>span:first-child{display:flex;gap:5px;align-items:center}.page-footer svg{width:12px;height:12px}.sync-message{font-size:9px;line-height:1.9;color:#9a92a7;margin-top:12px}.sync-message .text-button{font-size:9px;margin-left:8px}.records-table-wrap{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;text-align:left}.records-table th{background:#faf9fc;font-size:10px;font-weight:500;color:#9890a6;padding:12px 23px;border-block:1px solid #eeecf4}.records-table td{padding:14px 23px;border-bottom:1px solid #f0eef5;font-size:11px}.records-table td>strong{font-weight:600;white-space:nowrap}.records-table small{display:block;color:#a49aaf;font-size:9px;margin-top:5px;white-space:nowrap}.records-table td>.muted{font-size:10px}.status{font-size:9px;white-space:nowrap;border-radius:5px;padding:5px 7px;display:inline-block}.status.present{background:#edf6ef;color:#55896a}.status.absent{background:#fbeeee;color:#b17777}.status.pending{background:#faf3e5;color:#aa8b51}.status.holiday{background:#efedf8;color:#9083b6}.status.partial{background:#eaf1fa;color:#6f8baa}.personal-badge{font-size:10px;color:#7662af}.reset-mark{display:block;background:transparent;padding:0;margin-top:5px;font-size:9px;color:#aba0bd;text-decoration:underline;text-underline-offset:3px}.attendance-controls{display:inline-flex;gap:0;border:1px solid #e5e0ed;border-radius:7px;overflow:hidden;white-space:nowrap}.mark{padding:7px 10px;font-size:10px;background:white;color:#9d93ab}.mark+.mark{border-left:1px solid #e5e0ed}.mark.selected{background:#f4f0e7;color:#b19668}.mark.yes.selected{background:#e7f3ec;color:#518768}.mark.no.selected{background:#f9e9e9;color:#b16b70}.conflict-row{background:#fffaf5}.filter-label select{font-size:10px;color:#8a809c;background:white;padding:8px 10px;border:1px solid #e7e1ee;border-radius:6px}.error-text{color:#b15c62!important}.records-panel .panel-heading p{font-size:11px}dialog{width:min(460px,calc(100% - 32px));border:1px solid #e1daeb;border-radius:17px;padding:28px;color:var(--ink);box-shadow:0 25px 100px #201e3933}dialog::backdrop{background:#201e3966;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.icon-button{width:29px;height:29px;background:#f4f1f8;border-radius:50%;font-size:22px;line-height:1;color:#9584ac}dialog h2{font-size:21px;letter-spacing:-.6px;margin:16px 0 12px}dialog p{font-size:12px;line-height:1.7;color:#94869f}dialog label{display:block;font-size:12px;margin-top:17px;color:#766780}dialog input{display:block;width:100%;border:1px solid #ded5e8;border-radius:8px;padding:11px 12px;margin-top:7px;color:var(--ink);outline-color:#a697d4}dialog p.small{font-size:10px;margin-top:16px}dialog .button.primary{width:100%;margin-top:18px}#login-error{font-size:11px;line-height:1.7;margin-top:12px}#toast{position:fixed;bottom:24px;left:calc(50% + 124px);transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:13px 20px;border-radius:10px;background:#302a47;color:#f1eafa;box-shadow:0 8px 30px #201e3922;font-size:12px;transition:opacity .2s,transform .2s;z-index:30;max-width:calc(100% - 35px)}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:#8b4850}
@media(min-width:1500px){main{padding-top:42px}.date-grid{grid-template-columns:repeat(auto-fill,minmax(67px,1fr))}.metric{padding:26px}.metric-number{font-size:48px}}
@media(max-width:1150px){.sidebar{width:210px;padding-inline:17px}.workspace{margin-left:210px}.brand{font-size:18px}.topbar{padding-inline:25px}main{padding:30px 25px}.planner-layout{gap:14px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}h1{font-size:26px}.metric{padding:18px}.metric-number{font-size:36px}.metric-number>span{font-size:10px}.schedule{font-size:9px}.panel-heading,.plan-result{padding:18px}.calendar-body{padding-inline:18px}.date-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.date-card{min-height:86px}.plan-footer{padding-inline:18px}.records-table td,.records-table th{padding-inline:15px}#toast{left:calc(50% + 105px)}}
@media(max-width:950px){.sidebar{width:175px;padding-inline:12px}.brand{font-size:15px;gap:7px}.brand-icon{width:28px;height:28px}.workspace{margin-left:175px}.profile{gap:7px}.profile div span{font-size:9px}.avatar{width:30px;height:30px}.workspace-label{font-size:8px}.course-nav{padding-inline:9px}.planner-layout{grid-template-columns:1fr}.topbar{padding-inline:20px}.save-state{display:none}main{padding:26px 20px}.metrics{gap:10px}.metric{padding:16px 14px}.metric-label{font-size:8px;letter-spacing:.5px}.metric-label>svg{width:14px;height:14px}.metric-number{font-size:32px;gap:6px}.metric-number>span{font-size:9px}.metric p{font-size:9px}.today-date{display:none}.course-title{align-items:start;flex-direction:column;gap:7px}.date-grid{grid-template-columns:repeat(auto-fill,minmax(63px,1fr))}.notice{padding:12px;font-size:10px}.notice .text-button{font-size:9px}.page-footer{flex-direction:column;gap:5px}#toast{left:calc(50% + 87px)}.records-table td,.records-table th{padding-inline:11px}.mark{padding-inline:7px}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:20px 20px 0;background:#201e39}.brand{font-size:20px}.brand-icon{width:30px;height:30px}.workspace-label,.profile,.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:8px;margin-top:17px}.course-nav{margin:0;flex:1;padding:12px 11px;border-radius:9px 9px 0 0;gap:7px;font-size:12px}.course-nav.active{background:var(--bg);color:var(--ink)}.course-nav small{display:none}.course-nav .nav-count{font-size:10px;padding:3px 5px}.course-nav.active .nav-count{background:#e9e3fa;color:#8b73bc}.course-nav .subject-dot{width:6px;height:6px}.workspace{margin-left:0}.topbar{height:56px;background:var(--bg);padding-inline:20px}.breadcrumb{font-size:10px}.topbar .button{font-size:10px;padding:6px 9px;min-height:30px}.topbar-actions{gap:8px}main{padding:23px 20px}.eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-size:26px;letter-spacing:-.9px}.page-heading{margin-bottom:20px}.page-heading .muted{font-size:11px}.today-strip{padding:12px;gap:9px;margin-bottom:24px}.today-icon{width:30px;height:30px}.today-copy strong{font-size:10px}.today-copy>span{font-size:9px;max-width:160px}.today-actions{gap:2px}.today-actions .button{font-size:10px;padding:6px 8px}.today-actions .button svg{display:none}.course-title h2{font-size:14px}.course-title .tag{font-size:8px}.course-title{margin-bottom:12px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.primary-metric{grid-column:1/-1;padding:18px 20px}.primary-metric .metric-number{margin:7px 0 4px;gap:12px;font-size:42px}.primary-metric .metric-number>span{max-width:none;font-size:12px}.primary-metric .metric-label{font-size:9px}.primary-metric p{font-size:10px}.metric-number{font-size:34px}.metric-number>span{max-width:85px;font-size:10px}.metric-label{font-size:8px}.notice{flex-wrap:wrap;align-items:start;gap:8px}.notice>div{flex:1;min-width:0}.notice .text-button{margin-left:28px}.notice-symbol{width:17px;height:17px}.notice p{font-size:10px}.view-tabs{margin-top:25px;gap:25px}.view-tabs>button{font-size:11px}.view-tabs button>span{font-size:8px}.panel-heading h3{font-size:13px}.date-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}.panel-heading .tag{font-size:8px}.panel-heading p{font-size:10px}.plan-footer{font-size:9px}.combinations-note p{font-size:10px}.page-footer{font-size:9px}.sync-message{font-size:9px}.records-table{min-width:520px}.records-panel .panel-heading{align-items:start;flex-direction:column}.records-panel .panel-heading p{font-size:10px}.method summary{font-size:10px}#toast{left:50%;font-size:11px;width:max-content}.topbar .breadcrumb span{padding:0 6px}}
.exam-panel{margin-bottom:25px}.exam-panel .panel-heading{padding-bottom:14px}.exam-weeks{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 23px}.exam-week{border:1px solid var(--border);border-radius:9px;padding:14px;background:#fbfaff}.exam-week-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.exam-week-heading strong{font-size:12px}.exam-week label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.exam-week input{width:100%;padding:10px 12px;border:1px solid #ddd6ed;border-radius:7px;background:white;color:var(--ink);font-size:13px;min-height:42px}.exam-week input:focus-visible{outline:3px solid #a79df3;outline-offset:2px}.exam-week-range{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:10px;font-size:11px;color:#7f7297}.exam-explanation{padding:15px 23px 20px;font-size:11px;line-height:1.8;color:var(--muted)}@media(max-width:700px){.exam-weeks{grid-template-columns:1fr;padding-inline:18px;gap:12px}.exam-panel .panel-heading{align-items:start}.exam-panel .tag{font-size:8px}.exam-explanation{padding-inline:18px;font-size:10px}}
.semester-picker{display:flex;align-items:center;gap:14px;margin-bottom:23px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.semester-picker select{max-width:100%;min-height:38px;border:1px solid var(--border);background:white;border-radius:7px;padding:8px 12px;font:inherit;color:var(--ink)}.semester-picker>select{flex:1}.welcome{max-width:950px;padding-top:60px}.welcome>.brand{margin-bottom:35px}.welcome-panel{padding:38px}.welcome-panel>p{font-size:14px;line-height:1.8;color:var(--muted);margin:18px 0}.welcome-panel>.button{margin:5px 10px 6px 0}.available-courses{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.profile div{min-width:0}.profile strong,.profile div span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar>nav{flex:0 0 auto;overflow:visible;min-height:0}.course-nav>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.sidebar-bottom{flex-shrink:0}@media(max-width:700px){.welcome{padding-top:25px}.welcome-panel{padding:24px}.sidebar>nav{overflow-x:auto;overflow-y:hidden;min-height:55px;flex-wrap:nowrap}.course-nav{min-width:135px}.course-nav>span:nth-child(2){max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.semester-picker{gap:10px}.semester-picker select{flex-basis:80%;font-size:11px}}
/* Keep the course list at its natural height instead of squeezing it into an inner scroller. */
@media(min-width:701px){
  .sidebar{padding-top:24px;padding-bottom:20px;overflow-y:auto}
  .workspace-label{margin-top:28px}
  .profile{padding-top:14px;padding-bottom:18px}
  .nav-label{margin-top:22px;margin-bottom:12px}
  .sidebar>nav{flex:0 0 auto;overflow:visible;min-height:0}
  .course-nav{padding-top:12px;padding-bottom:12px;line-height:1.4}
  .sidebar-bottom{padding-top:20px}
  .sidebar-bottom>span{margin-top:12px}
}
@media(min-width:701px) and (max-height:740px){
  .workspace-label{margin-top:18px}
  .profile{padding-top:10px;padding-bottom:12px}
  .nav-label{margin-top:16px;margin-bottom:8px}
  .course-nav{padding-top:10px;padding-bottom:10px;margin-top:3px;margin-bottom:3px}
  .sidebar-bottom{padding-top:14px}
}
@media(max-width:700px){
  .sidebar>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;overflow:visible;min-height:0;padding-bottom:12px}
  .course-nav{min-width:0;margin:0;border-radius:9px}
  .course-nav>span:nth-child(2){max-width:none;white-space:normal;overflow:visible;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

