:root{color:#f6f5f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0c0e;--text:#f6f5f7;--muted:#a5a0aa;--line:#29262d;--soft:#151317;--accent:#cec1d7;background:#0c0c0e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf9fb;--text:#1b181f;--muted:#68616e;--line:#ded9e2;--soft:#f0ecf3;--accent:#6c557b;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}#root{overflow-x:clip}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:0 0;border-radius:4px;min-height:44px;padding:9px 14px}button:hover:not(:disabled),select:hover{background:var(--soft)}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{flex-shrink:0}h1,h2,h3,p{margin:0}.shell{flex-direction:column;max-width:1120px;min-height:100dvh;margin:auto;padding:0 40px;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand{align-items:center;gap:20px;display:flex}.brand-mark{letter-spacing:-1.5px;font-size:26px;font-weight:650}.brand-mark span{color:var(--accent);font-weight:400}.brand-title{color:var(--muted);font-size:14px}.preferences{align-items:center;gap:6px;display:flex}.preferences button{border:0;min-width:44px}.language{letter-spacing:.05em;font-size:12px;font-weight:600}.icon-button{place-items:center;padding:10px;display:grid}main{flex:1;padding-bottom:64px}.home{max-width:720px;margin:40px auto 80px}.university{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.6}h1{letter-spacing:-1.5px;font-size:clamp(30px,5vw,46px);font-weight:500;line-height:1.15}.group-list{border-top:1px solid var(--line);margin-top:48px}.group-list a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 18px;align-items:center;gap:24px;padding:28px 0;display:grid}.group-list a:hover .group-number{color:var(--accent)}.group-number{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:29px}.group-hint{color:var(--muted);font-size:13px}.group-list svg{color:var(--accent)}.back{color:var(--muted);align-items:center;gap:10px;min-height:26px;margin:0;font-size:13px;display:inline-flex}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:12px 0;display:flex}.page-heading .university{margin-bottom:5px}.number-title{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:30px}.download{color:var(--accent);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}select{background:var(--bg);border:1px solid var(--line);max-width:100%;min-height:44px;color:var(--text);border-radius:4px;padding:10px 28px 10px 10px;font-size:12px}.day-tabs{scrollbar-width:none;gap:4px;margin:0 0 8px;display:flex;overflow-x:auto}.day-tabs button{white-space:nowrap;color:var(--muted);border-color:#0000;border-radius:0;font-size:12px;position:relative}.day-tabs button[aria-pressed=false]{background:0 0}.day-tabs button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-radius:0}.today-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-left:5px;display:inline-block}.empty{max-width:550px;color:var(--muted);padding:70px 0;line-height:1.7}.empty h2{color:var(--text);margin-bottom:12px;font-size:21px;font-weight:450;line-height:1.3}.empty p{font-size:14px}.empty button,.empty a{color:var(--accent);margin-top:20px;display:inline-flex}.notice-region{overflow:clip}.notice{color:var(--accent);border-bottom:1px solid var(--line);margin:0;padding:5px 4px;font-size:13px;line-height:1.6}.notice button{border:0;min-height:0;padding:0;font-size:12px;text-decoration:underline}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:24px 0 28px;font-size:11px;line-height:1.8;display:flex}footer>span{max-width:420px}footer div{flex-wrap:wrap;gap:20px;display:flex}footer a{white-space:nowrap}@media (width<=760px){.shell{padding:0 20px}.topbar{height:48px}.brand{gap:14px}.brand-title{font-size:12px}.home{margin:36px auto 48px}.group-list{margin-top:36px}.group-list a{grid-template-columns:1fr 18px;gap:8px 16px;padding:24px 0}.group-hint{grid-column:1;font-size:12px}.group-list svg{grid-area:1/2/3}.group-number{font-size:28px}.page-heading{align-items:flex-end;margin:18px 0 24px}.number-title{font-size:36px}.download{gap:8px;max-width:170px;padding:10px;font-size:12px}.day-tabs{justify-content:space-between;gap:0;margin-top:20px}.day-tabs button{flex-grow:1;padding:9px 10px}footer{flex-direction:column;gap:8px}footer div{justify-content:space-between;gap:14px}.empty{padding:52px 0}main{padding-bottom:0}}@media (width<=360px){.shell{padding:0 16px}.brand-title{display:none}.day-tabs button{padding:9px 7px}.number-title{font-size:32px}.download{max-width:150px}}@media (prefers-reduced-motion:no-preference){.download-spinner{animation:.8s linear infinite download-spin}button,a{transition:color .15s,background-color .15s}}@keyframes download-spin{to{transform:rotate(360deg)}}.schedule-shell{max-width:1920px}.heading-actions{align-items:center;gap:12px;display:flex}.week-select{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.timetable-scroll{border:1px solid var(--line);margin-top:0;overflow:auto hidden}.timetable{--time-line-color:color-mix(in srgb, var(--accent) 45%, var(--bg));isolation:isolate;min-width:100%;display:grid}.table-row{display:contents}.day-heading,.table-corner,.time-cell,.schedule-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}.day-heading,.table-corner{z-index:2;color:var(--accent);background:var(--soft);justify-content:center;align-items:center;font-size:13px;display:flex;position:sticky;top:0}.table-corner{z-index:4;left:0}.time-cell{z-index:3;color:var(--accent);font-variant-numeric:tabular-nums;background:var(--soft);justify-content:center;align-items:center;min-width:0;font-size:12px;display:flex;position:sticky;left:0}.day-canvas,.day-preview-canvas{position:relative;overflow:clip}.schedule-update-position{z-index:5;pointer-events:none;justify-content:center;display:flex;position:absolute;top:8px;left:0;right:0}.schedule-update{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:4px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.day-neighbor{pointer-events:none;width:100%;position:absolute;top:0}.day-panel.settling,.day-neighbor.settling{transition:transform .18s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion:reduce){.day-panel.settling,.day-neighbor.settling{transition:none}}:root{view-transition-name:none}::view-transition{pointer-events:none}@media (width>=1024px){.day-canvas{view-transition-name:day-table}::view-transition-group(*){animation:none}::view-transition-old(*){opacity:0;animation:none}::view-transition-new(*){opacity:1;animation:none}::view-transition-old(day-table){opacity:1;animation:.11s ease-out both image-save-out}::view-transition-new(day-table){animation:.11s ease-out both image-save-in}}.time-cell time{white-space:nowrap;--time-mask:color-mix(in srgb, var(--soft) 75%, transparent);flex-shrink:0}.time-cell:after,.schedule-cell:after{content:"";z-index:0;pointer-events:none;background-image:var(--time-line);background-repeat:no-repeat;background-size:100% var(--time-line-width,2px);background-position:0 calc((var(--time-position) - var(--time-row)) * var(--row-height));position:absolute;inset:0 -1px -1px 0}.time-cell time,.lesson-entries,.no-classes{z-index:1;position:relative}.lesson h3>span,.lesson p>span,.no-classes{--time-mask:color-mix(in srgb, var(--bg) 50%, transparent)}.time-cell time,.lesson h3>span,.lesson p>span,.no-classes{background:linear-gradient(90deg, transparent, var(--time-mask) 8px, var(--time-mask) calc(100% - 8px), transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin-inline:-4px;padding-inline:4px}.schedule-cell{align-items:center;min-width:0;min-height:0;padding:7px;display:flex;position:relative}.lesson-entries{gap:10px;width:100%;display:grid}.lesson-details{overflow-wrap:anywhere;flex-direction:column;gap:3px;min-width:0;display:flex}.lesson-details+.lesson-details{border-left:1px solid var(--line);padding-left:10px}.lesson h3{font-size:var(--lesson-font-size,14px);font-weight:500;line-height:1.3}.lesson p{font-size:calc(var(--lesson-font-size,14px) * .93);color:var(--muted);line-height:1.3}.lesson p.subgroup{color:var(--accent);font-size:calc(var(--lesson-font-size,14px) * .86)}.no-classes{color:var(--muted);font-size:12px}@media (width<=760px){.page-heading{flex-wrap:wrap}.heading-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;width:100%}.week-select{flex:1;min-width:0}.week-select select{width:100%;padding-right:20px;font-size:11px}.download{font-size:11px}.timetable-scroll{max-height:none}}.group-heading{align-items:center;gap:8px;display:flex}.group-heading .back{justify-content:center;width:36px}.shared-subject{grid-column:1/-1}@media (width<=760px){.shell{padding:0 10px}.brand-mark{font-size:22px}.page-heading{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;margin:4px 0;display:grid}.number-title{font-size:25px}.heading-actions{display:contents}.download{grid-area:1/2;width:40px;padding:8px}.download span{display:none}.week-select{grid-area:2/1/auto/-1}.week-select select{min-height:36px;padding:0 20px 0 8px;font-size:13px}.day-tabs{margin:4px 0}.day-tabs button{min-height:24px;padding:6px 8px}}@media (width>=1024px){.schedule-shell{height:100dvh;min-height:0}.schedule-shell main{flex:1;min-height:0;padding-bottom:0}.schedule-shell footer{margin-top:8px;padding:8px 0}.schedule-shell .timetable-scroll{overflow:clip}.schedule-cell{padding:4px}.lesson-entries{gap:3px}.lesson-details{gap:2px}.lesson-details+.lesson-details{padding-left:4px}.lesson h3,.lesson p{line-height:1.15}}.lesson p.kind{color:var(--accent);margin-top:2px}.lesson p.room{font-size:calc(var(--lesson-font-size,14px) * 1.05);color:var(--text);font-weight:650}.floating-header{z-index:10;pointer-events:none;background:var(--soft);height:28px;position:fixed;top:0;overflow:hidden}.floating-header[hidden]{display:none}@media (width<=1023px){.timetable-scroll{touch-action:pan-x pan-y}.timetable,.floating-grid,.floating-corner{zoom:var(--table-scale,1)}.timetable{--time-line-width:calc(1px + 1px / var(--table-scale,1))}}.image-save{background:var(--bg);width:min(100vw - 20px,640px);max-height:90dvh;color:var(--text);border:1px solid var(--line);padding:0 10px}.image-save::backdrop{background:#0009}.image-save-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:10px;display:flex}.image-save-toolbar>.icon-button{margin-left:auto}.image-save-toolbar button,.image-save-toolbar a{border:0;align-items:center;gap:6px;min-height:36px;padding:0 4px;font-size:12px;display:inline-flex}.image-save-toolbar .icon-button{justify-content:center;width:32px}.image-save p{color:var(--muted);margin:10px 0;font-size:12px;line-height:1.4}.image-save img{width:100%;display:block}@media (prefers-reduced-motion:no-preference){.image-save[open],.image-save[open]::backdrop{animation:.16s ease-out image-save-in}.image-save[data-closing],.image-save[data-closing]::backdrop{animation:.14s ease-in forwards image-save-out}}@keyframes image-save-in{0%{opacity:0}to{opacity:1}}@keyframes image-save-out{0%{opacity:1}to{opacity:0}}.floating-grid{height:28px;display:grid}.floating-neighbor{position:absolute;top:0;left:0}.floating-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--accent);justify-content:center;align-items:center;font-size:13px;display:flex}.floating-corner{z-index:1;background:var(--soft);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:40px;position:absolute;top:0;bottom:0;left:0}@media (width<=760px){.day-canvas{margin-inline:-10px}.timetable-scroll{border-left:0;border-right:0}.home{margin-inline:10px}.week-select select{padding-left:6px;font-size:11px}.download{grid-area:1/3;gap:5px;width:auto;max-width:none;font-size:12px}.download span{display:inline}.number-title{font-size:22px}.group-heading{gap:2px}.group-heading .back{width:24px}.shell{position:relative}.page-heading{grid-template-columns:auto minmax(0,1fr)}.week-select{grid-area:1/2}.download{height:44px;position:absolute;top:2px;right:104px}.schedule-shell .brand-title{display:none}}@media (width<=360px){.week-select select{font-size:10px}.number-title{font-size:20px}}.topbar{justify-content:flex-end;gap:8px;height:auto;min-height:44px}.topbar .page-heading,.topbar .heading-actions{display:contents}.topbar .group-heading{flex-shrink:0}.topbar .week-select{margin-right:auto}.topbar .download{flex-shrink:0;height:26px;min-height:26px;padding:0 8px;position:static}.topbar .preferences{flex-shrink:0;gap:0}.topbar .preferences button{min-width:32px;min-height:26px;padding:0}.topbar .week-select select{min-height:26px}.topbar .number-title{font-size:22px}.day-tabs{gap:0;margin:0}.day-tabs button{min-height:22px;padding-block:4px}footer{padding:12px 0}footer div{justify-content:space-between;width:100%}@media (width<=760px){.topbar{flex-wrap:nowrap;justify-content:flex-start;gap:5px;min-height:30px;overflow:visible}.topbar .week-select{flex:1 1 0}.topbar .week-select select{font-size:11px}.topbar .download span{display:inline}.topbar .group-heading .back{width:20px}.topbar .number-title{padding-top:2px;font-size:16px}.day-tabs{margin:0 -10px}}.topbar,.group-list a,.day-tabs,.notice{border-bottom:1px solid var(--line);border-image:linear-gradient(var(--line), var(--line)) 1 / 0 0 1px / 0 100vw}.group-list,footer{border-image:linear-gradient(var(--line), var(--line)) 1 / 1px 0 0 / 0 100vw}.group-prefix{color:var(--muted);font-weight:400}.group-number strong,.number-title strong{color:var(--accent);font-weight:650}.topbar .download,.topbar .week-select select{border:0}.week-select{min-width:0;position:relative}.week-summary{text-overflow:ellipsis;white-space:nowrap;padding:5px 16px 5px 6px;font-size:12px;display:block;overflow:hidden}.week-select>svg{pointer-events:none;width:12px;height:12px;position:absolute;right:0}.topbar .week-select select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.week-select select:focus-visible{outline:none}@media (width<=760px){.shell:not(.schedule-shell) .topbar{justify-content:flex-end}.week-summary{font-size:11px}.schedule-cell{padding-block:5px}}@media (width<=380px){.schedule-shell .topbar{gap:2px}.topbar .preferences button{min-width:24px}.topbar .download{gap:2px;padding-inline:2px}.topbar .week-summary{font-size:10px}}[data-group="108639"]{--accent:#babae1}[data-group="108649"]{--accent:#c6e4cd}[data-group="108659"]{--accent:#dabca8}[data-group="108669"]{--accent:#dccb8a}[data-theme=light] [data-group="108639"]{--accent:#7971aa}[data-theme=light] [data-group="108649"]{--accent:#80a68b}[data-theme=light] [data-group="108659"]{--accent:#bf8e6d}[data-theme=light] [data-group="108669"]{--accent:#d8b23c}
