@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-400.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-500.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-600.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-700.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-800.ttf) format("truetype")}:root{--md-sys-color-primary: #0061a4;--md-sys-color-on-primary: #fff;--md-sys-color-primary-container: #d1e4ff;--md-sys-color-on-primary-container: #001d36;--md-sys-color-secondary: #535f70;--md-sys-color-on-secondary: #fff;--md-sys-color-secondary-container: #dce6f7;--md-sys-color-on-secondary-container: #101c2b;--md-sys-color-tertiary: #3b6a2e;--md-sys-color-on-tertiary: #fff;--md-sys-color-tertiary-container: #ddf9d0;--md-sys-color-on-tertiary-container: #254817;--md-sys-color-surface: #faf9f6;--md-sys-color-on-surface: #1f2229;--md-sys-color-on-surface-variant: #5f6570;--md-sys-color-surface-container-lowest: #fff;--md-sys-color-surface-container-low: #f2f3fa;--md-sys-color-surface-container: #eeeee9;--md-sys-color-surface-container-high: #e7e9f2;--md-sys-color-surface-container-highest: #dde0ea;--md-sys-color-outline: #79808c;--md-sys-color-outline-variant: #e6e6df;--md-sys-color-error: #ba1a1a;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-inverse-surface: #2e3135;--md-sys-color-inverse-on-surface: #eff0f7;--md-sys-color-shadow: #000;--md-sys-color-scrim: #000;--source-green-container: #ddf9d0;--source-on-green-container: #254817;--week-white: #fff;--on-week-white: #1d1b20;--week-green: #c6ecb4;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-large-increased: 20px;--md-sys-shape-corner-extra-large: 28px;--card-radius: 32px;--md-sys-shape-corner-extra-large-increased: 32px;--md-sys-shape-corner-full: 9999px;--md-ref-typeface-plain: "Manrope", system-ui, sans-serif;--md-sys-typescale-display-small-size: 2.25rem;--md-sys-typescale-headline-large-size: 2rem;--md-sys-typescale-headline-small-size: 1.5rem;--md-sys-typescale-title-large-size: 1.375rem;--md-sys-typescale-title-medium-size: 1.25rem;--md-sys-typescale-body-large-size: 1rem;--md-sys-typescale-body-medium-size: .875rem;--md-sys-typescale-label-large-size: .875rem;--md-sys-motion-easing-emphasized: cubic-bezier(.2, .75, .25, 1);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-spring-fast-spatial: cubic-bezier(.42, 1.67, .21, .9);--md-sys-motion-duration-short: .18s;--md-sys-motion-duration-medium: .35s;--md-sys-motion-duration-long: .45s;--space-unit: 8px;font-family:var(--md-ref-typeface-plain);font-size:16px;font-weight:400;line-height:1.5;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}h1,h2,h3,h4,p{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none;cursor:pointer}button:disabled{opacity:.38;cursor:default}button,a{touch-action:manipulation}a{color:var(--md-sys-color-primary);text-underline-offset:4px}.icon{flex-shrink:0;vertical-align:middle;fill:currentColor}html{scrollbar-color:var(--md-sys-color-outline-variant) transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}button:disabled:hover{filter:none}input,select{min-width:0;accent-color:var(--md-sys-color-primary)}input{caret-color:var(--md-sys-color-primary)}input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}::selection{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}button,a{transition:background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized),border-radius var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized),color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized)}.skip-link{position:fixed;top:-80px;left:16px;padding:16px 24px;z-index:10;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-full)}.skip-link:focus{top:16px}.main{max-width:1120px;margin:0 auto;padding-bottom:112px;min-height:100dvh}.app-actions{display:flex;gap:4px}.icon-button{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;min-width:48px;width:48px;height:48px;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant)}.icon-button:active:not(:disabled){background:var(--md-sys-color-surface-container-highest);border-radius:var(--md-sys-shape-corner-large)}.main-content{padding:0 24px 40px;max-width:1000px;margin:0 auto}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.week-switcher{display:flex;align-items:center;gap:4px;margin:0 -8px 16px}.week-label{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:0 4px}.week-label small{flex-basis:100%}.week-chip{padding:2px 10px;border-radius:var(--md-sys-shape-corner-small);font-size:var(--md-sys-typescale-label-large-size);font-weight:600;line-height:1.4}.week-chip.white{background:var(--week-white);color:var(--on-week-white);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.week-chip.green{background:var(--week-green);color:var(--source-on-green-container)}.week-label strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:650;line-height:1.3}.week-label small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch{display:inline-block;flex-shrink:0;border-radius:var(--md-sys-shape-corner-full)}.swatch.white{background:var(--week-white);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline)}.swatch.green{background:var(--week-green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--source-on-green-container) 40%,transparent)}.today-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px 0 12px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);font-size:var(--md-sys-typescale-label-large-size);font-weight:600;flex-shrink:0}.today-button:active{border-radius:var(--md-sys-shape-corner-medium)}.day-dot{height:4px;width:4px;border-radius:var(--md-sys-shape-corner-full);background:transparent}.day-dot.has-lessons{background:currentColor}.day-places{display:grid;gap:12px;margin-bottom:24px;padding:16px 20px;border-radius:var(--md-sys-shape-corner-large-increased);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.day-places p{display:flex;align-items:center;gap:16px;margin:0}.day-places span{display:flex;flex-direction:column;gap:2px;min-width:0}.day-places strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:600;line-height:1.3}.day-places small{font-size:var(--md-sys-typescale-body-medium-size)}.week-day>.day-places{margin-top:16px}.day-pane[data-slide]{animation:day-enter var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized-decelerate)}.day-pane[data-slide=prev]{--day-enter-from: -40px}@keyframes day-enter{0%{transform:translate(var(--day-enter-from, 40px));opacity:.4}}.lesson-tags,.detail-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.other-weeks{margin-top:32px}.other-weeks>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 16px 8px 20px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);font-weight:500;cursor:pointer;list-style:none;transition:background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized),border-radius var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized)}.other-weeks>summary::-webkit-details-marker{display:none}.other-weeks>summary:hover{background:var(--md-sys-color-surface-container-high)}.other-weeks>summary>.icon{transition:transform var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized)}.other-weeks[open]>summary{border-radius:var(--md-sys-shape-corner-large);margin-bottom:24px}.other-weeks[open]>summary>.icon{transform:rotate(180deg)}.empty-state+.other-weeks{margin-top:0}.week-list{display:grid;gap:48px}.primary,.secondary{min-height:48px;border-radius:var(--md-sys-shape-corner-full);padding:12px 24px;display:inline-flex;justify-content:center;align-items:center;gap:10px;font-size:var(--md-sys-typescale-body-large-size);font-weight:550;text-decoration:none}.primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.primary:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 90%,var(--md-sys-color-on-primary))}.secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.secondary:hover{background:var(--md-sys-color-surface-container-highest)}.primary:active,.secondary:active{border-radius:var(--md-sys-shape-corner-large)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:48px 16px;color:var(--md-sys-color-on-surface-variant)}.empty-state h3{font-size:var(--md-sys-typescale-headline-small-size);font-weight:550;color:var(--md-sys-color-on-surface)}.empty-state p{font-size:var(--md-sys-typescale-body-large-size);max-width:42ch;line-height:1.6}.empty-state .primary,.empty-state .secondary{margin-top:8px}.status-message{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:var(--md-sys-shape-corner-large);font-size:var(--md-sys-typescale-body-medium-size);margin:0 0 24px}.status-message>.icon{margin-top:1px}.update-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 12px 16px 16px;margin:0 0 24px;border-radius:var(--md-sys-shape-corner-extra-large);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.update-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.update-text{display:flex;flex-direction:column;gap:4px;min-width:0}.update-text strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:600;line-height:1.3}.update-text span{font-size:var(--md-sys-typescale-body-medium-size);overflow-wrap:anywhere}.update-actions{display:flex;align-items:center;gap:4px}.update-actions .primary{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.update-actions .icon-button{color:var(--md-sys-color-on-tertiary-container)}.changes-banner{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.changes-banner .update-icon,.changes-banner .update-actions .primary{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.changes-banner .update-actions .icon-button{color:var(--md-sys-color-on-secondary-container)}.hidden-toggle{display:flex;align-items:center;gap:8px;min-height:48px;margin:24px auto 0;padding:8px 20px;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-medium-size);font-weight:500}.hidden-toggle:hover{background:var(--md-sys-color-surface-container-high)}.changes section+section{margin-top:28px}.changes h3{font-size:var(--md-sys-typescale-title-medium-size);font-weight:600;margin-bottom:12px}.changes ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.change{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container)}.changes ul>.change:first-child{border-start-start-radius:var(--md-sys-shape-corner-large);border-start-end-radius:var(--md-sys-shape-corner-large)}.changes ul>.change:last-child{border-end-start-radius:var(--md-sys-shape-corner-large);border-end-end-radius:var(--md-sys-shape-corner-large)}.change small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.change b{font-size:var(--md-sys-typescale-body-large-size);font-weight:600;overflow-wrap:anywhere}.change-field{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.change-field del{color:var(--md-sys-color-on-surface-variant)}.change-field ins{text-decoration:none;font-weight:600;color:var(--md-sys-color-on-surface)}.change.removed b{text-decoration:line-through;color:var(--md-sys-color-on-surface-variant)}.change.added{background:color-mix(in srgb,var(--source-green-container) 70%,var(--md-sys-color-surface-container))}.share{display:flex;flex-direction:column;align-items:stretch}.qr{display:block;width:min(240px,70vw);height:auto;margin:0 auto 24px;border-radius:var(--md-sys-shape-corner-large)}.share-link{display:flex;align-items:center;gap:12px;min-height:56px;padding:4px 16px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface-variant)}.share-link:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.share-link input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface);text-overflow:ellipsis}.share-actions,.detail-actions{display:flex;gap:8px;margin-top:24px}.share-actions>*,.detail-actions>*{flex:1}#modal-heading:focus{outline:none}.groups-hero{margin:8px 0 24px}.groups-hero h2{font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--md-sys-color-primary)}.groups-hero p{margin-top:8px;font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant)}.groups-screen .search-bar{margin-bottom:24px}.current-group{display:grid;gap:16px;padding:20px;margin-bottom:28px;border-radius:var(--md-sys-shape-corner-extra-large);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.current-head{display:flex;align-items:center;gap:16px}.current-head .menu-icon{width:48px;height:48px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.current-head>div{display:flex;flex-direction:column;min-width:0}.current-head small,.current-head span{font-size:var(--md-sys-typescale-body-medium-size)}.current-head strong{font-size:var(--md-sys-typescale-headline-small-size);font-weight:650;line-height:1.25}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip-row>span{width:100%;font-size:var(--md-sys-typescale-body-medium-size);color:inherit;opacity:.85}.current-group .filter-chip{color:var(--md-sys-color-on-primary-container);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-sys-color-on-primary-container) 45%,transparent)}.recent-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}.recent-chips>button{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:2px;min-height:64px;padding:10px 16px;text-align:left;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container)}.recent-chips>button:hover{background:var(--md-sys-color-surface-container-high)}.recent-chips b{font-size:var(--md-sys-typescale-title-medium-size)}.recent-chips small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.catalog-browse .chip-row{margin-bottom:12px}.catalog-browse .result-list{margin-top:16px}.result-list b{font-weight:600}.result-list>button:disabled{opacity:1}.result-list>button:disabled:not([aria-busy=true]){opacity:.6}.empty-state.compact{padding:8px 0;align-items:flex-start;text-align:left}.groups-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;margin-top:8px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.search-tabs{margin-bottom:24px}.search-tabs button{flex:1 1 auto}.search-screen .search-bar{margin-bottom:24px}.result-group{margin-bottom:28px}.result-group>h3{font-size:var(--md-sys-typescale-title-medium-size);font-weight:600;margin-bottom:12px}.result-list{display:grid;gap:4px}.result-list>button{display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 16px;text-align:left;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-low);font-size:var(--md-sys-typescale-body-large-size)}.result-list>button:first-child{border-start-start-radius:var(--md-sys-shape-corner-large);border-start-end-radius:var(--md-sys-shape-corner-large)}.result-list>button:last-child{border-end-start-radius:var(--md-sys-shape-corner-large);border-end-end-radius:var(--md-sys-shape-corner-large)}.result-list>button:hover{background:var(--md-sys-color-surface-container-high)}.result-list>button>span:nth-child(2){flex:1;min-width:0}.result-list small,.target-header small{display:block;margin-top:2px;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.result-list>button>.icon:last-child{color:var(--md-sys-color-on-surface-variant)}.room-chips{display:flex;flex-wrap:wrap;gap:8px}.room-chips>button{display:inline-flex;align-items:center;gap:6px;min-height:48px;min-width:64px;justify-content:center;padding:8px 16px;border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:var(--md-sys-typescale-body-large-size);font-weight:550;font-variant-numeric:tabular-nums}.room-chips>button:hover{background:color-mix(in srgb,var(--md-sys-color-on-secondary-container) 8%,var(--md-sys-color-secondary-container))}.room-chips>button:active{border-radius:var(--md-sys-shape-corner-full)}.target-header{display:flex;align-items:center;gap:12px;margin:0 0 20px -12px}.target-header h2{font-size:var(--md-sys-typescale-headline-small-size);font-weight:600;line-height:1.25}.target-header>div{min-width:0}.search-days .week-switcher{margin-bottom:12px}.search-days .day-strip{margin-bottom:24px}.search-date{font-size:var(--md-sys-typescale-title-large-size);font-weight:600;margin-bottom:16px}.directory-card{cursor:default}.directory-card:hover{background:var(--md-sys-color-surface-container-low)}.pair-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin-bottom:24px}.pair-picker>button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;min-width:0;padding:6px 2px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.pair-picker>button b{font-size:var(--md-sys-typescale-title-medium-size);line-height:1.2}.pair-picker>button small{font-size:.75rem}.pair-picker>button.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-medium)}.free-summary{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:24px}.free-summary strong{color:var(--md-sys-color-on-surface)}.maybe-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.maybe-list li{display:flex;flex-direction:column;gap:2px;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.maybe-list b{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface)}.coverage-note{margin-top:24px;font-size:var(--md-sys-typescale-body-medium-size);line-height:1.6;color:var(--md-sys-color-on-surface-variant)}.exam-card{display:flex;align-items:center;gap:12px;width:100%;margin:16px 0 0;padding:20px 16px 20px 20px;text-align:left;border-radius:var(--card-radius);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.exam-card:hover{background:color-mix(in srgb,var(--md-sys-color-on-tertiary-container) 6%,var(--md-sys-color-tertiary-container))}.exam-body-row{display:grid;flex:1;gap:6px;min-width:0}.exam-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:4px}.exam-head time{font-size:1.625rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.exam-card .pair-tile{background:color-mix(in srgb,var(--md-sys-color-surface-container-lowest) 70%,transparent);color:var(--md-sys-color-on-tertiary-container)}.exam-card .live-chip{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-tertiary-container)}.exam-card .live-chip.soon{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.exam-body-row>strong{font-size:1rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.exam-meta{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:.875rem;line-height:1.45;color:color-mix(in srgb,var(--md-sys-color-on-tertiary-container) 80%,transparent)}.exam-meta>span+span:before{content:"·";margin-right:6px}.exam-card .lesson-chevron{margin-right:0;background:color-mix(in srgb,var(--md-sys-color-surface-container-lowest) 70%,transparent);color:var(--md-sys-color-on-tertiary-container)}.exams ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.exam-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container)}.exams ul>.exam-item:first-child{border-start-start-radius:var(--md-sys-shape-corner-large);border-start-end-radius:var(--md-sys-shape-corner-large)}.exams ul>.exam-item:last-child{border-end-start-radius:var(--md-sys-shape-corner-large);border-end-end-radius:var(--md-sys-shape-corner-large)}.exam-chip{flex-shrink:0;min-width:88px;padding:6px 10px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-highest);font-size:var(--md-sys-typescale-label-large-size);font-weight:600;text-align:center}.exam-chip.soon{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.exam-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.exam-body strong{font-size:var(--md-sys-typescale-body-large-size);font-weight:600;overflow-wrap:anywhere}.exam-source,.exam-item.past small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.exam-item.past{opacity:.7}.exams .other-weeks{margin-top:24px}.status-message.error,.inline-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.status-message button{font-weight:600;min-height:48px;align-self:center;white-space:nowrap;margin:-12px -8px -12px auto;padding:8px}.schedule-skeleton{display:grid;gap:24px}.schedule-skeleton>span{height:152px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);animation:skeleton-pulse 1.5s ease-in-out infinite alternate}.schedule-skeleton>span:nth-child(2){height:192px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{to{background:var(--md-sys-color-surface-container-highest)}}.modal{max-width:680px;width:calc(100% - 48px);max-height:88dvh;overflow:auto;padding:24px;border:0;border-radius:var(--md-sys-shape-corner-extra-large);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);box-shadow:0 8px 32px color-mix(in srgb,var(--md-sys-color-shadow) 20%,transparent)}.modal::backdrop{background:color-mix(in srgb,var(--md-sys-color-scrim) 40%,transparent)}.modal[open]{animation:dialog-enter var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized-decelerate)}.modal[open]::backdrop{animation:scrim-enter var(--md-sys-motion-duration-medium) linear}@keyframes dialog-enter{0%{transform:scale(.94);opacity:0}}@keyframes scrim-enter{0%{opacity:0}}.sheet-handle{display:none}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.modal-header h2{font-size:var(--md-sys-typescale-headline-small-size);font-weight:550;line-height:1.3}.modal-intro{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:24px;line-height:1.6}.import-preview label{position:relative;display:flex;flex-direction:column;gap:8px;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.import-preview select{appearance:none;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);min-height:56px;width:100%;background:transparent;padding:12px 48px 12px 16px;font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface);cursor:pointer;text-overflow:ellipsis}.import-preview select:hover{border-color:var(--md-sys-color-on-surface)}.import-preview select:focus-visible{outline:0;border-color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 1px var(--md-sys-color-primary)}.import-preview select option{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.import-preview label>.icon{position:absolute;right:12px;bottom:16px;pointer-events:none;color:var(--md-sys-color-on-surface-variant)}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-height:216px;background:var(--md-sys-color-surface-container);border:2px dashed var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-large);padding:24px;color:var(--md-sys-color-primary);text-align:center}.upload-zone b{font-size:var(--md-sys-typescale-title-medium-size);font-weight:550;color:var(--md-sys-color-on-surface)}.upload-zone small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.privacy-note,.parser-note{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant);line-height:1.6;margin-top:20px}.inline-error{font-size:var(--md-sys-typescale-body-large-size);padding:16px;border-radius:var(--md-sys-shape-corner-medium);margin:16px 0}.import-preview{margin-top:32px}.import-success{display:flex;align-items:center;gap:10px;font-size:var(--md-sys-typescale-body-large-size);background:var(--source-green-container);color:var(--source-on-green-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;margin-bottom:24px}.import-preview>p{font-size:var(--md-sys-typescale-body-large-size);margin:24px 0 16px}.preview-line{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid var(--md-sys-color-outline-variant)}.preview-line small,.preview-line span{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.preview-line b{font-size:var(--md-sys-typescale-body-large-size);font-weight:550}.import-preview>.primary{margin-top:24px;width:100%}.lesson-details h3{font-size:var(--md-sys-typescale-headline-small-size);font-weight:550;line-height:1.4;margin:20px 0 24px;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-grid>span{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px}.detail-grid .icon{grid-row:span 2;color:var(--md-sys-color-on-surface-variant);margin-top:2px}.detail-grid small{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.detail-grid b{font-size:var(--md-sys-typescale-body-large-size);font-weight:500;overflow-wrap:anywhere}.detail-halves{grid-column:2}.detail-weeks{margin-top:28px}.detail-weeks h4{margin-top:0}.detail-status{font-size:var(--md-sys-typescale-body-large-size);margin-bottom:16px}.week-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.week-grid li{display:grid;place-items:center;aspect-ratio:1;min-height:32px;border-radius:var(--md-sys-shape-corner-medium);font-size:var(--md-sys-typescale-label-large-size);font-weight:500;font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface-variant)}.week-grid li.white{background:var(--week-white);color:var(--on-week-white);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.week-grid li.green{background:var(--week-green);color:var(--source-on-green-container)}.week-grid li.on{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:none;font-weight:700;border-radius:var(--md-sys-shape-corner-full)}.week-grid li.past{opacity:.5}.week-grid li.current{outline:2px solid var(--md-sys-color-on-surface);outline-offset:2px;opacity:1}.week-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.week-legend>span{display:inline-flex;align-items:center;gap:6px}.swatch{width:12px;height:12px}.swatch.on{background:var(--md-sys-color-primary)}.swatch.current{box-shadow:inset 0 0 0 2px var(--md-sys-color-on-surface)}.detail-condition.unknown{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);align-items:flex-start}.bells{width:100%;margin-top:12px;border-collapse:collapse;font-size:var(--md-sys-typescale-body-large-size);font-variant-numeric:tabular-nums}.bells th,.bells td{padding:10px 8px;border-bottom:1px solid var(--md-sys-color-outline-variant);text-align:left}.bells th{font-weight:550;white-space:nowrap;padding-left:0}.bells td{color:var(--md-sys-color-on-surface-variant)}.detail-condition{display:flex;gap:12px;align-items:center;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:16px;border-radius:var(--md-sys-shape-corner-large);margin:24px 0;font-size:var(--md-sys-typescale-body-large-size)}.lesson-details h4{font-size:var(--md-sys-typescale-body-medium-size);font-weight:550;margin:24px 0 12px}.lesson-details blockquote{white-space:pre-wrap;padding:20px;margin:0;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large);font-size:var(--md-sys-typescale-body-large-size);line-height:1.6}.detail-original{margin-top:16px}.install-help>p{font-size:var(--md-sys-typescale-body-large-size);line-height:1.6}.install-help ol{padding-left:24px;margin:24px 0}.install-help li{padding:8px 0 8px 8px}.install-help li>b{display:block;font-size:var(--md-sys-typescale-body-large-size);font-weight:550;margin-bottom:8px}.install-help li>span{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant)}.install-help .privacy-note{font-size:var(--md-sys-typescale-body-medium-size)}.install-help>.primary{margin-top:24px;width:100%}.about-schedule p{font-size:var(--md-sys-typescale-body-large-size);line-height:1.6;color:var(--md-sys-color-on-surface-variant);margin-top:16px;white-space:pre-wrap}.about-schedule h3{font-size:var(--md-sys-typescale-title-large-size);font-weight:550;margin-top:32px}.document-name{display:flex;gap:16px;align-items:center;overflow-wrap:anywhere;font-size:var(--md-sys-typescale-title-medium-size)}.document-name .icon{color:var(--md-sys-color-primary)}.document-name strong{font-weight:550;min-width:0}.source-facts{display:grid;gap:20px;margin:24px 0}.source-facts>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px}.source-facts dt{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.source-facts dd{font-size:var(--md-sys-typescale-body-large-size);margin:0;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:var(--md-sys-color-surface)}.app-bar:after{content:"";position:absolute;inset:auto 20px 0;height:1px;background:var(--md-sys-color-outline-variant)}.app-bar.scrolled{background:color-mix(in srgb,var(--md-sys-color-surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:12px;min-height:48px;min-width:0;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--md-sys-color-on-surface)}.brand img{border-radius:12px;flex-shrink:0}.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:.9375rem;font-weight:700;white-space:nowrap}.install-pill:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 14%,var(--md-sys-color-primary-container))}.page-title{margin:20px 0 16px;font-size:clamp(1.875rem,1.6rem + 1vw,2.375rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.page-title>span{display:block;color:var(--md-sys-color-primary)}.icon-button{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant)}.icon-button:hover:not(:disabled){background:var(--md-sys-color-surface-container-high)}.icon-button[aria-pressed=true]{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 2px;font-size:.9375rem;font-weight:700;color:var(--md-sys-color-primary);text-decoration:none}.text-link:hover:not(:disabled){text-decoration:underline}.picker-panel{display:grid;gap:12px;padding:20px 20px 8px;border-radius:var(--card-radius);background:var(--md-sys-color-surface-container-low)}.picker-panel h2{font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--md-sys-color-primary)}.picker-field{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px;border-radius:20px;background:var(--md-sys-color-surface-container-lowest);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 28%,transparent);color:var(--md-sys-color-on-surface-variant);text-align:left}.picker-field:hover{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent)}.picker-field>span{display:flex;flex:1;flex-direction:column;min-width:0}.picker-field strong{font-size:1.125rem;font-weight:700;line-height:1.3;color:var(--md-sys-color-on-surface)}.picker-field small{font-size:.875rem;line-height:1.4}.recent-row,.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip-row+.chip-row{margin-top:12px}.chip-row>span{width:100%;font-size:.875rem;color:inherit;opacity:.85}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:.9375rem;font-weight:700}.filter-chip>.icon{margin-left:-4px}.filter-chip:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 14%,var(--md-sys-color-primary-container))}.filter-chip.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.current-group .filter-chip{background:var(--md-sys-color-surface-container-lowest)}.current-group .filter-chip.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.picker-links{display:flex;justify-content:space-between;gap:12px}.timetable{padding:20px 20px 8px;margin-top:16px;border-radius:var(--card-radius);background:var(--md-sys-color-surface-container-lowest);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.board-head h2{min-width:0;font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}.day-actions{display:flex;gap:8px}.subgroup-row{margin-top:16px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 8px}.view-switch{display:inline-flex;flex-shrink:0;gap:2px;padding:4px;border-radius:20px;background:var(--md-sys-color-surface-container-low)}.view-switch button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:16px;font-size:.9375rem;font-weight:700;color:var(--md-sys-color-on-surface-variant)}.view-switch button>.icon{display:none}.view-switch button:hover:not(.selected){color:var(--md-sys-color-on-surface)}.view-switch button.selected{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);box-shadow:0 1px 3px color-mix(in srgb,var(--md-sys-color-shadow) 12%,transparent)}.variant-select{position:relative;display:inline-flex;max-width:220px;align-items:center;gap:6px;min-width:0;min-height:52px;padding:0 12px 0 14px;border-radius:20px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant)}.variant-select select{min-width:0;max-width:180px;padding-right:4px;border:0;background:none;appearance:none;font-size:.9375rem;font-weight:700;color:var(--md-sys-color-on-surface);text-overflow:ellipsis;cursor:pointer}.variant-select select option{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface)}.variant-select:focus-within{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.week-switcher{display:flex;align-items:center;gap:8px;margin-bottom:8px}.week-switcher .icon-button{background:none}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:8px}.day-strip button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 0;border-radius:16px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-weight:600}.day-strip.dated button{min-height:64px}.day-strip button:hover:not(:disabled):not(.selected){background:var(--md-sys-color-surface-container-high)}.day-strip button.today:not(.selected){color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 2px var(--md-sys-color-primary)}.day-strip button.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translateY(-1px)}.day-strip button:active:not(:disabled){transform:scale(.96)}.day-strip button{transition:background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized),transform var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized)}.day-strip button:disabled{opacity:.4}.day-number{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface)}.day-strip button.selected .day-number,.day-strip button.today:not(.selected) .day-number{color:inherit}.day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 4px}.day-title h3{font-size:1.125rem;font-weight:700;line-height:1.3}.day-date{font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}.day-title .icon-button{background:none}.search-bar{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 8px 0 16px;margin:8px 0;border-radius:20px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant)}.search-bar:focus-within{box-shadow:inset 0 0 0 2px var(--md-sys-color-primary)}.search-bar input{flex:1;min-height:48px;border:0;outline:0;background:none;font-size:1rem;color:var(--md-sys-color-on-surface)}.search-bar input::-webkit-search-cancel-button{display:none}.search-bar .icon-button{background:none}.groups-screen .search-bar,.search-screen .search-bar{margin:0 0 24px;background:var(--md-sys-color-surface-container-lowest);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 28%,transparent)}.lesson-list{display:grid}.time-slot{padding:12px 0}.time-slot+.time-slot{border-top:1px solid var(--md-sys-color-outline-variant)}.slot-time{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:1.625rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pair-tile{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:1.125rem;font-weight:800;letter-spacing:0;transition:background-color var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized)}.time-slot.now .pair-tile{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.slot-end{font-size:1rem;font-weight:600;letter-spacing:0;color:var(--md-sys-color-on-surface-variant)}.live-chip{padding:5px 10px;border-radius:10px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);font-size:.875rem;font-weight:700;letter-spacing:0;line-height:1.3;white-space:nowrap}.slot-lessons{display:grid;margin-top:2px}.lesson-card{display:flex;align-items:center;gap:8px;width:calc(100% + 24px);min-width:0;margin:0 -12px;padding:6px 12px;border-radius:20px;text-align:left;color:var(--md-sys-color-on-surface)}.lesson-card+.lesson-card{margin-top:2px}.lesson-card:hover{background:var(--md-sys-color-surface-container-low)}.lesson-card:hover .lesson-chevron{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.lesson-body{display:grid;flex:1;gap:3px;min-width:0}.lesson-body>strong{font-size:1rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.lesson-meta{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:.875rem;line-height:1.45;color:var(--md-sys-color-on-surface-variant)}.lesson-meta>span{min-width:0;overflow-wrap:anywhere}.lesson-meta>span+span:before{content:"·";margin-right:6px}.lesson-meta>.type-tag{padding:0;background:none;font-size:inherit;font-weight:700}.lesson-tags{display:flex;flex-wrap:wrap;gap:6px}.lesson-tags:empty{display:none}.type-tag,.variant-tag,.shared-tag,.hidden-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:8px;font-size:.8125rem;font-weight:700;line-height:1.4;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.type-tag.lecture{color:var(--md-sys-color-primary)}.type-tag.practice{color:var(--md-sys-color-tertiary)}.type-tag.lab{color:var(--md-sys-color-secondary)}.detail-tags .type-tag.lecture{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.detail-tags .type-tag.practice{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.variant-tag.lower{background:var(--source-green-container);color:var(--source-on-green-container)}.variant-tag.upper{background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.variant-tag>i{display:block;width:8px;height:8px;border-radius:var(--md-sys-shape-corner-full);background:currentColor}.condition{display:flex;align-items:flex-start;gap:6px;font-size:.875rem;line-height:1.45;color:var(--md-sys-color-on-surface-variant)}.condition>.icon{display:none}.condition-raw{opacity:.8}.condition.unknown{color:var(--md-sys-color-error)}.lesson-chevron{display:grid;place-items:center;width:28px;height:28px;margin-right:-6px;flex-shrink:0;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary);transition:background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized)}.lesson-card.muted .lesson-body{opacity:.62}.other-weeks .pair-tile{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.week-list{display:grid;gap:8px;margin-top:12px}.week-day>h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding-top:12px;font-size:1.25rem;font-weight:700}.week-day>h3 small{font-size:.875rem;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.board-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 8px;margin-top:4px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}.navigation-rail{display:none}.navigation-bar{position:fixed;bottom:0;inset-inline:0;z-index:3;display:flex;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--md-sys-color-surface-container-lowest) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--md-sys-color-outline-variant)}.navigation-bar button,.navigation-rail button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;border-radius:16px;font-size:.8125rem;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.navigation-bar button:hover,.navigation-rail button:hover{color:var(--md-sys-color-on-surface)}.navigation-bar button.active,.navigation-rail button.active{color:var(--md-sys-color-primary);font-weight:700}.navigation-bar button .icon,.navigation-rail button .icon{transition:transform var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-emphasized)}.navigation-bar button:active .icon,.navigation-rail button:active .icon{transform:scale(.9)}.settings{display:grid;gap:16px}.settings-card{padding:24px 20px 20px;border-radius:var(--card-radius);background:var(--md-sys-color-surface-container-lowest);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.settings-card h2{margin-bottom:4px;font-size:1.375rem;font-weight:700;line-height:1.25}.theme-options,.menu-list{display:grid}.theme-options button,.menu-list>button,.menu-list>a{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 4px;text-align:left;text-decoration:none;font-size:1rem;font-weight:600;color:var(--md-sys-color-on-surface)}.theme-options button+button,.menu-list>*+*{border-top:1px solid var(--md-sys-color-outline-variant)}.theme-options button>span:nth-child(2),.menu-list>button>span:nth-child(2),.menu-list>a>span:nth-child(2){display:grid;flex:1;gap:2px;min-width:0}.theme-options b{font-size:1rem;font-weight:700}.theme-options small,.menu-list small{font-size:.875rem;font-weight:500;line-height:1.45;color:var(--md-sys-color-on-surface-variant)}.theme-options button.selected b,.theme-options button:hover b,.menu-list>button:hover:not(:disabled)>span:nth-child(2),.menu-list>a:hover>span:nth-child(2){color:var(--md-sys-color-primary)}.radio-mark{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:var(--md-sys-shape-corner-full);box-shadow:inset 0 0 0 2px var(--md-sys-color-outline)}.selected>.radio-mark{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:none}.menu-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary)}.menu-list>button>.icon,.menu-list>a>.icon{color:var(--md-sys-color-on-surface-variant)}.current-head .menu-icon{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.schedule-screen{display:flex;flex-direction:column}.schedule-side{display:contents}.schedule-screen .exam-card{order:2}.detail-meta{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 20px}.detail-meta>.type-tag{padding:0;background:none;font-size:.9375rem}@media(min-width:600px){.main{margin-left:96px;max-width:none;padding-bottom:0}.app-bar{padding-inline:max(40px,calc((100% - 760px)/2))}.app-bar:after{inset-inline:max(40px,calc((100% - 760px)/2))}.main-content{max-width:840px;padding-inline:40px}.navigation-bar{display:none}.navigation-rail{position:fixed;inset:0 auto 0 0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;width:96px;padding:96px 8px 24px;background:var(--md-sys-color-surface-container-lowest);box-shadow:inset -1px 0 0 var(--md-sys-color-outline-variant)}.navigation-rail button{flex:0 0 auto;width:80px;min-height:72px}.picker-panel,.timetable,.settings-card{padding-inline:28px}}@media(min-width:1100px){.main-content:has(.schedule-screen){max-width:1200px}.main:has(.schedule-screen) .app-bar{padding-inline:max(40px,calc((100% - 1120px)/2))}.main:has(.schedule-screen) .app-bar:after{inset-inline:max(40px,calc((100% - 1120px)/2))}.schedule-screen{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;align-items:start}.schedule-side{position:sticky;top:88px;display:flex;flex-direction:column}.schedule-screen .timetable{margin-top:20px}}@media(max-width:599px){.brand{gap:10px;font-size:1.1875rem}.brand img{width:36px;height:36px}.install-pill{padding-inline:14px}.install-pill>.icon{display:none}.main-content{padding:0 16px 24px}.schedule-toolbar{gap:8px;margin-bottom:16px}.variant-select{gap:4px;padding-inline:14px 12px}.variant-select>.icon:first-child{display:none}.variant-select select{max-width:none;width:100%;text-overflow:ellipsis}.timetable{margin-inline:-4px;padding-inline:16px}.week-switcher{margin-inline:-8px}.today-button{padding:0 12px}.today-button>.icon{display:none}.week-grid{gap:4px}.modal{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;inset:auto 0 0;border-radius:var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) 0 0;padding:0 20px calc(24px + env(safe-area-inset-bottom));animation-name:sheet-enter;animation-duration:var(--md-sys-motion-duration-long)}.sheet-handle{display:block;width:32px;height:4px;margin:16px auto 8px;border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 40%,transparent)}@keyframes sheet-enter{0%{transform:translateY(100%)}}.modal-header h2{font-size:var(--md-sys-typescale-headline-small-size)}.detail-grid{grid-template-columns:1fr;gap:20px}.source-facts>div{grid-template-columns:1fr;gap:4px}.status-message{gap:8px}.update-banner{grid-template-columns:auto minmax(0,1fr);padding:16px}.pair-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-item{flex-direction:column}.target-header{margin-left:-8px}.update-icon{width:40px;height:40px}.update-actions{grid-column:1 / -1;justify-content:flex-end;margin:-4px -8px -8px 0}.status-message button{margin:-8px -8px -8px auto}.empty-state{padding:32px 16px}}@media(max-width:359px){.brand span{font-size:1.125rem}.install-pill{padding-inline:12px}.day-strip{gap:4px}.variant-select{padding-inline:8px;gap:2px}.source-facts>div{gap:8px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--md-sys-color-primary: #9ecaff;--md-sys-color-on-primary: #003258;--md-sys-color-primary-container: #00497d;--md-sys-color-on-primary-container: #d1e4ff;--md-sys-color-secondary: #bbc7db;--md-sys-color-on-secondary: #253140;--md-sys-color-secondary-container: #2d3b5b;--md-sys-color-on-secondary-container: #d8e2ff;--md-sys-color-tertiary: #a7d394;--md-sys-color-on-tertiary: #123808;--md-sys-color-tertiary-container: #243c2b;--md-sys-color-on-tertiary-container: #c6edb8;--md-sys-color-surface: #141820;--md-sys-color-on-surface: #f0f1f5;--md-sys-color-on-surface-variant: #abb3c2;--md-sys-color-surface-container-lowest: #1c2330;--md-sys-color-surface-container-low: #222a39;--md-sys-color-surface-container: #252d3b;--md-sys-color-surface-container-high: #2c3545;--md-sys-color-surface-container-highest: #363f50;--md-sys-color-outline: #7c8597;--md-sys-color-outline-variant: #343d4c;--md-sys-color-error: #ffb4ab;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-inverse-surface: #e0e2e8;--md-sys-color-inverse-on-surface: #2e3135;--source-green-container: #243c2b;--source-on-green-container: #c6edb8;--week-white: #e6e8ef;--week-green: #3d6a3a}}:root[data-theme=dark]{color-scheme:dark;--md-sys-color-primary: #9ecaff;--md-sys-color-on-primary: #003258;--md-sys-color-primary-container: #00497d;--md-sys-color-on-primary-container: #d1e4ff;--md-sys-color-secondary: #bbc7db;--md-sys-color-on-secondary: #253140;--md-sys-color-secondary-container: #2d3b5b;--md-sys-color-on-secondary-container: #d8e2ff;--md-sys-color-tertiary: #a7d394;--md-sys-color-on-tertiary: #123808;--md-sys-color-tertiary-container: #243c2b;--md-sys-color-on-tertiary-container: #c6edb8;--md-sys-color-surface: #141820;--md-sys-color-on-surface: #f0f1f5;--md-sys-color-on-surface-variant: #abb3c2;--md-sys-color-surface-container-lowest: #1c2330;--md-sys-color-surface-container-low: #222a39;--md-sys-color-surface-container: #252d3b;--md-sys-color-surface-container-high: #2c3545;--md-sys-color-surface-container-highest: #363f50;--md-sys-color-outline: #7c8597;--md-sys-color-outline-variant: #343d4c;--md-sys-color-error: #ffb4ab;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-inverse-surface: #e0e2e8;--md-sys-color-inverse-on-surface: #2e3135;--source-green-container: #243c2b;--source-on-green-container: #c6edb8;--week-white: #e6e8ef;--week-green: #3d6a3a}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
