@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap');
:root{color-scheme:dark;--bg:#080b12;--panel:rgba(18,23,34,.78);--line:rgba(255,255,255,.09);--text:#f4f6fb;--muted:#949cad;--accent:#8ee3c8;--accent2:#b6a6ff;font-family:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#182338 0,transparent 38%),var(--bg);color:var(--text);overflow-x:hidden}.ambient{position:fixed;width:26rem;height:26rem;border-radius:50%;filter:blur(110px);opacity:.15;pointer-events:none}.ambient-a{background:#4be0b4;top:-12rem;right:-7rem}.ambient-b{background:#705af7;bottom:-15rem;left:-10rem}.shell{width:min(1520px,calc(100% - 48px));margin:auto;padding:58px 0 30px;position:relative}.hero{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--accent);font-size:.72rem;font-weight:700;margin:0 0 13px}.hero h1{font:800 clamp(2.3rem,5vw,4.8rem)/.95 'Manrope',sans-serif;letter-spacing:-.055em;margin:0}.intro{color:var(--muted);font-size:1.06rem;margin:17px 0 0}.live{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:13px 18px;border-radius:16px}.live>span{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.live div{display:flex;flex-direction:column}.live strong{font-size:.85rem}.live small{color:var(--muted);margin-top:2px}.controls{display:flex;gap:18px;align-items:end;background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.25);backdrop-filter:blur(18px);padding:18px;border-radius:22px;margin-bottom:24px}.control-block{display:flex;flex-direction:column;gap:8px}.control-block.grow{flex:1}.control-block label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.segmented{display:flex;background:#0c1018;padding:4px;border-radius:13px}.segmented button{border:0;color:var(--muted);background:transparent;font:600 .9rem inherit;padding:11px 17px;border-radius:10px;cursor:pointer}.segmented button.active{color:#07110e;background:var(--accent)}.segmented button:disabled{opacity:.3;cursor:not-allowed}select{appearance:none;min-width:155px;color:var(--text);border:1px solid var(--line);background:#0c1018 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23949cad' stroke-width='2'%3E%3Cpath d='m3 5 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center;padding:12px 42px 12px 14px;border-radius:12px;font:600 .9rem inherit;height:44px}.schedule{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;transition:opacity .2s}.schedule.loading{opacity:.45}.day{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.18);animation:rise .45s both;animation-delay:var(--delay)}.day>header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}.day>header div{display:flex;align-items:center;gap:11px}.day>header span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(142,227,200,.12);color:var(--accent);font-size:.68rem;font-weight:800}.day h2{font:700 1.05rem 'Manrope';margin:0}.day>header small{color:var(--muted);font-size:.73rem}.lessons{padding:9px}.lesson{min-height:70px;border-radius:13px;margin-bottom:7px;padding:11px 9px;display:flex;gap:9px;align-items:flex-start;border:1px solid transparent;position:relative}.lesson:last-child{margin-bottom:0}.lesson .number{flex:0 0 23px;height:23px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.1);font-size:.67rem;font-weight:700}.lesson div{min-width:0}.lesson strong{display:block;font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}.lesson small{display:block;color:rgba(255,255,255,.64);font-size:.72rem;margin-top:5px}.lesson em{position:absolute;right:8px;top:8px;font:700 .58rem inherit;text-transform:uppercase;padding:4px 6px;border-radius:5px}.lesson.empty{min-height:43px;align-items:center;color:#505767;background:rgba(255,255,255,.018)}.tone-0{background:#172d2a;border-color:#22443e}.tone-1{background:#23233c;border-color:#34345a}.tone-2{background:#33251f;border-color:#50382c}.tone-3{background:#17283a;border-color:#203e59}.tone-4{background:#2d2033;border-color:#472c50}.tone-5{background:#29301c;border-color:#3f4b29}.lesson.cancelled{border-color:#ff6b74;background:#3a1d23;opacity:.82;text-decoration:line-through}.lesson.cancelled em{background:#ff6b74;color:#27070a}.lesson.changed{border-color:#ffc66d}.lesson.changed em{background:#ffc66d;color:#2a1a00}.status{display:none;padding:18px;text-align:center;color:var(--muted)}.status.visible{display:block}.status.error{color:#ff8d94;background:rgba(255,80,90,.08);border:1px solid rgba(255,80,90,.2);border-radius:14px;margin-bottom:18px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;padding:25px 5px}footer a{color:var(--accent);text-decoration:none}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.day-nav{display:none}@media(max-width:1200px){.schedule{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.shell{width:min(100% - 24px,680px);padding-top:30px}.hero{align-items:start;flex-direction:column}.controls{align-items:stretch;flex-direction:column}.segmented button{flex:1}.day-nav{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.day-nav button{width:44px;height:40px;border:0;border-radius:11px;background:rgba(255,255,255,.07);color:var(--text);font-size:1.25rem}.day-nav>div{text-align:center;display:flex;flex-direction:column;gap:7px}.day-nav strong{font:700 .93rem 'Manrope',sans-serif}.day-nav span{display:flex;gap:5px;justify-content:center}.day-nav i{width:5px;height:5px;border-radius:5px;background:#4b5260;transition:width .2s ease,background-color .2s ease}.day-nav i.active{width:18px;background:var(--accent)}.schedule{display:block;touch-action:pan-y;contain:layout paint}.day{display:none;will-change:transform,opacity}.day.active{display:block;animation:dayFade .22s ease-out both}.schedule.moving-next .day.active{animation-name:dayFromRight}.schedule.moving-prev .day.active{animation-name:dayFromLeft}.day>header{height:64px}.lesson{min-height:62px}footer{gap:12px;flex-direction:column}.live{width:100%}}@keyframes dayFade{from{opacity:.35}to{opacity:1}}@keyframes dayFromRight{from{opacity:.25;transform:translate3d(22px,0,0)}to{opacity:1;transform:none}}@keyframes dayFromLeft{from{opacity:.25;transform:translate3d(-22px,0,0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
