:root{font-family:Noto Sans SC,system-ui,sans-serif;color:#223b35;background:#f6f7f3;font-synthesis:none;--bg: #f6f7f3;--card: #fff;--text: #223b35;--muted: #7a8982;--line: #e3e8e1;--green: #176b55;--soft: #eaf2e9;--shadow: 0 8px 35px #263b2510}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:9px 15px;transition:.15s}button:hover{border-color:#77a08e}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-decoration:none}input,select,textarea{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%;outline:none}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #83b29e;outline-offset:3px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px}h2{font-size:19px}h3{font-size:15px}p{line-height:1.8;color:var(--muted)}small{font-size:12px;color:var(--muted)}.shell{max-width:1160px;margin:auto;padding:0 40px}.top{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:700;color:var(--text)}.brand-icon{background:var(--green);color:#fff;font-size:20px;border-radius:12px;width:43px;height:43px;display:grid;place-items:center}.brand-sub{font-weight:400;font-size:11px;letter-spacing:2px;color:var(--muted);margin-left:15px}.icon-button{width:38px;height:38px;padding:0;font-size:22px;border-radius:50%}.nav{display:flex;gap:32px;border-bottom:1px solid var(--line);height:51px}.nav a{font-size:14px;color:var(--muted);position:relative}.nav a.router-link-exact-active{color:var(--green);font-weight:600}.nav a.router-link-exact-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px;background:var(--green)}main{min-height:calc(100vh - 245px);padding:36px 0 56px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:15px}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:600;margin-bottom:12px}.weekday{font-size:15px;font-weight:400;letter-spacing:0;margin-left:16px;color:var(--muted)}.page-heading p{font-size:12px;margin-top:8px}.week-badge{border:1px solid #d4e3d1;border-radius:100px;padding:9px 16px;font-size:12px;color:var(--green);background:var(--soft);white-space:nowrap}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.hero{display:block;text-align:left;width:100%;color:#fff;border:0;border-radius:20px;background:#176b55;padding:27px 30px;box-shadow:0 12px 30px #176b5525;overflow:hidden;position:relative}.hero:after{content:"";width:220px;height:220px;border:1px solid #ffffff12;border-radius:50%;position:absolute;right:-80px;top:-70px;pointer-events:none}.hero:hover{background:#1b765e}.hero-top{display:flex;justify-content:space-between;font-size:11px;color:#b6d9ca}.status{display:flex;align-items:center;gap:7px;background:#ffffff14;border-radius:20px;padding:5px 10px;color:#ebfff1}.status i{width:6px;height:6px;border-radius:50%;background:#bfe890}.hero h2{font-size:27px;margin:25px 0 12px;font-weight:600}.hero-time{font-size:22px;letter-spacing:1px;font-variant-numeric:tabular-nums}.hero-time span{opacity:.5;padding:0 10px}.hero-meta{display:flex;gap:25px;margin-top:20px;font-size:12px;color:#d0e6dc;flex-wrap:wrap}.hero-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff25;margin-top:25px;padding-top:20px}.hero-bottom small{display:block;color:#b8d7cb;font-size:10px}.countdown{display:block;font-size:31px;letter-spacing:3px;font-weight:500;line-height:1.6;font-variant-numeric:tabular-nums}.hero-section{font-size:11px;color:#c4ded2;margin-bottom:9px}.future-date{color:#c4ded2;font-size:12px;margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:29px 0 15px}.section-heading h2{font-size:16px}.section-heading h2 span,.count{font-size:11px;border-radius:6px;padding:3px 7px;background:var(--soft);color:var(--green);margin-left:7px}.section-heading a{font-size:11px}.timeline{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--card)}.course-row{display:flex;align-items:center;gap:17px;border:0;border-bottom:1px solid var(--line);width:100%;border-radius:0;text-align:left;background:var(--card);padding:20px}.course-row:last-child{border-bottom:0}.course-row.active{background:var(--soft)}.time-col{width:53px;flex-shrink:0;align-self:start}.time-col strong{font-size:15px}.time-col small{display:block;margin-top:4px}.course-body{flex:1;min-width:0}.row-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.course-body p{font-size:11px;margin-top:7px;line-height:1.6}.course-body small{font-size:10px}.chevron{font-size:22px;color:var(--muted)}.tag{display:inline-block;font-size:9px;color:var(--green);background:#dcead7;padding:3px 7px;border-radius:5px;font-weight:500;white-space:nowrap}.tag.neutral{background:var(--bg);color:var(--muted)}.tag.warning{color:#96611d;background:#fff0d9}.summary-card,.note-card,.card{padding:25px;background:var(--card);border:1px solid var(--line);border-radius:15px}.summary-card h2{font-size:16px}.stats{display:flex;gap:35px;margin:23px 0}.stats strong{display:block;font-size:33px;font-weight:500}.stats span{font-size:11px;color:var(--muted)}.progress{height:5px;background:var(--soft);border-radius:10px;overflow:hidden}.progress span{height:100%;background:var(--green);display:block}.summary-card p{font-size:11px;margin-top:17px}.note-card{background:#eef1e6;margin-top:20px;border:0}.note-card>span{font-size:26px;color:#758d5d}.note-card h3{margin:12px 0 7px;font-size:15px}.note-card p{font-size:11px}.note-card a{font-size:11px;display:block;margin-top:20px}.empty-card{text-align:center;background:var(--card);border:1px dashed #c8d8ca;border-radius:20px;padding:50px 25px}.empty-icon{display:block;font-size:40px;color:var(--green);margin-bottom:17px}.empty-card p{font-size:13px;margin:12px 0 22px}.primary{display:inline-block;background:var(--green);color:#fff;border:0;padding:12px 19px;border-radius:9px;font-size:13px}.primary:hover{background:#207c61}.quiet{text-align:center;padding:30px;color:var(--muted);font-size:13px}.day-message{display:flex;align-items:center;gap:15px;padding:16px 20px;background:var(--soft);border-radius:14px;margin-bottom:16px}.day-message>span{font-size:25px;color:var(--green)}.day-message strong{font-size:14px}.day-message p{font-size:11px}footer{border-top:1px solid var(--line);padding:23px 0;font-size:10px;color:var(--muted);display:flex;justify-content:space-between}.week-controls{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.viewing-week{min-width:115px;text-align:center;padding:6px 10px;color:var(--green);background:var(--soft);border-radius:10px}.viewing-week strong{display:block;font-size:15px}.viewing-week small{display:block;font-size:10px;margin-top:3px}.return-week{font-size:11px}@media(max-width:700px){.schedule-heading{flex-wrap:wrap;gap:14px}.schedule-heading .week-controls{width:100%}}.day-tabs{display:flex;gap:7px;margin-bottom:22px}.day-tabs button{flex:1;position:relative;padding:14px 8px;border:1px solid var(--line);font-size:13px}.day-tabs small{display:block;margin-top:7px;font-size:10px}.chosen{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.chosen small{color:#d2e8dc}.day-tabs button.today:not(.chosen){border-color:var(--green);color:var(--green)}.dot{display:block;width:4px;height:4px;border-radius:50%;background:#93b78b;margin:7px auto -5px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--card)}.day-panel{border-right:1px solid var(--line)}.day-panel:last-child{border:0}.day-panel h2{font-size:12px;padding:15px;text-align:center;border-bottom:1px solid var(--line)}.day-panel .course-row{display:block;padding:14px 10px}.day-panel .time-col{width:auto;display:flex;gap:8px;margin-bottom:9px}.day-panel .time-col strong{font-size:11px}.day-panel .time-col small{margin:0;font-size:10px}.day-panel h3{font-size:12px}.day-panel .chevron{display:none}.day-panel .course-body p span{display:block}.day-empty{padding:45px 5px;text-align:center;font-size:11px;color:var(--muted);line-height:2}.day-empty small{font-size:9px}.overlay{position:fixed;inset:0;background:#102a2266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:20px;z-index:20}.modal{background:var(--card);color:var(--text);border-radius:19px;padding:30px;max-width:580px;width:100%;max-height:90vh;overflow:auto;position:relative;box-shadow:var(--shadow)}.modal h2{margin:8px 0 15px;font-size:22px}.modal>p{font-size:13px;margin:12px 0}.modal .primary{margin-top:15px}.close{position:absolute;top:14px;right:14px;border:0;font-size:25px;padding:0;width:32px;height:32px;color:var(--text)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0;font-size:12px;color:var(--muted)}.detail-grid strong{display:block;color:var(--text);margin-top:5px}.notice{padding:13px 17px;background:#fff2da;color:#97631e;font-size:12px;line-height:1.7;border-radius:9px;margin:15px 0;overflow-wrap:anywhere}.notice.error{background:#ffebe7;color:#b44635}.notice.success{background:var(--soft);color:var(--green)}.login{max-width:420px;margin:35px auto}.login h2{font-size:25px}.login p{font-size:13px;margin:10px 0 25px}label{display:block;font-size:12px;color:var(--muted);margin:15px 0}label input,label select,label textarea{display:block;margin-top:7px}.login .primary{width:100%;margin-top:10px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:25px}.admin-tabs button{border:0;background:transparent;color:var(--muted);font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters>input{flex:2;min-width:160px}.filters>select{flex:1;min-width:105px}.check-label{display:flex;gap:8px;align-items:center;margin:8px 0;font-size:12px;white-space:nowrap}.check-label input{margin:0}.bulk{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.admin-course{display:flex;align-items:center;gap:18px;margin-bottom:12px;padding:20px}.admin-course>div:not(.actions){flex:1}.admin-course h3{line-height:1.8}.admin-course p{font-size:12px;margin:5px 0}.actions{display:flex;gap:7px;justify-content:flex-end}.actions button{font-size:12px;padding:8px 12px}.text-danger{color:#b44635}.danger{background:#b44635;color:#fff;border:0;font-size:12px}.review-reason{color:#b47e2e!important;font-size:11px!important;line-height:1.8}.import-panel>p,.settings-panel>p,.card>p{font-size:13px;margin:12px 0 20px}textarea{resize:vertical}.preview-row{border-top:1px solid var(--line);padding:16px 0}.preview-row>p{font-size:12px}.settings-panel{max-width:650px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid label{margin:9px 0}fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:15px}legend{font-size:12px;color:var(--muted)}.presets{display:flex;gap:5px;flex-wrap:wrap}.presets button{font-size:10px;padding:7px 9px}.week-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:13px 0}.week-picker button{padding:7px 0;font-size:11px;border-radius:5px}.inline{display:flex;gap:6px;margin-bottom:12px}.inline input{font-size:11px}.inline button{white-space:nowrap;font-size:11px}.log-row{padding:18px 0;border-top:1px solid var(--line)}.log-row strong{font-size:14px}.log-row small{display:block;margin-top:8px}.log-row p{font-size:12px;margin-top:6px;overflow-wrap:anywhere}[data-theme=dark]{--bg: #14211c;--card: #1e2d26;--text: #e0eae2;--muted: #91a798;--line: #32443a;--green: #8fcaac;--soft: #2b4333;background:var(--bg);color:var(--text)}[data-theme=dark] .hero,[data-theme=dark] .primary,[data-theme=dark] .chosen,[data-theme=dark] .brand-icon{background:#246e53!important;color:#fff!important}[data-theme=dark] .note-card{background:#2a3627}[data-theme=dark] .notice.error{background:#4e2b28;color:#ffb1a2}@media(max-width:1000px){.shell{padding:0 26px}.home-grid{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.week-grid{grid-template-columns:1fr}.day-panel{display:none;border:0}.day-panel.visible{display:block}.day-panel h2{text-align:left;padding:20px}.day-panel .course-row{display:flex;padding:20px;gap:20px}.day-panel .time-col{display:block;min-width:50px}.day-panel .time-col strong{font-size:15px}.day-panel .time-col small{margin-top:4px}.day-panel h3{font-size:15px}.day-panel .course-body p span{display:inline}.day-panel .chevron{display:block}.day-empty{padding:60px}}@media(max-width:700px){.shell{padding:0 20px}.top{height:78px}.brand-sub{display:none}.brand{font-size:21px}.brand-icon{width:37px;height:37px;border-radius:10px;font-size:18px}.nav{gap:28px;height:45px}.nav a{font-size:12px}main{padding:27px 0 40px}.page-heading{align-items:start;margin-bottom:24px}.eyebrow{font-size:9px;margin-bottom:9px}h1{font-size:27px}.weekday{display:block;margin:7px 0 0;font-size:12px}.page-heading p{font-size:10px}.week-badge{font-size:10px;padding:8px 11px;margin-top:24px}.home-grid{display:block}.hero{padding:24px;border-radius:17px}.hero h2{font-size:24px;margin-top:24px}.hero-time{font-size:20px}.hero-meta{gap:15px;font-size:11px}.countdown{font-size:28px}.hero-section{font-size:10px}.home-grid aside{display:none}.course-row{padding:18px 15px;gap:13px}.course-body h3{font-size:14px}.section-heading h2{font-size:15px}.tag{font-size:8px}.day-tabs{gap:4px}.day-tabs button{font-size:11px;padding:12px 2px}.day-tabs small{font-size:9px}.week-controls button{padding:8px 11px;font-size:11px}.modal{padding:24px;max-height:94vh}.overlay{padding:12px}.card{padding:20px}.admin-course{gap:10px;flex-wrap:wrap;padding:16px}.admin-course>div:not(.actions){min-width:200px}.admin-course .actions{width:100%}.admin-course p{font-size:11px}.filters input{font-size:12px}.filters select{font-size:11px}.admin-tabs{gap:2px}.admin-tabs button{font-size:11px;padding:9px 11px}.toolbar h2{font-size:16px}.primary{padding:11px 15px;font-size:12px}.form-grid{gap:0 10px}.week-picker{grid-template-columns:repeat(5,1fr)}footer span{display:none}.empty-card{padding:40px 20px}.empty-card h2{font-size:19px}}.academic-profile{display:flex;gap:36px;padding:18px 22px;background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:25px;flex-wrap:wrap}.academic-profile div{min-width:100px}.academic-profile small{display:block;font-size:10px;margin-bottom:5px}.academic-profile strong{display:block;font-size:13px;font-weight:500}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.schedule-toolbar>a{font-size:12px}.view-switch{display:flex;gap:4px}.view-switch button{font-size:12px}.schedule-help{font-size:11px;margin-bottom:18px}.timetable-scroll{overflow:auto;max-height:75vh;border:1px solid var(--line);border-radius:14px;background:var(--card)}.timetable{width:100%;min-width:1000px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}.timetable th,.timetable td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.timetable thead th{background:var(--card);position:sticky;top:0;z-index:3;padding:15px 8px;font-size:12px}.timetable thead th:first-child{width:65px;left:0;z-index:4}.timetable tbody th{position:sticky;left:0;z-index:2;background:var(--card);text-align:center;font-size:15px;padding-top:18px}.timetable th small{display:block;font-weight:400;font-size:10px;margin-top:5px}.timetable td:last-child,.timetable th:last-child{border-right:0}.timetable tr:last-child>td,.timetable tr:last-child>th{border-bottom:0}.timetable td.today-column,.timetable th.today-column{background:var(--soft)}.table-course{background:var(--soft);border:1px solid var(--line);border-radius:8px;margin-bottom:7px;overflow:hidden}.table-course:last-child{margin-bottom:0}.table-course-main{display:block;width:100%;text-align:left;padding:12px 9px;background:transparent;border:0;border-radius:0}.table-course-main strong{display:block;font-size:12px;line-height:1.6;margin-bottom:8px}.table-course-main>span:not(.tag){display:block;font-size:10px;line-height:1.8}.table-course-main small{display:block;font-size:9px;line-height:1.7;overflow-wrap:anywhere;margin-top:6px}.table-course-main .tag{margin-top:8px}.table-course-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line)}.table-course-actions button{background:transparent;border:0;padding:8px;font-size:10px}.current-course{outline:2px solid var(--green);outline-offset:-2px}.empty-cell{height:56px;width:100%;background:transparent;border:1px dashed var(--line);font-size:20px;color:var(--muted)}.empty-cell:hover{background:var(--soft);color:var(--green)}.add-cell{width:100%;font-size:10px;background:transparent;border-style:dashed;margin-top:8px;padding:7px}.empty-dash{display:block;text-align:center;height:56px;line-height:56px;color:var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.academic-profile{gap:15px;padding:15px}.academic-profile div{min-width:70px;flex:1}.academic-profile strong{font-size:11px}.schedule-toolbar{gap:7px;flex-wrap:wrap}.view-switch button{font-size:11px;padding:9px 12px}.timetable-scroll{max-height:70vh}.timetable{min-width:1000px}.schedule-help{font-size:10px}}.mobile-nav{display:none}.course-row{border-left:4px solid var(--course-accent, var(--green))}.course-row .time-col strong{color:var(--course-accent, var(--text))}.table-course{background:var(--course-tint, var(--soft));border-left:4px solid var(--course-accent, var(--green))}.day-course-wrap{border-bottom:1px solid var(--line)}.day-course-wrap:last-child{border-bottom:0}.day-course-wrap .course-row{border-bottom:0}.day-course-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 15px 12px;background:var(--card)}.day-course-actions button{font-size:11px;padding:7px 10px}.day-course-wrap .course-row.active+.day-course-actions{background:var(--soft)}[data-theme=dark] .table-course{background:var(--course-dark-tint, var(--soft));border-left-color:var(--course-dark-accent)}[data-theme=dark] .course-row{border-left-color:var(--course-dark-accent)}[data-theme=dark] .course-row .time-col strong{color:var(--course-dark-accent)}@media(max-width:700px){.top,.nav{display:none}.shell{padding:0 16px 75px}main{padding:18px 0 12px;min-height:calc(100dvh - 85px)}.academic-profile{border:0;background:transparent;border-radius:0;padding:0;margin:0 0 20px;gap:4px 10px}.academic-profile div{flex:initial;min-width:0;display:flex;align-items:center}.academic-profile div+div:before{content:"·";color:var(--muted);margin-right:10px}.academic-profile small{display:none}.academic-profile strong{font-size:10px;color:var(--muted);font-weight:400}.home .page-heading .eyebrow{display:none}.home .page-heading{align-items:center;margin-bottom:20px}.home h1{font-size:28px}.home .weekday{display:inline;font-size:11px;margin:0 0 0 10px}.home .week-badge{margin:0;font-size:10px;padding:7px 10px}.home .page-heading p{margin-top:7px}.hero{padding:22px}.hero h2{margin-top:20px;font-size:23px}.hero-meta{margin-top:16px}.hero-bottom{margin-top:20px;padding-top:16px}.countdown{font-size:27px}.section-heading{margin-top:24px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;padding:7px 16px calc(7px + env(safe-area-inset-bottom));gap:6px;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -5px 20px #123b2410}.mobile-nav a{flex:1;text-align:center;color:var(--muted);font-size:12px;padding:11px 6px;border-radius:9px}.mobile-nav a.router-link-exact-active{background:var(--soft);color:var(--green);font-weight:600}.mobile-nav button{width:40px;height:40px;border:0;background:transparent;font-size:22px;padding:0}footer{display:none}.page-heading{margin-bottom:20px}.schedule-toolbar{margin-bottom:14px}.schedule-help{line-height:1.6;margin-bottom:14px}.day-tabs{gap:4px;margin-bottom:15px}.day-tabs button{border-radius:9px;font-size:11px;padding:12px 2px}.week-grid{border-radius:13px}.day-panel h2{padding:16px;font-size:13px}.day-panel .course-row{padding:19px 14px;gap:13px}.day-panel .course-body p{font-size:11px}.day-panel .time-col{min-width:48px}.day-panel .course-row h3{font-size:14px}.day-empty{padding:40px 10px}.timetable{min-width:850px}.timetable-scroll{max-height:65dvh}.timetable th,.timetable td{padding:5px}.table-course-main{padding:10px 7px}.table-course-main strong{font-size:11px}.table-course-main small{display:none}.login{margin:12px auto}.overlay{z-index:20}}.timetable-scroll{max-height:none;overflow:visible;border-radius:12px}.timetable{min-width:0;width:100%}.timetable thead th{background:var(--green);color:var(--card);position:static;padding:13px 5px;font-weight:500}.timetable thead th.today-column{background:#1f8165;color:#fff}.timetable thead th small{color:#c9e6d9;font-size:11px;margin:0 0 5px}.timetable thead th:first-child{width:58px}.timetable tbody tr{height:70px}.timetable tbody th{position:static;font-size:13px;padding:18px 3px 3px;color:var(--muted)}.timetable tbody th small{font-size:9px;white-space:nowrap}.timetable td{padding:5px;vertical-align:top}.timetable td.today-column{background:var(--bg)}.table-course{position:relative;border:0;border-left:3px solid var(--course-accent);border-radius:9px;margin-bottom:4px;box-shadow:0 2px 6px #173e2510}.table-course-main{min-height:118px;padding:10px 7px}.table-course-main strong{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin-bottom:8px}.table-course-main .block-location{font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.table-course-main .block-teacher{font-size:9px;line-height:1.6;margin-top:4px}.review-dot{position:absolute;right:3px;bottom:3px;font-size:9px;background:#fff9;color:#8c5c22;width:12px;height:12px;border-radius:50%;text-align:center;line-height:12px}.empty-cell{height:58px;border:0;color:var(--line);font-size:15px;padding:0}.empty-dash{visibility:hidden;height:58px}.schedule-heading .eyebrow,.table-course-actions,.add-cell{display:none}@media(max-width:700px){.shell:has(.timetable){padding-left:7px;padding-right:7px}.shell:has(.timetable) .academic-profile,.shell:has(.timetable) .schedule-heading,.shell:has(.timetable) .schedule-toolbar,.shell:has(.timetable) .schedule-help{margin-left:9px;margin-right:9px}.schedule-heading h1{font-size:23px}.schedule-heading p{font-size:9px}.schedule-toolbar{gap:4px;margin-bottom:12px}.schedule-help{font-size:9px;margin-bottom:10px}.timetable{min-width:0}.timetable-scroll{max-height:none;border-radius:10px;overflow:hidden}.timetable thead th:first-child{width:35px}.timetable thead th{font-size:12px;padding:10px 1px}.timetable thead th small{font-size:9px;margin-bottom:4px}.timetable th,.timetable td{padding:3px 2px}.timetable tbody tr{height:60px}.timetable tbody th{font-size:11px;padding-top:19px}.timetable tbody th small{font-size:7px;letter-spacing:-.3px}.table-course{border-radius:6px;border-left-width:2px;box-shadow:none}.table-course-main{min-height:110px;padding:7px 3px}.table-course-main strong{font-size:10px;font-weight:500;line-height:1.5;-webkit-line-clamp:5;margin-bottom:6px}.table-course-main .block-location{font-size:8px;line-height:1.5;-webkit-line-clamp:2}.table-course-main .block-teacher{font-size:8px;line-height:1.5}.empty-cell,.empty-dash{height:52px}.timetable .current-course{outline-width:2px}}.timetable tbody th{vertical-align:middle;padding-top:3px;font-size:11px}.timetable tbody th small{margin-top:6px}@media(max-width:700px){.timetable tbody th{font-size:9px;padding-top:3px}.timetable tbody th small{font-size:7px}}.desktop-nav{height:66px;align-items:center;gap:30px}.desktop-nav a{height:66px;display:flex;align-items:center}.desktop-nav .compact-brand{font-size:18px;color:var(--green);font-weight:700;margin-right:12px}.desktop-nav .compact-brand:after{display:none}.desktop-theme{margin-left:auto}.display-controls{display:flex;justify-content:flex-end;margin-bottom:14px;gap:18px;align-items:center}.display-controls button{font-size:11px;padding:8px 12px;background:transparent}.display-clock{font-size:18px;letter-spacing:2px;font-variant-numeric:tabular-nums}.home.presentation{position:fixed;inset:0;z-index:50;overflow:auto;background:#176b55;color:#edf5f1;padding:32px clamp(20px,5vw,80px);width:100%;height:100dvh;max-width:none}.home.presentation:fullscreen{background:#176b55}.home.presentation .display-controls{margin-bottom:18px}.home.presentation .display-controls button{color:#cde4db;border-color:#c8dfce25;background:#d5ebd008}.home.presentation .display-clock,.home.presentation .weekday,.home.presentation .page-heading p{color:#cde4db}.home.presentation .week-badge{color:#cde4db;border-color:#c8dfce20;background:#c8dfce09}.home.presentation .page-heading{margin-bottom:25px}.home.presentation .page-heading .eyebrow{display:none}.home.presentation .home-grid{display:block}.home.presentation .home-grid>aside,.home.presentation .section-heading,.home.presentation .timeline{display:none}.home.presentation .hero{min-height:55vh;padding:clamp(24px,4vw,55px);display:flex;flex-direction:column;justify-content:center;cursor:default;background:transparent;color:#edf5f1;border:0;box-shadow:none;border-radius:0}.home.presentation .hero:after{display:none}.home.presentation .hero:hover{transform:none;background:transparent}.home.presentation .hero h2{font-size:clamp(28px,4vw,64px);margin:30px 0 20px}.home.presentation .hero-time{font-size:clamp(23px,3vw,40px)}.home.presentation .hero-meta{font-size:clamp(14px,1.6vw,22px)}.home.presentation .countdown{font-size:clamp(44px,7vw,100px);letter-spacing:5px;color:#edf5f1;font-weight:400}.home.presentation .hero-bottom{align-items:center}.home.presentation .hero-bottom small,.home.presentation .hero-section{font-size:14px}.home.presentation .day-message{padding:12px 18px;margin-bottom:16px;background:#d5ebd008;color:#cde4db}.home.presentation .day-message p,.home.presentation .empty-card p{color:#cde4db}.home.presentation .empty-card{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border-color:transparent}.shell:has(.presentation) .desktop-nav,.shell:has(.presentation) .mobile-nav,.shell:has(.presentation) .academic-profile,.shell:has(.presentation) footer{display:none}@media(max-width:700px){.desktop-nav{display:none}.display-controls{margin-bottom:12px}.home.presentation{padding:18px}.home.presentation .display-clock{font-size:13px}.home.presentation .hero h2{font-size:30px}.home.presentation .hero{min-height:60vh}.home.presentation .hero-section{font-size:11px}.home.presentation .page-heading{margin-bottom:18px}}@media(orientation:landscape)and (max-height:600px){.home.presentation{padding:14px 26px;display:flex;flex-direction:column}.home.presentation .display-controls{position:absolute;right:26px;top:14px;margin:0;z-index:2}.home.presentation .display-controls button{padding:5px 9px;font-size:10px}.home.presentation .page-heading{margin:0 0 14px;padding-right:210px;min-height:48px}.home.presentation .page-heading h1{font-size:23px}.home.presentation .page-heading p{font-size:10px}.home.presentation .week-badge{font-size:10px;padding:6px 10px}.home.presentation .home-grid{flex:1;min-height:0}.home.presentation .home-grid>section{height:100%}.home.presentation .hero{height:100%;min-height:0;padding:20px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:30px;align-content:center}.home.presentation .hero-top{grid-column:1/-1;margin-bottom:14px}.home.presentation .hero h2{font-size:clamp(23px,3.8vw,38px);grid-column:1;margin:0 0 13px}.home.presentation .hero-time{grid-column:1;font-size:23px}.home.presentation .future-date{grid-column:1;margin-top:8px}.home.presentation .hero-meta{grid-column:1;font-size:12px;margin-top:15px}.home.presentation .hero-bottom{grid-column:2;grid-row:2/6;border:0;border-left:1px solid #ffffff25;padding:10px 0 10px 30px;margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}.home.presentation .countdown{font-size:clamp(34px,6vw,64px);letter-spacing:2px}.home.presentation .hero-bottom small{font-size:11px}.home.presentation .hero-section{font-size:10px;margin:0}.home.presentation .day-message{position:absolute;left:26px;bottom:18px;background:transparent;color:#fff;z-index:2;pointer-events:none;padding:0}.home.presentation .day-message p{display:none}.home.presentation .day-message strong{font-size:10px}.home.presentation .day-message>span{display:none}.home.presentation .empty-card{min-height:0;height:100%}}
