:root{--page-bg:#0f1724;--card-bg:#1e293b;--card-text:#f8fafc;--card-border:rgba(255,255,255,0.06);--card-shadow:0 4px 18px rgba(0,0,0,0.3);--default-bg:rgba(255,255,255,0.04);--default-border:rgba(255,255,255,0.06);--default-text:#f8fafc;--active-bg:rgba(0,51,102,0.3);--active-border:#3399ff;--active-text:#3399ff;--upcoming-bg:rgba(255,255,255,0.04);--upcoming-border:#facc15;--upcoming-text:#facc15;--alert-bg:rgba(255,255,255,0.04);--alert-border:#f97373;--alert-text:#f97373}body{margin:0;background:var(--page-bg);color:var(--card-text);font-family:Inter,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:2px solid rgba(255,255,255,.08)}header h1{margin:0;font-size:2rem;font-weight:700}.clock{text-align:right}.clock .time{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.clock .date{font-size:1rem;color:rgba(255,255,255,.7)}main{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:16px;gap:16px;padding:16px;align-items:stretch;grid-auto-rows:auto}.class-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:8px;display:flex;flex-direction:column;justify-content:flex-start;box-shadow:var(--card-shadow);transition:transform .3s ease}.class-card.focus{transform:scale(1.02)}.class-name{text-align:center;font-size:1.6rem;font-weight:700;margin-bottom:12px}.lesson-list{display:flex;flex-direction:column;gap:10px;flex-grow:1}.lesson{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:14px;background:var(--default-bg);border:2px solid var(--default-border);color:var(--default-text);min-height:54px;box-sizing:border-box;font-size:1.05rem;transition:background .3s ease,border-color .3s ease}.lesson .subject{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson .time{width:70px;text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson .status{width:120px;text-align:right;font-size:.9rem;font-weight:700;white-space:nowrap}.lesson.active{background:var(--active-bg);border-color:var(--active-border)}.lesson.upcoming{background:var(--upcoming-bg);border-color:var(--upcoming-border)}.lesson.alert{background:var(--alert-bg);border-color:var(--alert-border)}.lesson.active .status{color:var(--active-text)}.lesson.upcoming .status{color:var(--upcoming-text)}.lesson.alert .status{color:var(--alert-text);animation:subtlePulse 1.2s infinite}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.7}}