:root{color:#1d2b45;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f7;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #4c77dc66}#root{min-height:100vh}:root{--ink:#17243b;--muted:#687792;--line:#dbe3ef;--line-strong:#c6d1e1;--panel:#fff;--page:#eef2f7;--accent:#456ed0;--accent-dark:#3156ad;--accent-soft:#edf2ff;--shadow:0 18px 45px #23365b1a}body{color:var(--ink);background:radial-gradient(circle at 12% 0%, #6a8fe024, transparent 28rem), var(--page)}.timetable-page{width:min(100%,1580px);margin:0 auto;padding:clamp(16px,3vw,36px)}.timetable-scroll{scrollbar-color:#b4c2d8 transparent;width:100%;padding:2px;overflow-x:auto}.filters{background:#ffffffeb;border:1px solid #c6d1e1e6;border-radius:18px;grid-template-columns:auto auto minmax(220px,.8fr) minmax(300px,1.5fr);align-items:start;gap:22px 28px;max-width:1500px;margin:0 auto 22px;padding:20px 22px;display:grid;box-shadow:0 10px 30px #23365b12}.filter-section{flex-direction:column;gap:9px;min-width:0;display:flex}.filter-title{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}.segmented-control{border:1px solid var(--line-strong);background:#f4f7fb;border-radius:10px;width:max-content;max-width:100%;display:inline-flex;overflow:hidden}.segmented-control button{color:#52627c;border:0;border-right:1px solid var(--line-strong);cursor:pointer;background:0 0;min-height:40px;padding:8px 15px;font-size:14px;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.segmented-control button:last-child{border-right:0}.segmented-control button:hover:not(.active){color:var(--ink);background:#e8eef8}.segmented-control button.active{color:#fff;background:var(--accent);box-shadow:0 3px 8px #456ed04d}.subject-list{flex-wrap:wrap;gap:7px;display:flex}.subject-chip{color:#53637c;border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:9px;align-items:center;gap:7px;min-height:34px;padding:7px 10px;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.subject-chip:hover{color:var(--ink);background:#edf2fa;border-color:#9eb1ce;transform:translateY(-1px)}.subject-chip input{accent-color:#fff;width:14px;height:14px;margin:0}.subject-chip.selected{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 3px 8px #456ed038}.subject-chip.selected:hover{color:#fff;background:var(--accent-dark);border-color:var(--accent-dark)}.subject-chip.locked{color:#52627c;cursor:default;background:#eef2f7;border-color:#e0e6ef}.subject-chip.locked:hover{transform:none}.additional-filter{min-width:0}.filter-footer{border-top:1px solid #e8edf4;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.saved-preferences{color:#7a879c;font-size:12px}.saved-preferences:before{content:"";background:#65b891;border-radius:50%;width:7px;height:7px;margin:0 7px 1px 0;display:inline-block}.reset-button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:12px;font-weight:800}.reset-button:hover{color:var(--ink);text-decoration:underline}.timetable{background:var(--panel);border:1px solid var(--line-strong);min-width:1120px;max-width:1500px;box-shadow:var(--shadow);border-radius:20px;margin:0 auto;overflow:hidden}.timetable-heading{background:linear-gradient(118deg,#172845 0%,#284d87 100%);border-bottom:1px solid #19335e;min-height:122px;padding:24px 26px 37px;position:relative}.timetable-heading h1{color:#fff;letter-spacing:-.045em;text-align:center;margin:0;font-size:clamp(36px,4vw,58px);font-weight:750;line-height:1}.school,.teacher{color:#d4e0f5;letter-spacing:.01em;font-size:12px;font-weight:650;position:absolute;bottom:13px}.school{left:26px}.teacher{right:26px}.period-header{background:#f7f9fc;grid-template-columns:84px 1fr;display:grid}.period-header-spacer{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.period-grid,.day-schedule{grid-template-columns:repeat(11,minmax(94px,1fr));display:grid}.period{text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:68px;padding:9px 3px 7px}.period:last-child{border-right:0}.period strong{color:var(--ink);font-size:20px;font-weight:800;line-height:1.1;display:block}.period span{color:var(--muted);white-space:nowrap;margin-top:5px;font-size:12px;font-weight:650;line-height:1;display:block}.day-row{grid-template-columns:84px 1fr;display:grid}.day-name{color:#304568;border-right:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:-.04em;background:#f7f9fc;justify-content:center;align-items:center;min-height:126px;font-size:32px;font-weight:800;display:flex}.day-schedule{grid-template-rows:repeat(6,1fr);min-height:126px;position:relative}.empty-slot{z-index:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day-row:last-of-type .day-name,.day-row:last-of-type .empty-slot{border-bottom:0}.lesson{z-index:1;color:#1d3152;border-bottom:1px solid #566f974d;border-right:1px solid #566f974d;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 4px 0 #ffffff80}.lesson.full{background:#eaf2ff}.lesson.top,.lesson.topThird{background:#f4efff}.lesson.bottom,.lesson.bottomThird{background:#eaf9f4}.lesson.middleThird{background:#fff6e8}.lesson:hover{z-index:2;filter:saturate(1.08)brightness(.99)}.lesson:before{content:"";background:#456ed059;width:4px;position:absolute;inset:0 auto 0 0}.lesson-name{color:#1b3154;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(22px,2.2vw,38px);font-weight:800;line-height:1;overflow:hidden}.lesson-group{color:#687792;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 16px);font-size:10px;font-weight:800;line-height:1;position:absolute;top:5px;right:8px;overflow:hidden}.lesson-meta{color:#60718c;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;bottom:5px;left:8px;right:8px}.lesson-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.full{grid-row:1/7}.top{grid-row:1/4}.bottom{grid-row:4/7}.topThird{grid-row:1/3}.middleThird{grid-row:3/5}.bottomThird{grid-row:5/7}.top .lesson-name,.bottom .lesson-name,.topThird .lesson-name,.middleThird .lesson-name,.bottomThird .lesson-name{font-size:clamp(20px,2vw,34px)}.lesson.expanded{grid-row:1/7}.lesson.expanded .lesson-name{font-size:clamp(22px,2.2vw,38px)}.timetable-footer{color:#8190a6;background:#fbfcfe;justify-content:space-between;gap:20px;padding:10px 14px;font-size:11px;font-weight:650;display:flex}@media (width<=1120px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.additional-filter{grid-column:1/-1}}@media (width<=700px){.timetable-page{padding:12px 8px 24px}.filters{border-radius:15px;grid-template-columns:1fr;gap:18px;margin-bottom:14px;padding:17px}.filter-section,.additional-filter{grid-column:auto;width:100%}.segmented-control{width:100%}.segmented-control button{flex:1}.filter-footer{flex-direction:column;align-items:flex-start;gap:8px}.timetable{border-radius:15px}.timetable-heading{min-height:128px;padding:25px 16px 48px}.timetable-heading h1{font-size:38px}.school,.teacher{text-overflow:ellipsis;white-space:nowrap;max-width:46%;font-size:10px;bottom:15px;overflow:hidden}.school{left:16px}.teacher{right:16px}}
