@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-display:swap}:root{color:#f4efe5;background:#061727;font-family:Geist,Inter,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#061727}button{font:inherit}.app-shell{width:min(100%,880px);min-height:100vh;margin:0 auto;padding:22px clamp(16px,4vw,40px) 28px}.header,.agenda__heading,.lesson{display:flex;align-items:center}.header{justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.04em}.today-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;color:#f4efe5;background:transparent;border:1px solid #26445d;border-radius:12px;cursor:pointer}.today-button svg,.lesson__room svg,.lesson__next svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero{padding:clamp(38px,8vw,64px) 0 30px}.eyebrow,.week-label{margin:0;color:#9aacc0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h1{margin:10px 0 28px;font-size:clamp(42px,10vw,64px);letter-spacing:-.065em;line-height:.95}.week-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:6px;background:#0a2136;border:1px solid #1d3b54;border-radius:15px}.week-control p{flex:1;margin:0;color:#c7d2dc;font-size:13px;font-weight:650;text-align:center;text-transform:capitalize}.icon-button{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;color:#f4efe5;background:#102f47;border:1px solid #26445d;border-radius:10px;cursor:pointer}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.week-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:14px}.week-tabs button{min-height:38px;color:#91a6ba;background:transparent;border:1px solid #26445d;border-radius:11px;cursor:pointer;font-size:13px;font-weight:700}.week-tabs .week-tab--selected{color:#061727;background:#c8ff3d;border-color:#c8ff3d}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day{display:grid;gap:5px;min-height:76px;padding:9px 3px;color:#8194aa;background:transparent;border:1px solid transparent;border-radius:16px;cursor:pointer}.day span{font-size:11px;font-weight:700;letter-spacing:.07em}.day strong{font-size:24px;font-weight:520;letter-spacing:-.05em}.day--selected{color:#c8ff3d;border-color:#c8ff3d;background:#0b2639}.tomorrow-digest{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 28px;padding:16px;background:linear-gradient(110deg,#123753,#0d293f);border:1px solid #31526d;border-radius:18px}.tomorrow-digest p{margin:0 0 5px;color:#b1c0ce;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tomorrow-digest h2{margin:0;color:#c8ff3d;font-size:clamp(16px,4.1vw,21px);letter-spacing:-.055em}.tomorrow-digest span{display:block;margin-top:6px;color:#c2d0db;font-size:13px;line-height:1.35}.tomorrow-digest button{flex:0 0 auto;min-height:38px;padding:0 12px;color:#061727;background:#c8ff3d;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:750}.tomorrow-digest--empty h2{color:#f4efe5}.agenda{padding-top:16px}.agenda__heading{justify-content:space-between;gap:16px;margin-bottom:20px}.agenda h2{margin:7px 0 0;font-size:clamp(24px,6vw,34px);line-height:1.05;letter-spacing:-.05em}.live-dot{padding:6px 9px;color:#c8ff3d;border:1px solid #426135;border-radius:99px;font-size:12px;font-weight:650}.lessons{display:grid;gap:10px}.lesson{position:relative;gap:12px;min-height:98px;padding:17px 16px;overflow:hidden;background:#0a2136;border:1px solid #1d3b54;border-radius:18px}.lesson--next{min-height:148px;align-items:flex-start;flex-wrap:wrap;border-color:#c8ff3d;background:#0a2437}.lesson--finished{opacity:.45}.lesson__number{flex:0 0 21px;color:#8397aa;font-size:12px;font-weight:700}.lesson__time{flex:0 0 96px;color:#f4efe5;font-variant-numeric:tabular-nums;font-size:15px;font-weight:650;line-height:1.35}.lesson__info{flex:1 1 150px;min-width:0}.lesson__info h2{margin:0;color:#f4efe5;font-size:15px;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}.lesson__info p{margin:6px 0 0;color:#9aacc0;font-size:13px;line-height:1.25}.lesson__room{display:inline-flex;align-items:center;gap:5px;align-self:center;color:#a8b8c8;font-size:13px;white-space:nowrap}.lesson__room svg{width:15px;height:15px}.lesson__next{display:flex;width:100%;align-items:center;gap:5px;color:#c8ff3d;font-size:13px;font-weight:650}.lesson__next svg{width:15px;height:15px}.empty{padding:45px 20px;text-align:center;border-top:1px solid #26445d;border-bottom:1px solid #26445d}.empty span{color:#c8ff3d;font-size:35px}.empty h2{margin:5px 0 7px;font-size:20px}.empty p{max-width:290px;margin:auto;color:#9aacc0;font-size:14px;line-height:1.45}footer{padding-top:42px;color:#607a91;font-size:12px;text-align:center}.api-status{display:inline-flex;align-items:center;gap:4px;color:#8ba1b5}.api-status svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button:focus-visible{outline:2px solid #f4efe5;outline-offset:3px}@media(hover:hover){.day:hover,.icon-button:hover,.today-button:hover,.week-tabs button:not(.week-tab--selected):hover{border-color:#c8ff3d;color:#c8ff3d}}@media(max-width:480px){.lesson{display:grid;grid-template-columns:20px 1fr auto;align-items:start;gap:8px;min-height:0}.lesson--next{display:grid;min-height:0}.lesson__number{grid-column:1;grid-row:1 / span 2;align-self:center}.lesson__time{grid-column:2;grid-row:1}.lesson__room{grid-column:3;grid-row:1}.lesson__info{grid-column:2 / 4;grid-row:2}.lesson__next{grid-column:2 / 4;grid-row:3}}@media(max-width:359px){.app-shell{padding-inline:12px}.today-button{padding:0 9px}.today-button span{display:none}.days{gap:2px}.day strong{font-size:20px}.day span{font-size:10px}.lesson{padding:14px 12px}}@media(min-width:600px){.app-shell{padding-top:30px;padding-bottom:40px}.lesson{padding:20px}.lesson__time{flex-basis:115px;font-size:16px}.lesson__info h2{font-size:17px}}
