*{box-sizing:border-box}
:root{--bg:#050b13;--panel:#0a1421;--panel2:#0c1828;--line:#334255;--line2:#536174;--text:#f3f6fb;--muted:#a9b4c3;--blue:#3478ed;--blueSoft:rgba(52,120,237,.22);--orange:#f59e0b;--orangeSoft:rgba(245,158,11,.26);--meal:#35573c;--mealBorder:#63866b}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#0b1625 0,#050b13 55%);color:var(--text);font-family:Arial,Helvetica,sans-serif}
body{padding:20px}.timetable{width:min(1500px,100%);margin:0 auto}.page-header{text-align:center;margin:0 0 18px}.page-header h1{margin:0;font-size:clamp(20px,2.2vw,32px);font-weight:800;letter-spacing:.02em}.page-header p{margin:5px 0 0;color:var(--muted);font-size:clamp(11px,1vw,15px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.current-panel{width:min(560px,100%);margin:0 auto 22px;padding:14px 20px 16px;text-align:center;background:linear-gradient(145deg,var(--panel2),#07111d);border:1px solid #3975d0;border-radius:15px;box-shadow:0 12px 30px rgba(0,0,0,.32)}
.week-switch{display:flex;justify-content:center;gap:10px;margin:0 0 6px}
.week-switch button{cursor:pointer;padding:9px 22px;border-radius:10px;border:1px solid #3d4d63;background:#0d1927;color:#a9b4c3;font-size:14px;font-weight:800;letter-spacing:.04em}
.week-switch button.active{background:linear-gradient(145deg,#2f70dc,#245cc0);border-color:#5d95ff;color:#fff;box-shadow:0 4px 12px rgba(47,112,220,.35)}
.week-hint{text-align:center;color:var(--muted);font-size:11px;margin:0 0 16px}
.current-label{color:#6ea4ff;font-size:13px;font-weight:800;letter-spacing:.12em}.current-course-name{margin-top:6px;font-size:clamp(20px,2vw,27px);font-weight:800}.current-until{margin-top:5px;color:#6ea4ff;font-size:16px;font-weight:700}.live-clock{margin-top:7px;font-size:clamp(30px,3.5vw,43px);font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.schedule-wrap{overflow-x:auto;border:1px solid #637083;border-radius:13px;background:#08111c;box-shadow:0 15px 40px rgba(0,0,0,.35)}
.schedule{min-width:1080px;display:grid;grid-template-columns:76px repeat(5,minmax(200px,1fr));grid-template-rows:52px repeat(17,45px);position:relative;isolation:isolate}
.cell{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1927}.corner{background:#08111c}.day-header{z-index:4;display:flex;align-items:center;justify-content:center;background:#0b1623;font-size:16px;font-weight:800;text-transform:lowercase}.day-header.current-day{background:linear-gradient(#2f70dc,#245cc0);color:#fff;box-shadow:inset 0 -3px 0 #72a7ff}
.time-label{z-index:3;display:flex;align-items:center;justify-content:center;background:#07111c;color:#e3e9f1;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;border-right:1px solid var(--line2)}.time-label.has-end-time{flex-direction:column;justify-content:space-between;padding:5px 0}
.time-label .end-time{font-size:11px;font-weight:900;color:#fff}
.grid-slot{background:#0d1927}.grid-slot.current-day{background:rgba(43,91,156,.14)}.grid-slot.current-row{background:rgba(245,158,11,.06)}
.course{z-index:5;position:relative;margin:1px;padding:6px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(145deg,#17283a,#132335);border:1px solid #42536a;border-radius:2px;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.course.current-course{z-index:10;background:linear-gradient(145deg,#9b5e05,#7b4900);border:2px solid var(--orange);box-shadow:0 0 0 2px rgba(245,158,11,.12),0 6px 18px rgba(0,0,0,.35)}
.course.break{background:linear-gradient(145deg,#365c3e,#294a31);border-color:var(--mealBorder)}
.course.break .subject{font-size:15px;letter-spacing:.03em}.meal-icon{margin-top:4px;font-size:24px;line-height:1;filter:grayscale(1) brightness(1.8)}
.course .subject{font-size:13px;line-height:1.12;font-weight:800;text-transform:uppercase}.course .teacher{margin-top:4px;font-size:11px;line-height:1.1}.course .room{margin-top:3px;font-size:10px;line-height:1;font-style:italic;font-weight:700;color:#b9c5d3}.course .group{position:absolute;right:3px;bottom:2px;padding:1px 4px;border:1px solid #647388;border-radius:2px;background:#0b1623;color:#dce4ee;font-size:9px;font-weight:800}
.legend{display:flex;justify-content:flex-start;gap:22px;margin:12px 8px 0;color:#cbd4df;font-size:13px}.legend span{display:flex;align-items:center;gap:7px}.legend-current,.legend-day{width:14px;height:14px;display:inline-block;border:1px solid}.legend-current{background:#8b5506;border-color:var(--orange)}.legend-day{background:#2e68c9;border-color:#5d95ff}.legend-meal{font-style:normal;font-size:17px}
@media(max-width:700px){body{padding:10px}.current-panel{margin-bottom:15px}.legend{font-size:11px;gap:12px}.schedule{min-width:1050px}}

