.timetable-feature{padding-bottom:max(24px,env(safe-area-inset-bottom))}.legacy-timetable-import{min-width:0}.legacy-import-term{color:var(--muted);margin-top:0}.legacy-import-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.legacy-import-counts>div{padding:14px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--alt)}.legacy-import-counts dt{color:var(--muted);font-size:13px}.legacy-import-counts dd{margin:6px 0 0;font-size:24px;font-weight:700}.legacy-import-counts small{margin-left:4px;font-size:13px;font-weight:400}.legacy-timetable-import section{margin:16px 0}.legacy-timetable-import h3{font-size:14px}.legacy-timetable-import ul{margin:8px 0;padding-left:20px;overflow-wrap:anywhere;max-height:150px;overflow-y:auto}.legacy-timetable-import li{margin:6px 0}.catalogue-loading{min-height:220px;padding:24px 0;color:var(--muted)}.catalogue-select-label{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}.catalogue-select-label select{max-width:100%}.catalogue-search-form{margin-top:18px}.catalogue-course-open{flex:1 1;min-width:0;text-align:left}.catalogue-course-open small{display:block;margin-top:7px;overflow-wrap:anywhere}.catalogue-course-open:focus-visible{outline:2px solid var(--focus-outline);outline-offset:4px}.catalogue-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:24px 0}.timetable-local-label{display:flex;align-items:center;gap:7px;margin:0 0 20px;padding:9px 12px;border:1px dashed var(--border);color:var(--muted);font-size:12px}.timetable-heading,.timetable-heading>div{display:flex;align-items:center;gap:10px}.timetable-heading{flex-wrap:wrap}.catalogue-summary,.timetable-summary,.timetable-toolbar,.timetable-tools{display:flex;align-items:center;gap:12px}.timetable-toolbar{justify-content:space-between;flex-wrap:wrap;margin:22px 0 16px}.timetable-summary>strong{font-size:24px;color:var(--strong)}.timetable-summary small{font-size:13px;margin-left:3px;font-weight:400}.timetable-summary>span{color:var(--muted);font-size:13px}.timetable-summary>span:last-child{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-tools .icon-button{border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface)}.timetable-view-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}.timetable-view-controls>div{display:flex;padding:3px;background:var(--alt);border-radius:6px;gap:3px}.timetable-view-controls button{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:4px}.timetable-view-controls button[aria-pressed=true]{background:var(--surface);color:var(--strong);box-shadow:0 1px 4px #0001}.timetable-view-controls>button{color:var(--muted)}.current-timetable{border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.timetable-grid{width:100%;height:auto;display:block}.timetable-course{cursor:pointer;outline:none}.timetable-course:focus-visible>rect,.timetable-course:hover>rect{stroke:var(--strong);stroke-width:2}.timetable-course:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.untimed-courses{margin-top:24px}.timetable-lounge-preview{margin-top:34px;padding-top:26px;border-top:1px solid var(--border)}.timetable-lounge-preview>header{display:flex;align-items:center;gap:11px;margin-bottom:16px}.timetable-lounge-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-card);color:var(--brand);background:var(--brand-soft)}.timetable-lounge-preview h2{margin:0;font-size:19px;color:var(--strong)}.timetable-lounge-preview>header p{margin:3px 0 0;font-size:12px;color:var(--muted)}.timetable-lounge-filters{display:inline-flex;gap:4px;margin:0 0 12px;padding:3px;border-radius:999px;background:var(--alt)}.timetable-lounge-filters button{padding:7px 13px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:650}.timetable-lounge-filters button[aria-pressed=true]{color:var(--strong);background:var(--surface);box-shadow:0 1px 4px #00000012}.timetable-lounge-posts{list-style:none;margin:0 0 14px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.timetable-lounge-posts li+li{border-top:1px solid var(--border)}.timetable-lounge-posts a{display:grid;grid-template-columns:minmax(150px,.36fr) minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px}.timetable-lounge-posts a:hover{background:var(--alt)}.timetable-lounge-course,.timetable-lounge-posts time{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timetable-lounge-course>small,.timetable-lounge-course>span{display:block;overflow:hidden;text-overflow:ellipsis}.timetable-lounge-course>span{color:var(--strong);font-weight:650}.timetable-lounge-course>small{margin-top:3px;color:var(--muted);font-size:10px}.timetable-lounge-posts strong{min-width:0;overflow:hidden;color:var(--strong);font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.timetable-lounge-posts strong small{color:var(--teal);font-size:inherit;font-weight:500}.timetable-lounge-posts svg{color:var(--muted)}.timetable-lounge-empty{padding:21px;margin-bottom:14px;border-radius:var(--radius-card);background:var(--alt)}.timetable-lounge-empty>strong{color:var(--strong);font-size:15px}.timetable-lounge-empty p{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:var(--brand);font-size:12px;font-weight:650}.timetable-lounge-shortcuts-title{margin:18px 0 9px;color:var(--muted);font-size:12px}.timetable-lounge-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timetable-lounge-courses>div{display:flex;align-items:center;min-width:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.timetable-lounge-courses a{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1;padding:11px 8px 11px 12px}.timetable-lounge-courses a>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1 1}.timetable-lounge-courses a small,.timetable-lounge-courses a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-lounge-courses a strong{color:var(--strong);font-size:13px}.timetable-lounge-courses a small{margin-top:2px;color:var(--muted);font-size:11px}.timetable-lounge-courses a>svg{color:var(--muted);flex-shrink:0}.timetable-lounge-courses .course-marker{height:30px}.timetable-lounge-courses>div>.icon-button{width:36px;height:36px;margin-right:5px;flex-shrink:0;color:var(--muted);background:var(--alt)}.timetable-course-list{list-style:none;padding:0;margin:14px 0 0}.timetable-course-list>li{border-bottom:1px solid var(--border)}.timetable-course-list>li>button,.timetable-course-list>li>div{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;padding:17px 4px}.course-marker{display:block;flex-shrink:0;width:7px;height:32px;border:1px solid #80808025;border-radius:3px}.course-list-body{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0;overflow-wrap:anywhere}.course-list-body strong{font-size:15px;line-height:1.4;color:var(--strong)}.course-list-body>small,.course-list-body>span{color:var(--muted);font-size:12px}.course-list-body>small{line-height:1.6}.course-credit{font-size:17px;color:var(--strong);white-space:nowrap}.course-credit small{font-size:11px;margin-left:2px;font-weight:400}.course-form{display:flex;flex-direction:column;gap:17px}.comparison-select,.course-form label:not(.check-row,.custom-color){font-size:13px;color:var(--muted)}.course-form-pair>label,.course-form>label,.meeting-room>label{display:flex;flex-direction:column;gap:8px}.course-form small{font-size:12px}.comparison-select select,.course-form input:not([type=checkbox],[type=color]){width:100%;min-width:0;background:var(--alt);border:1px solid var(--border);border-radius:6px;padding:11px 12px;color:var(--strong);font-size:15px}.course-form-pair{display:grid;grid-template-columns:2fr 1fr;gap:16px}.course-form .section-heading{margin:4px 0 0}.course-form h3{font-size:15px}.course-form fieldset{margin:0;min-width:0}.meeting-editor{border:1px solid var(--border);padding:16px;border-radius:var(--radius-card)}.meeting-editor>legend{padding:0 6px;font-size:12px;color:var(--muted)}.meeting-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.meeting-days button{height:36px;border:1px solid var(--border);border-radius:5px;background:var(--alt);font-size:14px}.meeting-days button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand);border-color:var(--border);font-weight:700}.meeting-times{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin-top:16px}.meeting-times>span{padding-bottom:14px;color:var(--muted)}.course-form .time-parts{display:flex;gap:8px;border:0;padding:0}.time-parts legend{font-size:12px;color:var(--muted);margin-bottom:8px}.time-parts label{display:flex;flex:1 1;min-width:0;align-items:center;gap:4px}.course-form .time-parts input{text-align:center;padding:10px 3px;appearance:textfield;-moz-appearance:textfield}.course-form .time-parts input::-webkit-inner-spin-button{-webkit-appearance:none}.time-parts label>span:last-child{font-size:12px}.meeting-room{display:flex;align-items:flex-end;gap:10px;margin-top:14px}.meeting-room>label{flex:1 1;min-width:0}.meeting-room .icon-button{margin-bottom:3px}.course-form .add-meeting{align-self:flex-start;font-size:13px}.course-form .course-colors{border:0;padding:0}.course-colors legend{font-size:13px;color:var(--muted);margin-bottom:10px}.course-colors>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.color-swatch{width:30px;height:30px;border:1px solid #80808060;border-radius:50%;display:grid;place-items:center}.color-swatch[aria-pressed=true]{outline:2px solid var(--strong);outline-offset:3px}.color-swatch svg{stroke:#fff;filter:drop-shadow(0 1px 1px #000)}.custom-color{display:inline-flex;align-items:center;gap:8px;font-size:12px;margin-left:4px}.custom-color input{width:30px;height:30px;background:none;border:0;padding:0;cursor:pointer}.time-conflict{padding:14px;background:var(--brand-soft);border-radius:6px;font-size:13px}.time-conflict p{margin:5px 0 12px}.course-form .modal-actions{margin-top:2px;position:sticky;bottom:-24px;margin-bottom:-24px;padding-bottom:max(24px,env(safe-area-inset-bottom));background:var(--surface);z-index:1}.course-form :is(input:not([type=color]),select):focus{border-color:var(--focus-outline);outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.course-detail-name{padding-left:15px;border-left:5px solid;margin:8px 0 22px}.course-memo{margin-top:20px}.course-memo>label{display:block;margin-bottom:8px;color:var(--strong);font-size:14px;font-weight:700}.course-memo textarea{width:100%;min-height:88px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--alt);color:var(--text);font:inherit;font-size:14px;line-height:1.6;resize:vertical}.course-memo textarea:focus{outline:2px solid var(--focus-outline);outline-offset:1px}.course-memo-status{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:var(--muted);font-size:12px}.course-memo-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}.course-detail-name button{text-align:left}.course-detail-name h3{font-size:23px}.course-detail-name p{font-size:13px;margin:6px 0 0;color:var(--muted)}.course-facts{margin:0}.course-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid var(--border)}.course-facts>div:last-child{border-bottom:0}.course-facts dd button{border-radius:6px;padding:6px 8px;margin:-6px -8px;text-align:left}.course-facts dd button:hover{background:var(--alt)}.course-facts dt{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}.course-facts dd{margin:0;text-align:right}.course-facts dd button{padding:5px 8px;border-radius:5px;text-align:right;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.course-detail-name button:hover,.course-facts dd button:hover{background:var(--alt)}.course-facts dd .detail-color{width:36px;height:27px;border:1px solid #80808060}.text-danger{color:var(--brand);font-size:13px;display:inline-flex;align-items:center;gap:6px}.modal-actions .text-danger{margin-right:auto}.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.palette-options{display:flex;flex-direction:column;gap:10px;max-height:53dvh;overflow-y:auto;padding:2px}.palette-option{border:1px solid var(--border);padding:14px;border-radius:var(--radius-control);text-align:left;width:100%}.palette-option[aria-pressed=true]{border:2px solid var(--border);padding:13px;background:var(--brand-soft)}.palette-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.palette-title strong{font-size:15px;color:var(--strong)}.palette-title svg{color:var(--brand)}.palette-option>small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.palette-swatches{display:flex;width:100%;gap:4px;margin-top:12px}.palette-swatches>span{display:block;flex:1 1;height:28px;border-radius:3px;border:1px solid #80808030}.theme-preview h3{margin:6px 0 16px}.theme-preview .timetable-grid{border:1px solid var(--border)}.theme-preview p{font-size:12px}.catalogue-summary{justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.catalogue-summary a{font-size:13px;color:var(--brand)}.catalogue-filters{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;margin:18px 0 12px;gap:12px}.catalogue-filters>div{display:flex;gap:6px}.catalogue-note{font-size:12px;line-height:1.6}.catalogue-note[tabindex="-1"]:focus{outline:none}.course-catalogue{display:flex;flex-direction:column;gap:10px}.course-catalogue>article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.course-catalogue h3{font-size:17px}.course-catalogue p{font-size:12px;margin:7px 0 4px;color:var(--muted)}.course-catalogue small{display:block;font-size:12px;line-height:1.7}.catalogue-actions{display:flex;gap:8px;align-items:center}.catalogue-actions button[aria-pressed=true]{color:var(--brand)}.catalogue-actions .outline-button,.catalogue-actions .primary-button{padding:8px 11px;font-size:12px}.conflict-tag{display:block;color:var(--brand);font-size:11px;margin-top:8px}.timetable-storage-tabs{display:flex;border-bottom:1px solid var(--border);margin:0 0 24px}.timetable-storage-tabs a,.timetable-storage-tabs button{flex:1 1;padding:14px 8px;text-align:center;color:var(--muted);border-bottom:2px solid transparent;font-size:14px;font-weight:600}.timetable-storage-tabs a[aria-current=page],.timetable-storage-tabs button[aria-pressed=true]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.timetable-storage-tabs span{margin-left:6px;padding:2px 7px;border-radius:20px;background:var(--alt);font-size:11px;color:var(--muted)}.timetable-storage-tabs a[aria-current=page] span,.timetable-storage-tabs button[aria-pressed=true] span{color:var(--brand);background:var(--brand-soft)}.basket-toolbar{flex-wrap:wrap}.basket-catalogue-link{display:inline-block;margin-top:20px;font-size:13px;color:var(--brand)}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:24px 0 20px}.archive-toolbar strong{color:var(--strong);font-size:18px}.archive-toolbar strong>span{color:var(--muted);font-size:13px;font-weight:400}.archive-compare-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);font-size:13px}.archive-compare-bar>button{flex-shrink:0;min-height:40px}.archive-compare-bar>button:not(:disabled){color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.archive-comparison-selection{flex:1 1 220px;min-width:0}.archive-comparison-selection>span{display:block;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--muted)}.archive-comparison-selection>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-selection-slot{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:12px}.archive-selection-slot>b{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:var(--alt);font-size:11px}.archive-selection-slot>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-selection-slot[data-selected=true]{color:var(--strong)}.archive-selection-slot[data-selected=true]>b{color:var(--brand);background:var(--brand-soft)}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.archive-card{min-width:0;position:relative;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-card)}.archive-card:focus-within{z-index:2}.archive-card.selected{border-color:var(--border);box-shadow:0 0 0 1px var(--border)}.archive-preview{position:relative;display:block;width:100%;aspect-ratio:720/560;overflow:hidden;border-radius:13px 13px 0 0;border-bottom:1px solid var(--border)}.archive-preview-hint{position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:20px;background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:0 2px 8px #0001;font-size:11px;opacity:0}.archive-preview:focus-visible .archive-preview-hint,.archive-preview:hover .archive-preview-hint{opacity:1}.archive-preview .timetable-grid{width:100%;height:100%}.archive-card-body{padding:18px}.archive-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.archive-card-heading>div:first-child{min-width:0;flex:1 1}.archive-card-heading .content-options-trigger{width:40px;height:40px;margin-top:-6px}.archive-card h3{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.archive-card time{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.archive-card-metrics{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}.archive-card-metrics strong{color:var(--strong);font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.archive-card-metrics small{margin-left:4px;font-size:12px;font-weight:500}.archive-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.archive-card-actions>button{font-size:12px;min-height:40px;padding:8px 13px}.archive-card-actions .check-row{min-height:40px;font-size:12px;cursor:pointer}.archive-card.selected .check-row{color:var(--brand)}.archive-backup-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.archive-backup-tools button{font-size:12px;min-height:40px}.archive-preview-summary{color:var(--muted)}.comparison-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;padding:16px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.comparison-summary>div{min-width:0;padding:0 14px;text-align:center}.comparison-summary>div+div{border-left:1px solid var(--border)}.comparison-summary dt{font-size:12px;color:var(--muted);line-height:1.5}.comparison-summary dd{margin:7px 0 0;color:var(--strong);font-size:24px;font-weight:700}.comparison-summary small{margin-left:4px;font-size:12px;font-weight:400}.comparison-scroll-hint{display:none}.comparison-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 10px;scrollbar-width:thin}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);min-width:600px;column-gap:16px;align-items:stretch}.comparison-column{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span 5;padding:16px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.comparison-panel-heading{min-width:0;min-height:64px}.comparison-panel-heading>span{color:var(--muted);font-size:12px}.comparison-panel-heading h3{margin-top:8px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.comparison-select{display:flex;flex-direction:column;gap:8px}.comparison-select select{font-size:14px}.comparison-credit{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:15px 0}.comparison-credit strong{font-size:28px;color:var(--strong)}.comparison-credit strong span{font-size:14px;margin-left:3px;font-weight:400}.comparison-credit>span{color:var(--muted);font-size:13px}.comparison-column>.timetable-grid{align-self:start;border:1px solid var(--border);border-radius:var(--radius-card)}.comparison-column>h3{margin:22px 0 4px;font-size:15px}.archive-course-list .course-list-body strong{font-size:13px}.archive-course-list{margin:0;align-self:start}.archive-course-list .course-list-body>small,.archive-course-list .course-list-body>span{font-size:11px}.archive-course-list .course-list-body{gap:4px}.archive-course-list>li:last-child{border-bottom:0}.archive-course-list .course-credit{padding-top:1px;white-space:nowrap;font-size:14px}.archive-courses-empty{color:var(--muted);font-size:13px;padding:20px 0}.difference-tag{display:inline-block;background:var(--brand-soft);color:var(--brand);padding:2px 5px;width:fit-content;margin:3px 0;border-radius:4px;font-size:10px;white-space:nowrap}.mobile-timetable-link{display:none}@media (max-width:700px){.timetable-lounge-posts a{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.timetable-lounge-course{grid-column:1/-1}.timetable-lounge-posts time{display:none}.timetable-lounge-courses{grid-template-columns:1fr}.timetable-local-label{font-size:11px}.timetable-tools{gap:6px}.timetable-tools .icon-button{width:38px;height:38px}.timetable-toolbar{gap:14px}.timetable-summary{gap:8px}.timetable-summary>span:last-child{max-width:80px}.timetable-view-controls{font-size:12px}.timetable-view-controls button{padding:7px}.current-timetable{overflow-x:auto;position:relative;overscroll-behavior-x:contain}.current-timetable .timetable-grid{min-width:520px}.theme-picker{grid-template-columns:1fr}.palette-options{display:grid;grid-template-columns:1fr 1fr;max-height:44dvh}.palette-option{min-width:0;padding:10px}.palette-option[aria-pressed=true]{padding:9px}.palette-title strong{font-size:13px}.palette-option>small{font-size:10px}.theme-preview{display:none}.course-catalogue>article{padding:14px;flex-wrap:wrap}.course-catalogue>article>div:first-child{flex:1 1 min(240px,100%)}.catalogue-actions{margin-left:auto;flex-wrap:wrap;max-width:100%}.archive-grid{gap:12px}.archive-card-body{padding:14px}.archive-card-actions{flex-wrap:wrap}.archive-toolbar .primary-button{font-size:12px}.archive-compare-bar{gap:12px;padding:14px}.archive-compare-bar>button{width:100%}.archive-preview-hint{opacity:1}.comparison-scroll-hint{display:block;margin:0 0 12px;color:var(--muted);font-size:12px}.comparison-summary>div{padding:0 7px}.comparison-summary dt{font-size:11px}.comparison-column{padding:12px}.mobile-timetable-link{display:inline-flex;margin-bottom:20px}}@media (max-width:440px){.archive-grid{grid-template-columns:1fr}.meeting-editor{padding:12px}.meeting-times{gap:6px}.course-form .time-parts,.meeting-days{gap:4px}.course-form-pair{gap:12px}.course-facts>div{grid-template-columns:70px minmax(0,1fr);gap:10px}}.course-lounge-link{width:100%;justify-content:center;gap:8px;margin:10px 0;color:var(--brand)}.timetable-feature{min-width:0}.timetable-workspace{min-width:0;width:100%}.timetable-main-heading{min-height:72px;margin:0;justify-content:space-between;flex-wrap:nowrap}.timetable-main-heading .timetable-title{min-width:0;gap:8px}.timetable-main-heading h1{white-space:nowrap}.timetable-main-heading .term-select{max-width:138px;min-width:0;border:0;background:var(--alt);font-size:12px;font-weight:700;padding:6px 8px}.timetable-main-heading .timetable-header-actions{gap:2px;flex-shrink:0}.timetable-header-actions .icon-button{width:36px;height:38px}.timetable-overview{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 10px;font-size:12px;color:var(--muted)}.timetable-management{margin-left:auto;position:relative}.timetable-management summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;padding:6px 0 6px 10px}.timetable-management summary::-webkit-details-marker{display:none}.timetable-management-actions{display:flex;flex-direction:column;position:absolute;right:0;top:100%;min-width:192px;padding:6px;z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:0 8px 24px #0002}.timetable-management-actions>:is(button,a){display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px;border:0;border-radius:4px;background:transparent;font-size:13px;font-weight:500;color:var(--text);text-align:left}.timetable-management-actions>:is(button,a):hover{background:var(--alt)}.timetable-add-dialog{max-width:440px}.timetable-add-options{display:grid;gap:8px}.timetable-add-options>:is(button,a){display:flex;align-items:center;gap:14px;padding:16px 12px;text-align:left;border-radius:var(--radius-control);color:var(--text)}.timetable-add-options>:is(button,a):hover{background:var(--alt)}.timetable-add-options span{flex:1 1;min-width:0}.timetable-add-options strong{display:block;color:var(--strong);font-size:15px}.timetable-add-options small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.timetable-interactive{container-type:inline-size;min-width:0;width:100%}.timetable-scroll{--day-width:clamp(54px,calc((100cqw - 34px) / 5),94px);--hour-height:calc(var(--day-width) * 58 / 65);--grid-surface:#fafafb;--grid-alt:#f0f2f5;--grid-border:#e1e4e8;--grid-text:#40464f;--grid-muted:#737a84;overflow-x:auto;max-width:100%;border:1px solid var(--grid-border);border-radius:var(--radius-card);background:var(--grid-surface);overscroll-behavior-x:contain}.timetable-interactive[data-dark] .timetable-scroll{--grid-surface:#121418;--grid-alt:#1a1d22;--grid-border:#2a2e35;--grid-text:#c9cdd3;--grid-muted:#949ba5}.timetable-scroll:focus-visible{outline:2px solid var(--muted);outline-offset:2px}.timetable-scroll .timetable-week{--day-width:clamp(54px,var(--responsive-day-width),94px);width:var(--grid-width)}@media (min-width:701px){.timetable-workspace{max-width:640px;margin-inline:auto}.timetable-scroll .timetable-week{--day-width:var(--responsive-day-width);--hour-height:68px}}.timetable-day-header{display:flex;height:30px}.timetable-day-header>span{display:grid;place-items:center;flex:0 0 var(--day-width);border-right:1px solid var(--grid-border);border-bottom:1px solid var(--grid-border);font-size:11px;font-weight:700;color:var(--grid-text)}.timetable-day-header>span:first-child{flex-basis:34px}.timetable-day-header>[data-weekend]{background:var(--grid-alt);color:var(--grid-muted)}.timetable-hours-body{height:calc(var(--hours) * var(--hour-height));position:relative}.timetable-hours-scroll{overflow-y:visible}.timetable-hour{position:absolute;left:0;width:29px;text-align:right;font-size:10px;line-height:14px;color:var(--grid-muted)}.timetable-days-body{position:relative;margin-left:34px;height:100%;background-image:linear-gradient(to right,var(--grid-border) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-border) 1px,transparent 1px);background-size:var(--day-width) var(--hour-height)}.timetable-course-block{position:absolute;padding:5px 4px 4px 5px;border-radius:5px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:left;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;container-type:size}.timetable-course-block strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:14px;line-height:1.16;font-weight:800}.timetable-course-block .timetable-room{display:none;font-size:9px;opacity:.8;margin-top:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@container (min-height: 44px){.timetable-course-block .timetable-room{display:block}}.timetable-course-block[data-conflict]{border:1.5px solid #e13b3b}.timetable-jelly{position:absolute;bottom:3px;right:3px;width:18px;height:11px;background:radial-gradient(ellipse at 68% 65%,#ffffff52,transparent 72%);pointer-events:none}.timetable-jelly:before{content:"";position:absolute;width:58%;height:2px;left:18%;top:42%;border-radius:99px;transform:rotate(-22deg);background:linear-gradient(90deg,#ffffff18,#ffffffb8,#ffffff30)}.timetable-jelly:after{content:"";position:absolute;width:2px;height:2px;border-radius:50%;right:10%;bottom:20%;background:#ffffff70}.timetable-conflict-notice{padding:12px;margin:0 0 12px;border:1px solid #ffc3c3;border-radius:var(--radius-card);background:#ffe9e9;color:#8f2028;font-size:12px;font-weight:700}.modal.timetable-theme-dialog{max-width:520px}.palette-options.timetable-palette-options{display:flex;flex-direction:column;max-height:min(60dvh,600px)}.timetable-palette-options .palette-swatches{height:34px;min-height:34px;border-radius:8px;overflow:hidden}.timetable-palette-options .palette-option{padding:14px;text-align:left}.timetable-palette-options .palette-title{display:flex;align-items:center;justify-content:space-between}.timetable-palette-options .palette-title svg{color:var(--brand)}.modal.timetable-course-dialog{max-width:620px}.timetable-course-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:24px}.timetable-course-heading .course-detail-name{margin:0;flex:1 1;min-width:0;border-left-width:4px;padding-left:16px}.timetable-course-heading h2{margin:0;font-size:22px;font-weight:800;line-height:1.15}.timetable-course-heading .course-detail-name p{font-size:14px;margin:7px 0 0}.course-heading-actions{display:flex;gap:8px;flex-shrink:0}.course-heading-actions .icon-button{background:var(--alt);width:36px;height:36px}.course-heading-actions .course-delete{color:#f0445c;background:#f0445c17}.course-edit-value{display:inline-flex;align-items:center;gap:8px;max-width:100%;overflow-wrap:anywhere}.course-edit-value>svg{flex-shrink:0;color:var(--muted);opacity:.5}.timetable-course-facts>div{border:0;padding:12px 0;align-items:start}.timetable-course-facts dd{text-align:left}.timetable-course-facts dd button{text-align:left;font-size:14px}.course-color-action{display:inline-flex;align-items:center;gap:10px}.course-color-action>span{display:block;width:30px;height:24px;border:1px solid #80808050;border-radius:5px}.timetable-course-links{display:grid;gap:10px;margin-top:10px}.course-destination{display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius-card);background:var(--alt)}.course-destination>svg:first-child{color:var(--brand)}.course-destination>span{flex:1 1}.course-destination strong{color:var(--strong);font-size:14px;font-weight:800}.course-destination small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}@media (max-width:700px){.timetable-hours-scroll{max-height:520px;overflow-y:auto}.timetable-main-heading,.timetable-main-heading .timetable-title{gap:4px}.timetable-main-heading h1{font-size:20px}.timetable-main-heading .term-select{max-width:98px;padding:6px 3px;font-size:11px}.timetable-main-heading .icon-button{width:30px}.timetable-course-heading{gap:8px}.course-heading-actions{gap:4px}.course-heading-actions .icon-button{width:30px;height:32px}.timetable-course-heading h2{font-size:20px}}.catalogue-heading{flex-wrap:nowrap;justify-content:space-between}.timetable-text-colors{display:flex;gap:8px;border:0;padding:0;margin:0 0 18px}.timetable-text-colors legend{margin-bottom:9px;font-size:13px;font-weight:600}.timetable-text-colors button{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);color:var(--text)}.timetable-text-colors button[aria-pressed=true]{border-color:var(--strong);background:var(--alt)}.timetable-text-colors button>span{display:grid;place-items:center;width:26px;height:26px;border-radius:5px;background:#90979e;font-weight:700}.timetable-palette-options .palette-swatches>span{display:grid;place-items:center;font-size:11px;font-weight:600}.course-inline-panel{min-width:0;width:100%}.course-inline-editor{gap:10px;font-size:13px;font-weight:400}.course-form [hidden]{display:none}.course-inline-editor .course-form-pair{grid-template-columns:minmax(0,1fr)}.course-inline-editor .modal-actions{margin-top:0;gap:6px}.timetable-course-dialog .course-inline-panel button{margin:0}.course-inline-editor .modal-actions button{min-height:32px;padding:5px 12px;font-size:12px}.course-inline-editor .meeting-editor{min-width:0;padding:8px}.course-inline-editor .meeting-times{flex-wrap:wrap}.timetable-course-facts dd:has(.course-inline-panel){min-width:0;flex:1 1}.course-detail-name:has(.course-inline-panel){flex:1 1;min-width:0}.catalogue-save{white-space:nowrap}.catalogue-actions{flex-shrink:0}.catalogue-select-course[aria-pressed=true]{color:var(--brand)}@media (max-width:700px){.catalogue-heading h1{font-size:20px}.catalogue-heading .catalogue-save{font-size:12px;padding:10px 12px}.course-catalogue>article{flex-direction:row;align-items:center}.course-catalogue .catalogue-actions{flex-direction:column}}