@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start-1{inset-inline-start:calc(var(--spacing) * 1)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.hidden{display:none}}:root{--background:#f6f7fb;--surface:#fff;--ink:#243047;--muted:#717b8e;--line:#e9ecf3;--primary:#335cff;--primary-soft:#edf1ff;--font-body:"PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;--font-number:"Avenir Next", "Segoe UI", var(--font-body)}*{box-sizing:border-box}body{background:var(--background);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button,a{transition:background-color .16s,box-shadow .16s,color .16s}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}button{border:0}a{color:inherit;text-decoration:none}svg{flex-shrink:0}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;width:212px;padding:38px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:2px;align-items:center;gap:11px;padding:0 8px;font-size:25px;font-weight:700;display:flex}.brand-icon{color:#fff;background:var(--primary);border-radius:13px;place-items:center;width:42px;height:44px;display:grid;box-shadow:0 5px 12px #335cff1f}.brand small{letter-spacing:1px;color:var(--muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.sidebar-label{color:var(--muted);letter-spacing:1.4px;margin:54px 14px 16px;font-size:11px}nav{flex-direction:column;gap:7px;display:flex}.nav-item{color:#626d80;text-align:left;background:0 0;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:46px;padding:12px 14px;display:flex}.nav-item:hover{background:var(--background)}.nav-item.active{background:var(--primary-soft);color:#3152d6;font-weight:600}.nav-indicator{background:var(--primary);border-radius:50%;width:5px;height:5px;margin-left:auto}.semester-card{color:#65728f;background:#f8f9fd;border:1px solid #edf0f7;border-radius:10px;margin:auto 4px 26px;padding:20px 15px}.semester-card>span{color:#475570;margin-top:12px;font-size:13px;font-weight:600;display:block}.semester-card small{margin-top:5px;font-size:11px;display:block}.semester-rule{background:#a9b9f6;border-radius:4px;width:26px;height:3px;margin-top:17px}.sidebar-bottom{border-top:1px solid var(--line);align-items:center;gap:10px;padding:20px 0 0;font-size:13px;display:flex}.avatar{color:#737e94;background:#eef0f6;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.sidebar-bottom small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.sidebar-bottom .icon-button{margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar[hidden]{display:none}.sidebar-collapsed .main-content{max-width:none;margin-left:0}.main-content{max-width:1800px;margin-left:212px;padding:39px 36px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.eyebrow{letter-spacing:.5px;color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.demo-badge{color:#63708a;background:#fff9;border:1px solid #dce2ec;border-radius:4px;padding:3px 7px;font-size:10px}h1{letter-spacing:-.7px;margin:10px 0 8px;font-size:31px;font-weight:650;line-height:1.3}.heading-dot{color:var(--primary);margin-left:3px}.page-heading p{color:var(--muted);margin:0;font-size:13px}.mobile-brand{display:none}.button{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.primary{background:var(--primary);color:#fff;box-shadow:0 3px 7px #335cff17}.primary:hover{background:#2349e3}.secondary{border:1px solid var(--line);background:#f5f6fa}.secondary:hover{background:#ebedf5}.full{width:100%}.demo-notice{color:#52658d;background:#eef3ff;border:1px solid #e0e7fb;border-radius:7px;align-items:center;gap:9px;margin-bottom:23px;padding:11px 14px;font-size:12px;display:flex}.demo-notice p{flex-wrap:wrap;gap:12px;margin:0;display:flex}.demo-notice strong{color:#3e578c;font-weight:500}.stage-label{white-space:nowrap;letter-spacing:1px;color:#6d7fa4;margin-left:auto;font-size:10px}.schedule-panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:clip;box-shadow:0 4px 22px #28345503}.schedule-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:93px;padding:20px 23px;display:flex}.week-info{align-items:center;gap:12px;display:flex}.week-symbol{color:#5c70af;background:#f4f6fb;border-radius:9px;place-items:center;width:42px;height:44px;display:grid}.week-info h2{margin:0;font-size:18px;font-weight:600}.week-info h2 span{font-family:var(--font-number);margin:0 3px;font-size:23px;font-weight:650}.week-info p{color:var(--muted);font-size:11px;font-family:var(--font-number);margin:3px 0 0}.toolbar-actions{align-items:center;gap:20px;display:flex}.week-switcher{align-items:center;gap:2px;display:flex}.icon-button{color:#788297;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--primary);background:#f0f3fa}.today-button{color:#606b80;background:0 0;border-radius:5px;height:36px;padding:0 9px;font-size:12px}.today-button:hover{background:#f1f4fa}.view-switcher{background:#f3f5f9;border-radius:7px;gap:3px;padding:3px;display:flex}.view-switcher button{color:#7a8498;background:0 0;border-radius:5px;align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:12px;display:flex}.view-week .week-view-button,.view-day .day-view-button,.view-auto .week-view-button{color:#3e4e71;background:#fff;box-shadow:0 1px 4px #26364a10}.grid-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:86px repeat(7,minmax(0,1fr));min-height:79px;display:grid}.grid-heading>button{border-left:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:17px 5px;display:flex;position:relative}.grid-heading>button:hover{background:#f7f8fe}.grid-heading>button>span{color:#7d8696;font-size:12px}.grid-heading>button>strong{color:#48526b;font:600 21px var(--font-number)}.grid-heading .today-column{background:#f5f7ff}.grid-heading .today-column>strong{color:var(--primary)}.grid-heading small{color:#526aca;font-size:9px;position:absolute;bottom:5px}.time-heading{color:#9199a8;place-items:center;font-size:10px;display:grid}.timetable{grid-template-rows:repeat(14,62px);grid-template-columns:86px repeat(7,minmax(0,1fr));display:grid;position:relative}.time-cell{color:#81899a;font-family:var(--font-number);border-bottom:1px solid #f0f2f6;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.period-number{color:#a4abb8;font-size:10px}.time-cell div{flex-direction:column;font-size:11px;line-height:1.6;display:flex}.time-cell small{color:#a0a8b6;font-size:10px}.session-name{color:#8290a7;align-items:center;gap:3px;font-size:9px;display:flex;position:absolute;top:1px;left:6px}.time-cell:has(.session-name){padding-top:10px}.grid-cell{border-left:1px solid var(--line);border-bottom:1px solid #f0f2f6}.today-cell{background:#fafbff}.weekend-cell{background:#fbfcfe}.section-start{border-top:2px solid #e2e7f0}.course-position{z-index:1;min-width:0;min-height:0;padding:4px}.course-card{text-align:left;border-left:3px solid var(--course-accent);background:var(--course-bg);width:100%;height:100%;color:var(--course-ink);border-radius:7px;flex-direction:column;align-items:flex-start;padding:13px 14px;display:flex;position:relative}.course-card:hover{filter:brightness(.975);box-shadow:0 3px 9px #24304712}.blue{--course-accent:#7098ee;--course-bg:#edf3ff;--course-ink:#325a9a}.purple{--course-accent:#ab90d6;--course-bg:#f2eefb;--course-ink:#6a5097}.teal{--course-accent:#64b5a6;--course-bg:#e9f6f1;--course-ink:#327563}.orange{--course-accent:#dfa472;--course-bg:#fff3e7;--course-ink:#986135}.pink{--course-accent:#d88caa;--course-bg:#fbedf2;--course-ink:#9c4c6c}.indigo{--course-accent:#8c94d9;--course-bg:#eef0fc;--course-ink:#555b9e}.course-name{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.6}.course-time{font-size:12px;font-family:var(--font-number);margin-top:7px;font-weight:500;display:block}.course-room{opacity:.92;overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.6;display:block}.course-period{opacity:.8;justify-content:space-between;width:100%;margin-top:12px;font-size:11px;display:flex}.compact{border-left-width:2px;padding:9px}.compact .course-name{font-size:14px;line-height:1.5}.compact .course-time{margin-top:5px;font-size:12px}.compact .course-room{font-size:12px;line-height:1.5}.weekend-note{z-index:1;color:#a1aabb;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;display:flex}.schedule-footer{color:#8b93a3;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:11px;display:flex}.schedule-footer>span:first-child{align-items:center;display:flex}.legend-dot{background:#7c90b5;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.footer-divider{color:#c1c8d3;margin:0 10px}.below-schedule{color:#818ba0;justify-content:space-between;align-items:center;gap:20px;padding:21px 2px;display:flex}.below-schedule>div{gap:10px;display:flex}.below-schedule p{color:#636e82;margin:0;font-size:12px}.below-schedule p span{color:#858fa2;margin-top:5px;font-size:11px;line-height:1.8;display:block}.text-button{white-space:nowrap;color:#657798;background:0 0;border-radius:5px;align-items:center;gap:5px;min-height:40px;padding:0 6px;font-size:12px;display:flex}.text-button:hover{background:#e9eef8}.page-footer{color:#949cab;letter-spacing:.5px;border-top:1px solid #e8ebf2;justify-content:space-between;padding:19px 0 23px;font-size:10px;display:flex}.day-picker,.day-agenda,.mobile-week-agenda,.mode-day .desktop-week{display:none}.mode-day .day-picker{display:grid}.mode-day .day-agenda{display:block}.day-picker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:14px 22px}.day-picker button{color:#828c9e;background:0 0;border-radius:9px;flex-direction:column;align-items:center;gap:9px;min-height:81px;padding:12px 4px 7px;font-size:12px;display:flex}.day-picker strong{font:600 20px var(--font-number);color:#4c5870}.day-picker i{background:0 0;border-radius:50%;width:4px;height:4px}.day-picker .demo-today i{background:#335cff}.day-picker .selected{background:var(--primary);color:#e2e8ff}.day-picker .selected strong{color:#fff}.day-picker .selected i{background:#d6e0ff}.agenda-day{padding:25px}.agenda-heading{color:#8b94a5;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:12px;display:flex}.agenda-heading h3{color:#48546d;margin:0;font-size:16px;font-weight:600}.agenda-heading h3 span{color:#8b94a5;margin-left:10px;font-size:12px;font-weight:400}.agenda-courses{flex-direction:column;gap:20px;display:flex}.agenda-row{gap:20px;display:flex}.agenda-time{width:48px;font-family:var(--font-number);flex-direction:column;flex-shrink:0;gap:5px;padding-top:12px;display:flex}.agenda-time strong{color:#52617b;font-size:14px;font-weight:600}.agenda-time span{color:#99a1af;font-size:12px}.agenda-row>button{flex:1}.empty-day{color:#a0aec6;flex-direction:column;justify-content:center;align-items:center;min-height:250px;display:flex}.empty-day h4{color:#65748e;margin:18px 0 7px;font-size:15px;font-weight:500}.empty-day p{color:#8e99aa;margin:0;font-size:12px}.dialog-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#17213955;animation:.15s ease-out appear;position:fixed;inset:0}.dialog-content{z-index:50;background:#fff;border-radius:15px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 40px);padding:30px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 100px #17213930}.dialog-close{position:absolute;top:10px;right:10px}.modal-title{margin:16px 15px 8px 0;font-size:23px;font-weight:600;line-height:1.5}.modal-description{color:#758198;font-size:14px;line-height:1.9}.modal-icon{background:var(--primary-soft);color:var(--primary);border-radius:12px;padding:12px;display:inline-flex}.course-tag{background:var(--course-bg);color:var(--course-ink);border-radius:5px;padding:5px 9px;font-size:12px;display:inline-flex}.detail-list{margin:27px 0}.detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px 0;font-size:13px;display:grid}.detail-list dt{color:#8791a3;gap:7px;display:flex}.detail-list dd{color:#455571;margin:0;line-height:1.8}.modal-note{color:#7b869b;background:#f5f7fb;border-radius:6px;margin:20px 0;padding:13px;font-size:12px;line-height:1.9}.period-table{margin-top:18px}.period-table table{border-collapse:collapse;width:100%;font-family:var(--font-number)}.period-table th,.period-table td{border-bottom:1px solid var(--line);text-align:center;padding:8px 4px;font-size:13px;font-weight:400}.period-table thead th{color:var(--muted);background:var(--background)}.period-table tbody tr:nth-child(6),.period-table tbody tr:nth-child(11){border-top:2px solid #dce2ed}.settings-form{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 22px;display:grid}.settings-form label{color:#68758d;flex-direction:column;gap:6px;font-size:12px;display:flex}.settings-form input,.settings-form select,.time-input{color:#42516d;min-height:36px;font:inherit;background:#fff;border:1px solid #dfe4ed;border-radius:6px;padding:0 9px}.settings-form input:focus,.settings-form select:focus,.time-input:focus{border-color:var(--primary);outline:3px solid #dce5ff}.settings-period-heading{color:#53627b;justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0 8px;font-size:13px;display:flex}.settings-period-heading span{color:#9aa3b1;text-align:right;font-size:10px}.period-table .time-input{text-align:center;width:78px;min-height:30px;padding:0 4px;font-size:12px}.settings-errors{color:#b24743;background:#fff2f1;border-radius:6px;margin:12px 0;padding:10px 12px;font-size:12px;line-height:1.8}@keyframes appear{0%{opacity:0}to{opacity:1}}@media (min-width:1600px){.main-content{padding:45px 48px 0}.compact .course-name{font-size:15px}.compact .course-time,.compact .course-room{font-size:12px}.timetable{grid-template-rows:repeat(14,61px)}}@media (max-width:1199px){.sidebar{width:176px;padding-left:12px;padding-right:12px}.main-content{margin-left:176px;padding:28px 22px 0}.toolbar-actions{gap:10px}.grid-heading,.timetable{grid-template-columns:66px repeat(7,minmax(0,1fr))}.compact{padding:7px 6px}.compact .course-name{font-size:13px}.compact .course-room{font-size:11px}.timetable{grid-template-rows:repeat(14,65px)}.grid-heading>button{flex-direction:column;gap:4px}.grid-heading>button small{display:none}}@media (max-width:1000px){.sidebar{width:74px;padding:30px 12px 20px}.brand{justify-content:center;padding:0}.brand>span:last-child,.sidebar-label,.semester-card,.sidebar-bottom,.nav-indicator{display:none}nav{margin-top:42px}.nav-item{justify-content:center;gap:0;padding:12px;font-size:0}.main-content{margin-left:74px}}@media (max-width:900px){.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;width:auto;height:auto;padding:15px 20px;position:static}.brand{letter-spacing:1px;gap:8px;font-size:20px}.brand-icon{border-radius:9px;width:31px;height:32px}.brand-icon svg{width:18px}.brand>span:last-child{display:block}.brand small{display:none}nav{flex-direction:row;gap:6px;margin:0}.nav-item{min-width:40px;min-height:40px;padding:10px}.nav-item svg{width:17px;height:17px}.main-content{margin-left:0;padding:26px 18px 0}.page-heading{gap:12px;margin-bottom:21px}.eyebrow{gap:8px;font-size:11px}h1{margin:9px 0 7px;font-size:27px}.page-heading p{font-size:12px}.page-heading>.button{min-height:40px;padding:0 12px;font-size:12px}.demo-notice{align-items:flex-start;margin-bottom:18px;padding:10px 12px;font-size:11px;line-height:1.7}.demo-notice>svg{margin-top:3px}.demo-notice p{flex-direction:column;gap:2px}.stage-label{display:none}.schedule-toolbar{flex-wrap:wrap;gap:17px;padding:17px 15px}.week-info{gap:9px}.week-symbol{width:35px;height:38px}.week-info h2{font-size:15px}.week-info h2 span{font-size:21px}.week-info p{font-size:10px}.toolbar-actions{display:contents}.week-switcher{margin-left:auto}.icon-button{width:32px;height:36px}.today-button{padding:0 5px;font-size:11px}.view-switcher{width:100%}.view-switcher button{flex:1;justify-content:center;min-height:36px}.view-auto .week-view-button{box-shadow:none;color:#7a8498;background:0 0}.view-auto .day-view-button{color:#3e4e71;background:#fff;box-shadow:0 1px 4px #26364a10}.desktop-week{display:none}.mode-auto .day-picker,.mode-day .day-picker{display:grid}.mode-auto .day-agenda,.mode-week .mobile-week-agenda{display:block}.day-picker{gap:3px;padding:10px}.day-picker button{min-height:77px;padding-left:2px;padding-right:2px;font-size:11px}.day-picker strong{font-size:18px}.agenda-day{padding:23px 16px}.agenda-heading{margin-bottom:21px}.agenda-heading h3{font-size:14px}.agenda-heading h3 span{margin-left:5px;font-size:11px}.agenda-heading>span{font-size:11px}.agenda-row{gap:11px}.agenda-time{width:43px}.agenda-time strong{font-size:12px}.course-card{padding:13px 12px}.course-name{font-size:15px}.course-time,.course-room{font-size:12px}.mobile-week-agenda .agenda-day+.agenda-day{border-top:1px solid var(--line)}.mobile-week-agenda .empty-day{min-height:130px}.schedule-footer{padding:13px 15px;font-size:10px}.schedule-footer>span:last-child{display:none}.below-schedule{align-items:flex-start;gap:8px;padding:19px 2px}.below-schedule>div{gap:7px}.below-schedule>div>svg{margin-top:2px}.below-schedule p{font-size:11px}.below-schedule p span{font-size:10px}.text-button{min-height:30px;font-size:11px}.page-footer{letter-spacing:0;font-size:9px}.dialog-content{padding:25px 22px}.modal-title{font-size:21px}.detail-list>div{grid-template-columns:88px minmax(0,1fr);font-size:12px}}@media (max-width:360px){.main-content{padding-left:12px;padding-right:12px}.schedule-toolbar{padding-left:10px;padding-right:10px}.week-symbol{display:none}.demo-badge{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:900px){.icon-button{width:44px;height:44px}.today-button{height:44px}.nav-item{min-width:44px;min-height:44px}.view-switcher button,.page-heading>.button,.text-button{min-height:44px}}.main-content{padding:16px 24px 0}.page-heading{min-height:44px;margin-bottom:6px}.heading-main{align-items:center;gap:12px;min-width:0;display:flex}.page-heading h1{white-space:nowrap;margin:0;font-size:23px}.heading-semester{color:var(--muted);white-space:nowrap;font-size:12px}.sidebar-toggle{border:1px solid var(--line);background:#fff}.demo-notice{color:#6b7891;background:0 0;border:0;min-height:20px;margin:0 0 12px;padding:0;font-size:11px}.schedule-toolbar{gap:12px;min-height:62px;padding:10px 16px}.week-symbol{display:none}.week-info h2{font-size:16px}.week-info h2 span{font-size:21px}.toolbar-actions{gap:12px}.density-toggle{color:#6e7b92;background:#f5f6fa;border-radius:6px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:12px;display:flex}.density-toggle[aria-pressed=true]{color:#335cbd;background:#edf2ff}.density-toggle:hover{box-shadow:inset 0 0 0 1px #b8c8f0}.grid-heading{min-height:46px}.grid-heading>button{flex-direction:row;gap:7px;padding:8px 4px}.grid-heading>button>strong{font-size:18px}.grid-heading small{display:none}.grid-heading .today-column:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:0;left:30%;right:30%}.density-compact .course-position{padding:2px 3px}.density-compact .compact{padding:5px 7px}.density-compact .compact .course-name{font-size:13px;line-height:1.35}.density-compact .compact .course-time{margin-top:2px;font-size:12px;line-height:1.35}.density-compact .compact .course-room{margin-top:1px;font-size:12px;line-height:1.35}.density-compact .time-cell div{line-height:1.3}.density-compact .session-name{font-size:9px;top:0;left:3px}.density-compact .session-name svg{display:none}.density-compact .time-cell:has(.session-name){padding-top:8px}.empty-period{background:#f5f7fa}.empty-period div small{display:none}.schedule-footer{padding:8px 14px}.below-schedule{align-items:flex-start;padding:8px 2px}.below-schedule details{min-width:0}.below-schedule summary{cursor:pointer;border-radius:4px;align-items:center;gap:7px;min-height:34px;font-size:12px;display:flex}.below-schedule summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.below-schedule details p{max-width:620px;margin:4px 0 12px;font-size:12px;line-height:1.8}.below-schedule .text-button{min-height:34px}@media (min-width:901px) and (max-width:1199px){.density-compact .compact{padding:5px}.density-compact .compact .course-name{font-size:13px}.density-compact .compact .course-room{font-size:11px}.toolbar-actions{gap:6px}}@media (max-width:900px){.main-content{padding:12px 16px 0}.page-heading,.heading-main{gap:8px}.page-heading h1{font-size:21px}.heading-semester{display:none}.demo-notice{align-items:center;margin-bottom:10px;font-size:11px}.demo-notice>svg{margin-top:0}.schedule-toolbar{gap:10px;padding:12px}.density-toggle{display:none}.day-picker{padding:7px 10px}.day-picker button{gap:6px;min-height:68px;padding-top:8px}.agenda-day{padding:18px 16px}.below-schedule summary,.below-schedule .text-button{min-height:44px}.settings-form{grid-template-columns:1fr}.settings-period-heading{flex-direction:column;align-items:flex-start;gap:3px}.settings-period-heading span{text-align:left}.period-table{overflow-x:auto}}.heading-actions{align-items:center;gap:10px;display:flex}.mobile-login-button,.mobile-logout-button{display:none}.editor-form{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 22px;display:grid}.editor-form label{color:#68758d;flex-direction:column;gap:6px;font-size:12px;display:flex}.editor-form input,.editor-form select{color:#42516d;min-height:38px;font:inherit;background:#fff;border:1px solid #dfe4ed;border-radius:6px;padding:0 9px}.editor-form input:focus,.editor-form select:focus{border-color:var(--primary);outline:3px solid #dce5ff}.checkbox-line{align-items:center;padding-top:24px;flex-direction:row!important}.checkbox-line input{width:18px;min-height:18px}.dialog-actions{gap:9px;margin-top:18px;display:flex}.auth-switch{color:#526ca5;margin:8px auto 0}.upload-dropzone{color:#667797;background:#f7f9ff;border:1px dashed #b9c6e4;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;min-height:150px;margin:20px 0;display:flex}.upload-dropzone strong{color:#42577f;font-size:14px}.upload-dropzone span{font-size:11px}.import-warning{color:#52658d;background:#eef3ff;border-radius:7px;margin:16px 0;padding:11px 13px;font-size:12px;line-height:1.7}.import-review{border:1px solid var(--line);border-radius:7px;max-height:310px;margin:14px 0;overflow:auto}.review-row{border-bottom:1px solid var(--line);grid-template-columns:25px repeat(5,minmax(0,1fr));align-items:center;gap:7px;padding:10px;display:grid}.review-row:last-child{border-bottom:0}.review-row input{min-width:0;min-height:32px;font:inherit;border:1px solid #dfe4ed;border-radius:5px;padding:0 7px}.review-row select{color:#42516d;min-width:0;min-height:32px;font:inherit;background:#fff;border:1px solid #dfe4ed;border-radius:5px;padding:0 7px}.review-row span{color:#7c8799;grid-column:2/-1;font-size:11px;line-height:1.5}.semester-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.semester-controls label{color:#7a8498;flex-direction:column;gap:5px;font-size:11px;display:flex}.semester-controls select{border:1px solid var(--line);color:#42516d;min-width:150px;min-height:34px;font:inherit;background:#fff;border-radius:6px;padding:0 8px}.adjustment-list{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.adjustment-list>strong{color:#596780;margin-bottom:7px;font-size:12px;display:block}.adjustment-row{color:#68758d;border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;gap:12px;min-height:35px;font-size:11px;display:flex}.adjustment-row:last-child{border-bottom:0}.adjustment-row .text-button{color:#526bca;min-height:30px}.has-conflict .course-card{box-shadow:0 0 0 2px #d88c58,0 3px 9px #24304712}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.heading-actions .button{min-height:44px}.editor-form{grid-template-columns:1fr}.checkbox-line{padding-top:0}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}.mobile-login-button,.mobile-logout-button{display:inline-flex}.mobile-login-button{min-height:44px;padding:0 10px}.review-row{grid-template-columns:25px 1fr}.review-row>input,.review-row>select{grid-column:2}.semester-controls{width:100%}.semester-controls label{flex:1}.semester-controls select{width:100%;min-width:0}.adjustment-row{align-items:flex-start;padding:5px 0}}
