:root{font-family:Arial,Helvetica,sans-serif;color:#f8fcff;background:#051d48;font-synthesis:none;font-smooth:always;--sky:#0b9fee;--edge:rgba(153,214,255,.5);--white:#eff9ff;--muted:#d0e6fa}
*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}#tv-app{height:100vh;height:100dvh;width:100%;overflow:hidden;display:grid;grid-template-rows:clamp(74px,11vh,102px) clamp(41px,6vh,55px) minmax(0,1fr) clamp(29px,4vh,39px);background:radial-gradient(circle at 5% 30%,#0b54a8 0,#092f6d 45%,#061b45 100%)}
.header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px clamp(15px,2vw,28px);border-bottom:1px solid #63b9f28a;background:linear-gradient(115deg,#062b69 0%,#0d4e9e 100%);min-width:0;overflow:hidden}
.identity{display:flex;align-items:center;min-width:0;gap:clamp(8px,1.1vw,18px)}.logo{width:clamp(42px,5.3vw,76px);height:clamp(42px,5.3vw,76px);object-fit:contain;flex-shrink:0}.school-name{min-width:0}.foundation{font-size:clamp(11px,1.18vw,18px);line-height:1.2;font-weight:700;color:#e1f4ff}.school-name h1{font-size:clamp(18px,2.05vw,32px);line-height:1.08;letter-spacing:-.025em;margin:3px 0 0;font-weight:900;white-space:nowrap}.descriptor{font-size:clamp(9px,.84vw,13px);font-weight:700;color:#aeddfa;letter-spacing:.12em;margin-top:4px}.right-head{display:flex;gap:clamp(15px,2.4vw,38px);align-items:center;justify-content:end;min-width:250px}.demo-label{border-radius:12px;background:#756a2b;color:#fff3c2;border:1px solid #e0c86e;padding:9px 12px;font-size:clamp(10px,1vw,14px);font-weight:900;white-space:nowrap}.clock-wrap{text-align:right;flex-shrink:0}.clock{font-size:clamp(27px,3.1vw,47px);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.today{font-size:clamp(10px,1vw,15px);color:#dbedfd;margin-top:5px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px clamp(15px,2vw,28px);border-bottom:1px solid #4d91cb;background:#0b3673;min-width:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:9px;min-width:0}.toolbar-caption,.format-badge,.rotation{font-size:clamp(10px,.95vw,14px);font-weight:800;white-space:nowrap;color:#dff4ff}.format-badge{color:#f9e3ac;letter-spacing:.07em}.toolbar select,.toolbar button{height:clamp(30px,4.2vh,43px);border-radius:9px;border:1px solid #67ceff;box-shadow:inset 0 0 0 1px #77c9fb3a;background:#0962ad;color:#fff;font-size:clamp(12px,1.08vw,17px);font-weight:800;padding:0 12px;cursor:pointer}.toolbar select{max-width:180px}.toolbar button{min-width:43px}.toolbar button:focus-visible,.toolbar select:focus-visible{outline:3px solid #ffc85e;outline-offset:1px}.toolbar button:hover{background:#1586d4}.toolbar button.pause-btn{min-width:88px}.slide-position{font-size:clamp(10px,.9vw,13px);color:#cfeafe;font-weight:bold;white-space:nowrap}
.viewport{min-height:0;min-width:0;padding:clamp(8px,1.3vh,13px) clamp(12px,1.6vw,23px);overflow:hidden}.slide{width:100%;height:100%;min-height:0;min-width:0;display:grid;gap:clamp(8px,1vw,14px)}.schedule-slide{grid-template-columns:minmax(0,1.66fr) minmax(0,1fr)}.schedule-left{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(120px,.67fr) minmax(145px,.8fr) minmax(200px,2.1fr);gap:clamp(8px,1vw,12px)}.schedule-right{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(185px,1.25fr) minmax(125px,.95fr) minmax(100px,.67fr);gap:clamp(8px,1vw,12px)}
.card{background:linear-gradient(125deg,#087ac6 0%,#065cb3 53%,#064691 100%);border:1px solid var(--edge);border-radius:clamp(11px,1.1vw,17px);box-shadow:inset 0 1px 0 #c3eeff1c;min-height:0;min-width:0;overflow:hidden;padding:clamp(11px,1.45vw,21px)}.card.dark{background:linear-gradient(125deg,#0653a9,#093a84)}.card.pale{background:linear-gradient(125deg,#088cd4,#0870c9)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:clamp(7px,1vh,14px)}.card h2,.card h3,.card h4,.card p{margin:0}.kicker{font-size:clamp(11px,1.05vw,15px);font-weight:900;color:#d8f4ff;letter-spacing:.095em}.small-head{font-size:clamp(15px,1.35vw,21px);font-weight:900;line-height:1.12}.pill{font-size:clamp(10px,.95vw,14px);border-radius:9px;padding:5px 9px;display:inline-block;background:#d6af62;color:#173057;font-weight:900;white-space:nowrap}.pill.good{background:#12c9a7;color:#073e4a}.pill.info{background:#3caeea;color:#052749}.rombel-line{display:flex;align-items:end;justify-content:space-between;gap:12px}.rombel-title{font-size:clamp(33px,3.2vw,52px);line-height:1;font-weight:900;letter-spacing:-.03em;white-space:nowrap}.room-line{text-align:right;font-size:clamp(12px,1.12vw,18px);font-weight:700;max-width:46%}.room-line strong{display:block;color:#fff;line-height:1.1;margin-top:5px;font-size:clamp(14px,1.45vw,23px)}
.now-next{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1vw,12px);min-width:0;min-height:0}.now-next .card{display:flex;flex-direction:column;justify-content:flex-start}.now-next h2{font-size:clamp(20px,1.96vw,32px);line-height:1.12;letter-spacing:-.02em;margin:clamp(7px,1.1vh,14px) 0}.now-next p{font-size:clamp(12px,1.13vw,17px);line-height:1.27;color:#e4f2fc;font-weight:700}.meta-bottom{margin-top:auto!important;display:flex;gap:9px;flex-wrap:wrap;font-size:clamp(11px,1vw,16px)!important}.big-watermark{position:absolute;font-size:90px;font-weight:900;opacity:.11;bottom:-13px;right:15px}.relative{position:relative}
.table-card{display:flex;flex-direction:column}.table-legend{font-size:clamp(10px,.9vw,13px);color:#deedff;white-space:nowrap}.schedule-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(11px,1.02vw,16px);line-height:1.16}.schedule-table th{font-size:clamp(10px,.89vw,13px);color:#bce9ff;text-align:left;padding:clamp(3px,.4vh,7px) clamp(4px,.5vw,8px);border-bottom:1px solid #88c4ed}.schedule-table td{padding:clamp(4px,.57vh,8px) clamp(4px,.5vw,8px);border-bottom:1px solid #78b8ec65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-table tr.active{background:#12b1e4;color:#fff;font-weight:900}.schedule-table tr.break-row{color:#ffe2a1;font-weight:bold}.schedule-table th:nth-child(1){width:9%}.schedule-table th:nth-child(2){width:22%}.schedule-table th:nth-child(3){width:32%}.schedule-table th:nth-child(4){width:23%}.schedule-table th:nth-child(5){width:14%}.table-note{margin-top:auto;padding-top:7px;font-size:clamp(10px,.88vw,13px);color:#d7eeff}
.important-head{font-size:clamp(16px,1.54vw,24px);font-weight:900;margin-bottom:10px!important}.announce-title{font-size:clamp(20px,1.85vw,29px);font-weight:900;line-height:1.12;margin:7px 0 11px!important}.announce-body{font-size:clamp(14px,1.23vw,19px);line-height:1.34;font-weight:700;color:#e5f6ff}.announcer{font-size:clamp(11px,.98vw,15px);margin-top:12px;color:#cce9ff}.two-col-mini{display:grid;grid-template-columns:1fr 1fr;gap:7px;height:100%}.tiny-caption{font-size:clamp(11px,1.03vw,16px);color:#d0efff;font-weight:800}.emphasis{font-size:clamp(23px,2.3vw,36px);font-weight:900;line-height:1.1;margin:6px 0 3px}.info-line{font-size:clamp(12px,1.14vw,18px);line-height:1.3;font-weight:750;margin-top:8px}.muted{color:#cce6fb}.big-label{font-size:clamp(17px,1.8vw,29px);font-weight:900;line-height:1.17}.hrline{height:1px;background:#83d5fd;opacity:.5;margin:10px 0}
.info-slide{grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1vw,12px)}.info-titlebar{padding:clamp(10px,1vw,16px) clamp(18px,2vw,28px);display:flex;align-items:center;justify-content:space-between;gap:12px}.info-titlebar h2{font-size:clamp(24px,2.5vw,38px);margin:0;font-weight:900;line-height:1}.info-titlebar small{font-size:clamp(11px,1.1vw,16px);font-weight:bold;color:#d6edff}.info-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,1vw,13px)}.info-grid .card{padding:clamp(13px,1.5vw,23px)}.info-grid .card h3{font-size:clamp(19px,2vw,31px);font-weight:900;line-height:1.14;margin:8px 0 13px}.info-grid .card p{font-size:clamp(15px,1.49vw,23px);font-weight:700;line-height:1.36}.info-grid .card .info-line{font-size:clamp(15px,1.5vw,23px)}.strong-note{font-size:clamp(12px,1.1vw,16px);font-weight:750;margin-top:14px;opacity:.9}.info-grid .item-heading{font-size:clamp(13px,1.15vw,18px);color:#d9f2ff;font-weight:900;margin-bottom:9px}
.footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #548abb;background:#05265b;padding:0 clamp(14px,1.8vw,24px);font-size:clamp(10px,.91vw,14px);font-weight:700;color:#c6e7fb;min-width:0}.footer span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:1260px){.descriptor{display:none}.demo-label{font-size:9px;padding:7px}.right-head{gap:9px}.rotation{display:none}.slide-position{font-size:10px}.card{padding:11px}.toolbar-left,.toolbar-right{gap:5px}.toolbar select{max-width:145px}.school-name h1{font-size:19px}.info-grid .card p{font-size:15px}}
@media(max-height:760px){#tv-app{grid-template-rows:68px 42px minmax(0,1fr) 29px}.header{padding-top:3px;padding-bottom:3px}.header .logo{height:48px;width:48px}.school-name h1{font-size:clamp(17px,1.9vw,27px)}.foundation{font-size:11px}.descriptor{display:none}.right-head .clock{font-size:28px}.clock-wrap .today{font-size:11px}.toolbar select,.toolbar button{height:31px}.schedule-left{grid-template-rows:minmax(110px,.85fr) minmax(106px,1fr) minmax(160px,1.8fr)}.schedule-right{grid-template-rows:minmax(145px,1.4fr) minmax(90px,.85fr) minmax(82px,.75fr)}.kicker{font-size:10px}.rombel-title{font-size:32px}.room-line strong{font-size:15px}.now-next h2{font-size:18px;margin:6px 0}.now-next p{font-size:11px}.meta-bottom{font-size:11px!important}.schedule-table{font-size:11px}.schedule-table td{padding:4px}.schedule-table th{padding:4px}.important-head{font-size:15px}.announce-title{font-size:18px;margin:4px 0 7px!important}.announce-body{font-size:12px}.announcer{font-size:10px}.emphasis{font-size:21px}.info-line{font-size:11px}.big-label{font-size:15px}.tiny-caption{font-size:11px}.info-titlebar{padding:7px 16px}.info-grid .card h3{font-size:20px;margin:6px 0 9px}.info-grid .card p{font-size:15px}.info-grid .card .info-line{font-size:15px}}
@media(max-width:900px){.demo-label{display:none}.toolbar-caption,.format-badge{display:none}.school-name h1{white-space:normal}.today{display:none}.toolbar select{max-width:125px}.schedule-slide{grid-template-columns:minmax(0,1.52fr) minmax(0,1fr)}.slide-position{display:none}}
/* Compact the *inside* of schedule panels before clipping; preserves full table text. */
.schedule-slide .card{padding:clamp(10px,1vw,16px)}
.schedule-slide .card-head{margin-bottom:6px}
.schedule-slide .now-next h2{margin:6px 0;font-size:clamp(19px,1.8vw,28px)}
.schedule-slide .now-next p{font-size:clamp(12px,1vw,16px);line-height:1.22}
.schedule-slide .schedule-table td{padding:clamp(3px,.43vh,6px) clamp(4px,.5vw,8px)}
.schedule-slide .schedule-table th{padding:3px clamp(4px,.5vw,8px)}
.schedule-slide .table-note{padding-top:4px}
@media(max-height:760px){.schedule-slide .card{padding:10px}.schedule-slide .now-next h2{font-size:18px;margin:5px 0}.schedule-slide .now-next p{font-size:11px}}
