:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f1ee;--surface:#fff;--surface-alt:#f1efe8;--text:#16150f;--muted:#787369;--faint:#928e84;--rule:#d7d5cf;--rule-med:#97927f;--rule-strong:#16150f;--accent:#a3560c;--accent-hover:#854509;--accent-fg:#fff;--danger:#a8321a;--focus:#b8600d59;--row-active-bg:#fffdf7;--section-selected-bg:#a3560c33;--chip-active-bg:#a3560c38;--export-active-bg:#a3560c2e;--block-sub:#57534a;--busy:#8b93a5;--font-ui:system-ui, "Segoe UI", -apple-system, sans-serif;--font-data:ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SF Mono", Consolas, monospace;--sec-w:40px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#141413;--surface-alt:#1c1b19;--text:#e8e6df;--muted:#8a867c;--faint:#6b6862;--rule:#3a3835;--rule-med:#66635c;--rule-strong:#e4e1d9;--accent:#ffb020;--accent-hover:#ffc247;--accent-fg:#16150f;--danger:#ff6b4a;--focus:#ffb02059;--row-active-bg:#241d10;--section-selected-bg:#ffb0202e;--chip-active-bg:#ffb02024;--export-active-bg:#ffb02024;--block-sub:#b8b4aa;--busy:#7c839a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#141413;--surface-alt:#1c1b19;--text:#e8e6df;--muted:#8a867c;--faint:#6b6862;--rule:#3a3835;--rule-med:#66635c;--rule-strong:#e4e1d9;--accent:#ffb020;--accent-hover:#ffc247;--accent-fg:#16150f;--danger:#ff6b4a;--focus:#ffb02059;--row-active-bg:#241d10;--section-selected-bg:#ffb0202e;--chip-active-bg:#ffb02024;--export-active-bg:#ffb02024;--block-sub:#b8b4aa;--busy:#7c839a}body{background-color:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;padding:0}.page-main{max-width:900px;margin:0 auto;padding:30px 20px 20px}@media (width>=641px){.page-main{padding-top:64px}}.card{background-color:var(--surface);border:1px solid var(--rule-med)}.status-strip{border-bottom:3px solid var(--rule-strong);align-items:center;padding:6px 13px;font-size:15px;display:flex}.strip-title{letter-spacing:.12em;color:var(--text);margin:0;font-size:13px;font-weight:800}.chip{font-family:var(--font-data);letter-spacing:.1em;border:1px solid var(--rule-med);color:var(--muted);background-color:#0000;margin:0 0 0 5px;padding:2px 5px;font-size:10px;font-weight:700;text-decoration:none}.chip-row{align-items:center;display:flex}@media (hover:hover){a.chip:hover{border-color:var(--accent);color:var(--accent)}}button{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;padding:8px 14px;font-size:10px;font-weight:800}.btn-primary{background-color:var(--accent);color:var(--accent-fg)}@media (hover:hover){.btn-primary:hover{background-color:var(--accent-hover)}}.btn-secondary{border:1px solid var(--rule-med);color:var(--text);background:0 0}@media (hover:hover){.btn-secondary:hover{border-color:var(--rule-strong)}}.btn-destructive{color:var(--faint);justify-content:flex-end;align-items:center;height:33px;padding:0 6px 0 0;font-size:16px;line-height:1;display:flex;transform:translateY(-1.5px)}@media (hover:hover){.btn-destructive:hover{color:var(--danger)}}select{font-family:var(--font-data);color:var(--text);background:var(--surface);border:1px solid var(--rule-med);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a867c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:9px 6px;border-radius:0;padding:6px 26px 6px 8px;font-size:15px;font-weight:600}select:focus-visible,button:focus-visible,input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.row{border-bottom:1.5px solid var(--rule);grid-template-columns:72px 62px minmax(0,1fr) 130px 44px;align-items:center;gap:12px;padding:7px 13px;display:grid}@media (hover:hover){.row:hover{background-color:var(--surface-alt)}}.row-title{font-family:var(--font-ui);white-space:nowrap;text-overflow:ellipsis;padding-bottom:1px;font-size:14px;font-weight:450;overflow:hidden}.row-title-placeholder{color:var(--faint);font-style:italic}.row-active{background-color:var(--row-active-bg)}.table-header{background-color:var(--surface-alt);border-bottom:1px solid var(--rule-med);grid-template-columns:72px 62px 1fr 130px 44px;align-items:baseline;gap:12px;margin-top:14px;padding:6px 13px;display:grid}.table-header span{letter-spacing:.13em;color:var(--muted);font-size:9px;font-weight:800}.table-header span:nth-child(4){text-align:center;padding-left:calc(100% - var(--sec-w))}.btn-clear-all{letter-spacing:.1em;border:1px solid var(--rule-med);color:var(--muted);text-align:center;white-space:nowrap;padding:3px 0;font-size:9px;font-weight:800;line-height:1}@media (hover:hover){.btn-clear-all:hover:not(:disabled){color:var(--danger)}}.btn-clear-all:disabled{opacity:.35;cursor:default}.sec-cell{justify-content:flex-end;align-items:baseline;gap:30px;display:flex}.sec-cell button{justify-content:center;align-items:center;padding:4px 10px;font-size:9px;display:inline-flex}.sec-text{font-family:var(--font-data);color:var(--muted);width:var(--sec-w);text-align:center;font-size:11px;font-weight:500}.sec-text svg{vertical-align:middle;color:var(--accent);padding-bottom:2px}.table-footer{justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.footer-primary-actions{flex:1;gap:12px;display:flex}.footer-top-row{align-items:center;display:flex}.footer-clear-mobile{display:none}.footer-credits{font-family:var(--font-data);letter-spacing:.08em;color:var(--muted);margin-right:10px;font-size:10px}.credits-value{color:var(--text);font-weight:700}.spacer{flex:1}.section-row{border-bottom:1px solid var(--rule);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:14px;padding:8px 15px 8px 10px;display:flex}.section-row-selected{border-left-color:var(--accent);background:var(--section-selected-bg)}.section-row-locked{cursor:default}.section-code{font-family:var(--font-data);color:var(--text);font-size:15px;font-weight:600}.section-desc{border-bottom:1px solid var(--rule);font-family:var(--font-ui);color:var(--text);padding:8px 13px;font-size:14px;font-weight:600}.section-num{min-width:22px;font-family:var(--font-data);color:var(--text);font-size:14px;font-weight:600}.section-instructor{font-family:var(--font-ui);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding-bottom:1px;font-size:14px;font-weight:450;overflow:hidden}.section-meeting{white-space:pre-line;font-family:var(--font-data);color:var(--muted);text-align:right;width:110px;font-size:11px;line-height:1.4}.section-seats{font-family:var(--font-data);color:var(--muted);text-align:right;width:10ch;font-size:11px}.sub-strip{border-bottom:1px solid var(--rule);align-items:center;padding:10px 15px;display:flex}.sub-strip>button:not(.btn-reset),.sub-strip>.faq-nav{color:var(--text);padding:0;font-size:9px}.section-row input[type=checkbox]{appearance:none;border:1px solid var(--rule-med);background-color:var(--surface);border-radius:0;flex:none;width:16px;height:16px;margin:0}.section-row input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px 8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .section-row input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%2316150f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}:root[data-theme=dark] .section-row input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%2316150f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.section-row-selected .section-num{color:var(--accent)}.section-row:has(input:focus-visible){box-shadow:inset 0 0 0 3px var(--focus)}@media (hover:hover){.section-row:not(.section-row-selected):hover{background-color:var(--surface-alt)}}.section-row-disabled{opacity:.45;cursor:default}.lock-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:6px;display:flex}.lock-toggle-active{color:var(--accent);cursor:pointer}.section-note{color:var(--muted);margin:0;padding:8px 0;font-size:13px}.section-note a{color:var(--accent)}.filter-block{border-bottom:1px solid var(--rule);padding:14px 14px 15px}.filter-block-tight{border-bottom:none;padding-bottom:0}.filter-label{letter-spacing:.08em;color:var(--muted);margin-bottom:9px;font-size:11px;font-weight:800}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{font-family:var(--font-data);letter-spacing:.04em;border:1px solid var(--rule-med);color:var(--muted);text-align:center;cursor:pointer;background:0 0;border-radius:0;flex:1;min-width:0;padding:7px 10px;font-size:12px;font-weight:600}@media (hover:hover){.filter-chip:hover{border-color:var(--accent);color:var(--accent)}}.filter-chip-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--chip-active-bg);color:var(--accent)}.filter-chip-weekend{margin-left:15px}.filter-chips-times .filter-chip{flex:1;min-width:0}.busy-row{border-bottom:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--section-selected-bg);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 14px 9px 11px;display:flex}.busy-day,.busy-time,.busy-note{box-sizing:border-box;min-height:32px}.busy-day{color:var(--accent);flex:none;font-size:13px;font-weight:700}.busy-day:focus-visible{outline:1px solid var(--accent)}.busy-time-pair{flex:none;align-items:center;gap:6px;display:flex}.busy-time-sep{font-family:var(--font-data);color:var(--muted);margin:0;font-size:13px}.busy-time{font-family:var(--font-data);color:var(--text);border:1px solid var(--rule-med);box-sizing:border-box;background:0 0;border-radius:0;flex:none;min-width:112px;padding:5px 6px;font-size:13px}.busy-note{font-family:var(--font-ui);color:var(--text);border:1px solid var(--rule-med);box-sizing:border-box;background:0 0;border-radius:0;flex:140px;min-width:0;padding:5px 8px;font-size:13px}.busy-time:focus-visible,.busy-note:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus);outline:none}.busy-note::placeholder{color:var(--faint)}.busy-remove{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1}@media (hover:hover){.busy-remove:hover{color:var(--danger)}}.busy-add-wrap{border-bottom:1px solid var(--rule);padding:11px 14px}.btn-add-busy{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--rule-med);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;padding:8px 15px;font-size:10px;font-weight:800}@media (hover:hover){.btn-add-busy:hover{border-color:var(--rule-strong)}}.filter-row{border-bottom:1px solid var(--rule);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:13px;padding:12px 14px 12px 11px;display:flex}.filter-row-selected{border-left-color:var(--accent);background:var(--section-selected-bg)}.filter-count{font-family:var(--font-data);letter-spacing:.06em;color:var(--muted);font-size:11px}.filter-count b{color:var(--text);font-weight:700}.filter-row-text{flex:1;font-size:14px}.filter-row input[type=checkbox]{appearance:none;border:1px solid var(--rule-med);background-color:var(--surface);border-radius:0;flex:none;width:16px;height:16px;margin:0}.filter-row input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px 8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .filter-row input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%2316150f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}:root[data-theme=dark] .filter-row input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%2316150f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.btn-reset{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule-med);color:var(--muted);cursor:pointer;background:0 0;border-radius:0;margin-right:15px;padding:3px 8px;font-size:10px;font-weight:800}@media (hover:hover){.btn-reset:hover{color:var(--danger);border-color:var(--danger)}}.filter-active{color:var(--accent)}.weekly-grid{display:grid}.grid-scroll{overflow-x:auto}.class-block{box-sizing:border-box;background-color:color-mix(in srgb, color-mix(in srgb, var(--hue) 20%, var(--surface)) 70%, transparent);border-left:4px solid var(--hue);border-radius:0;margin:2px 5px 2px 0;padding:4px 5px;display:block;overflow:hidden}.class-block-short .block-instructor{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .class-block{background-color:color-mix(in srgb, color-mix(in srgb, var(--hue) 24%, var(--surface)) 70%, transparent)}}:root[data-theme=dark] .class-block{background-color:color-mix(in srgb, color-mix(in srgb, var(--hue) 24%, var(--surface)) 70%, transparent)}.busy-block{box-sizing:border-box;background-color:color-mix(in srgb, var(--busy) 22%, var(--surface));background-image:repeating-linear-gradient(-45deg, transparent 0 6px, color-mix(in srgb, var(--busy) 42%, transparent) 6px 7px);border-left:4px solid var(--busy);margin:2px 5px 2px 0;padding:4px 5px;display:block;overflow:hidden}.busy-block-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;overflow:hidden}.busy-block-time{font-family:var(--font-data);color:var(--block-sub);font-size:11px}.busy-block-short .busy-block-time{display:none}.pager-group{align-items:center;gap:6px;display:flex}.pager{width:26px;height:26px;font-family:var(--font-data);color:var(--muted);background:0 0;border:none;padding:0;font-size:17px}@media (hover:hover){.pager:hover:not(:disabled){color:var(--text)}}.pager:disabled{color:var(--faint);cursor:default}.counter-current{font-family:var(--font-data);letter-spacing:-.02em;color:var(--accent);font-size:18px;font-weight:700}.counter-sep{font-family:var(--font-data);color:var(--faint);font-size:13px}.counter-total{font-family:var(--font-data);letter-spacing:-.02em;color:var(--text);font-size:18px;font-weight:700}.grid-corner{background-color:var(--surface-alt);border-bottom:1px solid var(--rule-med);border-right:1px solid var(--rule-med)}.day-header{background-color:var(--surface-alt);border-bottom:1px solid var(--rule-med);text-align:center;font-family:var(--font-ui);letter-spacing:.12em;color:var(--text);padding:6px 0;font-size:11px;font-weight:800}.gutter-cell{font-family:var(--font-data);color:var(--faint);text-align:right;border-right:1px solid var(--rule-med);border-top:1px solid var(--rule);white-space:nowrap;padding:2px 6px;font-size:11px}.gutter-short{display:none}.hour-cell{border-top:1px solid var(--rule);border-left:1px solid var(--rule-med)}.no-rule-top{border-top:none}.no-rule-left{border-left:none}.block-code{font-family:var(--font-data);color:var(--text);font-size:12px;font-weight:700}.block-instructor{font-family:var(--font-ui);color:var(--block-sub);font-size:11px}.block-time{font-family:var(--font-data);color:var(--block-sub);font-size:11px}.class-block-short .block-time{display:none}.block-room{font-family:var(--font-data);color:var(--block-sub);font-size:11px}@media (width>=641px){.export-gap{display:none}.export-open-btn{margin-right:16px}}.export-open-btn{border:1px solid var(--rule-med);color:var(--text);padding:5px 10px!important}@media (hover:hover){.export-open-btn:hover{border-color:var(--accent);color:var(--accent)}}.export-backdrop{box-sizing:border-box;z-index:200;overscroll-behavior:contain;background:#0000009e;justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex;position:fixed;inset:0}.export-popup{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background-color:var(--surface);border:1px solid var(--rule-med);flex-direction:column;width:100%;max-width:900px;max-height:calc(100dvh - 40px);display:flex;overflow-y:auto}.export-head{border-bottom:3px solid var(--rule-strong);align-items:center;gap:12px;padding:5px 13px;display:flex}.export-title{font-family:var(--font-ui);letter-spacing:.12em;color:var(--text);flex:1;margin:0;font-size:12px;font-weight:800}.export-close{width:26px;height:26px;font-family:var(--font-data);color:var(--muted);padding:0;font-size:19px;line-height:1}@media (hover:hover){.export-close:hover{color:var(--text)}}.export-body{grid-template-columns:330px 1fr;align-items:start;gap:26px;padding:20px 13px;display:grid}.export-preview-frame{background-color:var(--surface-alt);border:1px solid var(--rule);justify-content:center;align-items:center;height:min(430px,52vh);padding:14px;display:flex}.export-preview{border:1px solid var(--rule);width:auto;max-width:100%;height:auto;max-height:100%;display:block}.export-controls{flex-direction:column;gap:20px;min-width:0;display:flex}.export-field{flex-direction:column;gap:9px;display:flex}.export-label{font-family:var(--font-ui);letter-spacing:.14em;color:var(--muted);font-size:9px;font-weight:800}.export-presets{grid-template-columns:1fr 1fr;gap:6px;display:grid}.export-preset{text-align:left;border:1px solid var(--rule-med);color:var(--text);background:0 0;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 11px;display:flex}@media (hover:hover){.export-preset:hover{border-color:var(--accent)}}.export-preset-active{border-color:var(--accent);background-color:var(--export-active-bg)}.export-preset-label{font-family:var(--font-ui);letter-spacing:.1em;color:var(--text);font-size:10px;font-weight:800}.export-preset-active .export-preset-label{color:var(--accent)}.export-preset-sub{font-family:var(--font-data);letter-spacing:0;text-transform:none;color:var(--muted);font-size:10px}.export-designs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.export-design{border:1px solid var(--rule-med);color:var(--muted);background:0 0;flex-direction:column;align-items:stretch;gap:5px;padding:6px;display:flex}@media (hover:hover){.export-design:hover{border-color:var(--accent)}}.export-design-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background-color:var(--export-active-bg)}.export-design-active .export-design-label{color:var(--accent)}.export-swatch{border:1px solid var(--rule);grid-template-columns:repeat(4,1fr);height:16px;display:grid}.export-swatch i{height:100%;display:block}.export-design-label{font-family:var(--font-ui);letter-spacing:.08em;color:var(--muted);text-align:center;font-size:8px;font-weight:800}.export-segment{border:1px solid var(--rule-med);width:fit-content;display:inline-flex}.export-segment button{color:var(--muted);padding:6px 16px;font-size:9px}@media (hover:hover){.export-segment button:hover{color:var(--text)}}.export-seg-active{background-color:var(--accent);color:var(--accent-fg)!important}.export-footer{border-top:1px solid var(--rule);background-color:var(--surface);align-items:center;gap:12px;padding:11px 13px;display:flex;position:sticky;bottom:0}.export-count{font-family:var(--font-data);letter-spacing:.06em;color:var(--muted);white-space:nowrap;font-size:11px}.export-count b{color:var(--text);font-weight:700}.export-actions{gap:8px;display:flex}.export-action{min-width:96px}.export-action:disabled{opacity:.5;cursor:default}@media (width<=620px){.export-backdrop{padding:12px}.export-popup{max-height:calc(100dvh - 24px)}.export-head{padding:7px 12px}.export-body{grid-template-columns:1fr;gap:12px;padding:11px 12px}.export-preview-frame{height:300px;padding:10px}.export-controls{gap:12px}.export-field{gap:6px}.export-presets{gap:5px}.export-preset{padding:7px 8px}.export-designs{gap:5px}.export-design{gap:3px;padding:4px}.export-footer{flex-wrap:wrap;gap:8px;padding:10px 12px}.export-count{text-align:center;order:1;width:100%}.export-footer .spacer{display:none}.export-actions{order:2;width:100%}.export-action{flex:1;padding:15px}}.load-notice{border-bottom:1px solid var(--rule);border-left:3px solid var(--danger);background-color:var(--surface-alt);align-items:center;gap:12px;padding:11px 13px;display:flex}.load-notice-text{color:var(--text);flex:1;font-size:13px;line-height:1.4}.toast{z-index:300;background-color:var(--surface);border:1px solid var(--rule-med);border-left:3px solid var(--danger);max-width:340px;color:var(--text);align-items:center;gap:12px;padding:13px 15px;font-size:13px;font-weight:500;line-height:1.4;display:flex;position:fixed;top:20px;right:20px}.toast-notice{border-left-color:var(--accent)}.toast-msg{flex:1}.toast-close{width:24px;height:24px;color:var(--faint);flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:flex}@media (hover:hover){.toast-close:hover{color:var(--danger)}}.faq-item{background-color:color-mix(in srgb, var(--hue) 7%, var(--surface));border-left:3px solid var(--hue);padding:9px 12px}.faq-item+.faq-item{margin-top:7px}.faq-q{font-family:var(--font-ui);color:var(--text);margin:0;font-size:13px;font-weight:700;line-height:1.4}.faq-a{font-family:var(--font-ui);color:var(--block-sub);text-wrap:pretty;margin:4px 0 0;font-size:13px;line-height:1.6}.faq-a a{color:var(--accent)}.faq-nav{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;font-weight:800;text-decoration:none}@media (hover:hover){.faq-nav:hover{color:var(--accent)}}.faq-done{text-align:center;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;padding:8px 14px;font-size:10px;font-weight:800;text-decoration:none}.page-footer .footer-faq{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 72%, var(--bg));border:1px solid var(--muted);margin-bottom:12px;padding:5px 11px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block}@media (hover:hover){.page-footer .footer-faq:hover{border-color:var(--accent);color:var(--accent)}}.page-footer{text-align:center;margin-top:50px;padding:20px;font-size:12px}.page-footer a{color:var(--accent)}.page-footer p{max-width:640px;color:color-mix(in srgb, var(--text) 72%, var(--bg));margin:0 auto 6px}.theme-toggle{border:1px solid var(--rule);border-radius:4px;margin-top:4px;display:inline-flex;overflow:hidden}.theme-toggle button{font-family:var(--font-data);letter-spacing:.07em;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:9px}.theme-btn-active{background:var(--accent)!important;color:var(--accent-fg)!important}@media (width<=640px){.page-main{padding:12px 8px}.page-footer{margin-top:28px}.status-strip{flex-wrap:wrap;row-gap:4px;padding:8px 13px}.strip-title{white-space:nowrap;font-size:12px}.chip{letter-spacing:.07em;white-space:nowrap;margin-top:2px;padding:3px 4px;font-size:8px}.chip-row{margin-left:auto}.table-header{display:none}.row{grid-template-columns:64px 54px 1fr auto;gap:2px 6px;padding:9px 13px}.row select:first-of-type{grid-area:1/1}.row select:nth-of-type(2){grid-area:1/2}.sec-cell{grid-area:1/3;justify-content:flex-end;align-items:baseline;gap:18px}.sec-cell button{color:var(--accent);border:none;padding:4px 0}.btn-destructive{grid-area:1/4;justify-content:flex-end;align-items:center;width:44px;height:44px;margin-top:-7px;margin-bottom:-7px;margin-left:-13.5px;padding-right:4px;font-size:15px;line-height:1;display:flex}.row-title{grid-area:2/1/auto/-1;padding:3px 0 2px 5px;font-size:14px}select{background-color:#0000;background-position:right 6px center;border:none;padding-left:5px;padding-right:20px}.sec-text{font-size:10px}.table-footer{flex-direction:column;align-items:stretch;gap:4px;padding-top:4px}.footer-top-row{order:-1;justify-content:space-between;padding:3px 0}.footer-primary-actions{gap:9px}.footer-primary-actions button{flex:1}.footer-credits{margin-right:0;font-size:10px}.table-footer button,.table-footer .faq-done{padding:18px}.table-footer .footer-clear-mobile{padding:5px 12px;font-size:10px;display:inline-block}.sub-strip{padding:4px 13px 0}.sub-strip>button:not(.btn-reset),.sub-strip>.faq-nav{min-width:44px;padding:16px 0}.pager{width:44px;height:44px;margin-left:-9px;margin-right:-9px;font-size:20px}.section-row{grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:1px 12px;padding:9px 15px 9px 10px;display:grid}.section-row input[type=checkbox]{grid-area:1/1}.section-num{grid-area:1/2}.section-instructor{grid-area:1/3}.section-meeting{text-align:left;white-space:normal;grid-area:2/3;width:auto}.lock-toggle{grid-area:1/4/3}.section-seats{grid-area:1/5/3}.gutter-cell{z-index:2;background-color:var(--surface);position:sticky;left:0}.grid-corner{z-index:3;position:sticky;left:0}.section-note{margin-top:-2px}.filter-chip{padding:10px 0}.filter-chips-days{grid-template-columns:repeat(7,1fr);display:grid}.filter-chips-days .filter-chip{min-width:0}.filter-chips-days .filter-chip-weekend{grid-column:5/-1;margin-left:0}.filter-chips-times{grid-template-columns:repeat(3,1fr);display:grid}.filter-chips-gap{grid-template-columns:repeat(6,1fr);display:grid}.busy-row{grid-template-columns:1fr auto;grid-template-areas:"day remove""times times""note note";gap:8px;padding:10px 14px 12px 11px;display:grid}.busy-day{border:1px solid var(--rule-med);box-sizing:border-box;background-position:right 8px center;grid-area:day;justify-self:start;padding:9px 26px 9px 8px;font-size:13px}.busy-time-pair{grid-area:times}.busy-time{text-align:center;flex:1;min-width:0;padding:9px 8px;font-size:14px}.busy-note{grid-area:note;padding:9px 10px;font-size:14px}.busy-remove{grid-area:remove;justify-content:center;justify-self:end;align-items:center;width:34px;height:34px;margin:-6px -8px 0 0;font-size:18px;display:flex}.busy-add-wrap{padding:12px 14px}.btn-add-busy{text-align:center;width:100%;padding:14px 0;display:block}.filter-row{padding:13px 14px 13px 11px}.filter-count{text-align:center;padding:7px 0 2px}.weekly-grid{--day-w:calc((100% - var(--gutter-w,70px)) / 4)}.toast{max-width:none;padding:12px 8px 12px 12px;inset:auto 8px 8px}.toast-close{width:44px;height:44px;margin:-12px -8px -12px 0;font-size:16px}@media (width<=480px){.filter-chips-gap{grid-template-columns:repeat(3,1fr)}.export-open-btn{font-size:8px;padding:4px 6px!important}.pager-group{gap:2px}.pager{width:40px;height:40px;margin-left:-8px;margin-right:-8px;font-size:21px}.counter-current,.counter-total{font-size:17px}.counter-sep{font-size:13px}@media (width<=349px){.pager{width:36px;height:36px;font-size:19px}.counter-current,.counter-total{font-size:16px}.counter-sep{font-size:12px}}.gutter-full{display:none}.gutter-short{display:inline}.gutter-cell{padding:2px 4px;font-size:10px}.weekly-grid{--gutter-w:42px}.block-instructor,.block-time{font-size:9px;line-height:1.2}.block-code{font-size:10px;line-height:1.25}.block-room{font-size:9px;line-height:1.2}.class-block,.busy-block{margin:1.5px 3px 1.5px 0;padding:3px 4px}.busy-block-label{font-size:10px;line-height:1.25}.busy-block-time{font-size:9px;line-height:1.2}.block-instructor{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.class-block-short .block-time{display:block}}}
