html{scroll-behavior:smooth}
.today-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:25px;margin:30px 0 22px;padding:32px 36px;border-radius:22px;background:linear-gradient(120deg,#172c4a 0%,#244977 70%,#2d639a 100%);color:white;box-shadow:0 18px 36px #172c4a22}
.today-hero:after{content:"";position:absolute;width:260px;height:260px;right:110px;top:-130px;border:1px solid #ffffff25;border-radius:50%;pointer-events:none}
.today-hero-copy{position:relative;z-index:1}.today-kicker,.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em}.today-kicker{color:#9cd7ff}.today-hero h1{font-size:clamp(31px,5vw,50px);letter-spacing:-1.6px;margin:12px 0 8px}.today-hero p{font-size:16px;color:#d4e3f4;line-height:1.5;margin:0 0 20px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px}.hero-pills span{font-size:12px;font-weight:700;background:#ffffff1b;border:1px solid #ffffff27;border-radius:99px;padding:7px 10px}.hero-date{align-self:center;position:relative;z-index:1;min-width:124px;height:124px;border:1px solid #ffffff50;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff15;backdrop-filter:blur(4px)}.hero-date strong{font-size:55px;line-height:1}.hero-date span{text-transform:uppercase;letter-spacing:.1em;font-size:12px;margin-top:4px}
.live-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:13px;background:#fff3e5;border:1px solid #ffd4a4;color:#794013;padding:13px 16px;margin:0 0 22px;font-size:14px}.live-strip strong{color:#513016}.live-strip span:last-child{margin-left:auto}.live-dot{width:9px;height:9px;border-radius:50%;background:#ed8734;box-shadow:0 0 0 4px #ed873433}
.today-section{margin-top:12px}.today-section .section-head{margin:0 0 13px}.today-section .section-head h2{margin:4px 0 0}.eyebrow{color:#1b6bd0}.scroll-hint{color:#64748b;font-size:13px;font-weight:600}.timeline{display:flex;align-items:stretch;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 3px 20px;margin:0 -3px;scrollbar-color:#1b6bd0 #e4ebf5;scrollbar-width:thin}.timeline-card{display:flex;flex-direction:column;flex:0 0 min(325px,86vw);min-height:355px;background:#fff;border:1px solid #dce5f0;border-top:5px solid #80a5d4;border-radius:16px;padding:21px;scroll-snap-align:start;box-shadow:0 5px 20px #172c4a0c}.timeline-card.is-live{border-top-color:#f0933e;background:#fffdf9;box-shadow:0 11px 29px #e8851f22}.timeline-card.is-past{border-top-color:#b9c5d3;background:#fafbfd}.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-time{font-size:17px;font-weight:800;color:#193c65;font-variant-numeric:tabular-nums;white-space:nowrap}.course-time span{color:#a1b0c1;font-weight:400;margin:0 2px}.timeline-card h3{font-size:21px;letter-spacing:-.3px;line-height:1.25;margin:22px 0 7px}.room{font-size:14px;color:#71829a;margin:0}.badge.past{background:#edf0f4;color:#6c7787}.course-footer{margin-top:auto;padding-top:19px;display:flex;flex-direction:column;gap:10px}.counter{font-size:13px;color:#677c95}.hint{font-size:13px;color:#8997a9}.arrival-result{margin-top:20px;border-radius:12px;background:#eaf3ff;padding:12px 14px;color:#274b77}.arrival-result>span{display:block;font-size:12px;font-weight:700}.arrival-result strong{font-size:23px;display:block;margin:2px 0}.arrival-result small{font-size:12px;color:#526d8d}.arrival-result.ontime{background:#e8f6f0;color:#196e53}.arrival-result.ontime strong{font-size:16px}.arrival-result.ontime small{display:block;color:#4f816d}.arrival-form{padding:13px;background:#f0f5fb;border:1px solid #dfe8f3;border-radius:12px}.is-live .arrival-form{background:#fff3e6;border-color:#f8debf}.arrival-label{font-size:12px;font-weight:800;color:#425b79;margin-bottom:8px}.clock-row{display:flex;align-items:center;gap:6px}.clock-row input{width:48px;height:40px;padding:5px;border:1px solid #bacbe0;border-radius:8px;background:white;color:#172c4a;text-align:center;font:700 17px/1 system-ui;font-variant-numeric:tabular-nums}.clock-row input:focus{outline:2px solid #1b6bd0;outline-offset:1px}.clock-colon{font-size:19px;font-weight:800;color:#68809e}.clock-row button{height:40px;padding:8px 11px;margin-left:auto;font-size:13px}.today-disclaimer{font-size:13px;color:#71829a;margin:4px 0 0;line-height:1.5}.today-section+.section{margin-top:50px}
@media(max-width:650px){.today-hero{padding:24px;margin:18px 0}.hero-date{display:none}.today-hero p{font-size:14px}.timeline-card{min-height:330px}.scroll-hint{font-size:12px}.live-strip span:last-child{margin-left:19px}.course-time{font-size:16px}}
