/* Standalone TV wall: literal colors and viewport geometry for older TV browsers. */
html[data-display="tv"],body.tv-mode{background:#0a1322!important;color:#eef5ff!important;height:100%;width:100%;margin:0;overflow:hidden;color-scheme:dark}
body.tv-mode{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-size:1.1vw;line-height:1.15;height:100vh}
body.tv-mode *{box-sizing:border-box}
body.tv-mode h1,body.tv-mode h2,body.tv-mode h3,body.tv-mode h4,body.tv-mode p,body.tv-mode ul{margin:0}
body.tv-mode .school-name{display:block}
body.tv-mode .page-shell{width:100%;height:100%;max-width:none;margin:0;padding:1.5vh 1.5vw;display:flex;flex-direction:column;background:#0a1322;color:#eef5ff}
body.tv-mode .page-header{width:100%;height:8vh;min-height:0;flex:0 0 8vh;display:flex;flex-wrap:nowrap;align-items:center;margin:0 0 1vh;gap:0}
body.tv-mode .brand{width:auto;display:flex;align-items:center;color:#d9e9ff;font-size:1.2vw;line-height:1.2;text-decoration:none;flex-shrink:0}
body.tv-mode .brand-icon{width:6vh;height:6vh;min-width:0;border-radius:1.4vh;display:block;text-align:center;line-height:6vh;font-size:3.5vh;background:#243952;margin-right:.7vw}
body.tv-mode .school-name{font-size:.8vw;color:#a7bdd5;margin-top:.35vh}
body.tv-mode .greeting-wrap{margin-left:auto;text-align:right}
body.tv-mode .greeting{font-size:2.4vw;line-height:1.1;color:#ffe59a;font-weight:800}
body.tv-mode .school-time{display:block;font-size:.8vw;line-height:1.2;color:#a7bdd5;margin-top:.35vh}
body.tv-mode .display-clock{display:block;font-size:2.7vw;line-height:1.1;color:#f2f7ff;font-weight:800;min-width:0;margin-left:2vw;text-align:right}
body.tv-mode #schedule{position:relative;flex:1;min-height:0;width:100%;overflow:hidden}
body.tv-mode .welcome,body.tv-mode .view-switch,body.tv-mode #week-controls,body.tv-mode #review-panel,body.tv-mode #grown-up-content,body.tv-mode .event-filters,body.tv-mode .page-footer{display:none!important}
body.tv-mode .display-toolbar{position:absolute;top:0;right:0;width:auto;height:4vh;display:block;margin:0;z-index:3}
body.tv-mode .display-actions{display:flex;align-items:center;height:100%;gap:0}
body.tv-mode button{min-height:0;height:3.8vh;padding:.5vh .8vw;border:1px solid #425d7c;border-radius:.7vh;color:#e8f3ff;background:#1a3049;font-size:1vw;line-height:1.1;white-space:nowrap}
body.tv-mode button:hover,body.tv-mode button:focus{background:#2a4869;color:#fff4c9}
body.tv-mode .navigation{position:absolute;top:0;left:0;width:70%;height:4vh;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;margin:0}
body.tv-mode .day-controls{display:flex;align-items:center;gap:0}
body.tv-mode .date-label{display:flex;align-items:center;font-size:.9vw;color:#c4d8ed;margin-left:1vw;gap:.6vw}
body.tv-mode input[type=date]{height:3.8vh;min-height:0;min-width:0;width:10vw;border:1px solid #425d7c;border-radius:.7vh;padding:.3vh .4vw;background:#1a3049;color:#e8f3ff;font-size:.95vw}
body.tv-mode #schedule-content{position:absolute;left:0;right:0;top:5vh;bottom:0;min-height:0;overflow:hidden}
body.tv-mode #display-status:not(:empty),body.tv-mode #startup-status:not([hidden]){position:fixed;bottom:0;left:0;width:100%;z-index:20;margin:0;padding:.6vh 1vw;font-size:1vw;line-height:1.1;background:#68482b;color:#fff1c3}
body.tv-mode .tv-wall{height:100%;width:100%;font-family:Arial,Helvetica,sans-serif;color:#eef5ff;line-height:1.15}
body.tv-mode .wall-top{height:51%;width:100%;display:flex;align-items:stretch}
body.tv-mode .wall-meals,body.tv-mode .wall-agenda{height:100%;border:1px solid #344c68;border-radius:1.2vh;background:#142339;padding:1vh 1vw;min-width:0}
body.tv-mode .wall-meals{width:39%;margin-right:1%}
body.tv-mode .wall-agenda{width:60%}
body.tv-mode .wall-meals>h2{font-size:1.55vw;line-height:1.15;color:#ffe59a;margin:0 0 1vh}
body.tv-mode .wall-meal-pair{display:flex;align-items:stretch;height:70%;width:100%}
body.tv-mode .wall-meal{width:49%;height:100%;padding:1vh .8vw;border-radius:1vh;min-width:0}
body.tv-mode .wall-meal.breakfast{background:#193f5b;color:#e1f2ff;margin-right:2%}
body.tv-mode .wall-meal.lunch{background:#17463c;color:#e0ffee}
body.tv-mode .wall-meal>h3{font-size:1.25vw;line-height:1.1;margin:0 0 1vh}
body.tv-mode .wall-meal>ul{font-size:1.6vw;line-height:1.15;font-weight:700;padding-left:1vw;margin:0}
body.tv-mode .wall-meal li+li{margin-top:.6vh}
body.tv-mode .wall-meal-note,body.tv-mode .wall-menu-warning{font-size:.85vw;line-height:1.1;color:#a9c4dd;margin-top:.8vh}
body.tv-mode .wall-menu-warning{color:#ffd7a1}
body.tv-mode .wall-agenda>header{height:12%;display:flex;align-items:flex-start;justify-content:space-between;width:100%;margin-bottom:1%}
body.tv-mode .wall-agenda h2{font-size:1.25vw;line-height:1.1;color:#e8e1ff;margin:0}
body.tv-mode .wall-agenda-controls{display:flex;align-items:center;white-space:nowrap;font-size:.8vw;line-height:1.1;color:#b6cde4}
body.tv-mode .wall-agenda-controls button{font-size:1vw;height:2.8vh;padding:.2vh .5vw;margin-left:.4vw}
body.tv-mode .wall-event-list{height:85%;display:flex;flex-direction:column}
body.tv-mode .wall-event{display:flex;flex:0 0 auto;min-height:0;width:100%;padding:.35vh 0;border-top:1px solid #304a67}
body.tv-mode .wall-when{width:19%;min-width:0;margin:0;padding-right:.6vw;font-size:.95vw;line-height:1.15;color:#b6ddff}
body.tv-mode .wall-when strong{display:block;font-size:.9vw;line-height:1.15;margin-top:.2vh}
body.tv-mode .wall-event-copy{width:81%;min-width:0}
body.tv-mode .wall-event-copy h3{font-size:1.1vw;line-height:1.1;margin:0;color:#eef5ff}
body.tv-mode .wall-event-copy a{color:#eef5ff;text-decoration:none;overflow-wrap:break-word}
body.tv-mode .wall-event-copy a:hover{text-decoration:underline}
body.tv-mode .wall-event-copy a>span{font-size:.75vw;color:#88b7df}
body.tv-mode .wall-location{font-size:.8vw;line-height:1.1;color:#a9c2db;margin:.2vh 0 0}
body.tv-mode .wall-reminder{font-size:.8vw;line-height:1.1;color:#ffe59a;margin:.2vh 0 0}
body.tv-mode .wall-date-warning{font-size:.8vw;line-height:1.1;color:#ffce8a;margin:.2vh 0 0}
body.tv-mode .wall-week{height:39%;margin-top:1vh;width:100%}
body.tv-mode .wall-week>h2{height:3vh;font-size:1.2vw;line-height:1;color:#dcecff;margin:0}
body.tv-mode .wall-week-grid{display:flex;height:calc(100% - 3vh);width:100%;border:1px solid #344c68;border-radius:1vh;background:#142339}
body.tv-mode .wall-week-day{flex:1;width:14.285%;min-width:0;height:100%;padding:.7vh .55vw;border-right:1px solid #344c68;color:#e4efff;overflow-wrap:break-word}
body.tv-mode .wall-week-day:last-child{border-right:0}
body.tv-mode .wall-week-day:first-child{background:#1b2e46;border-radius:1vh 0 0 1vh}
body.tv-mode .wall-week-day>h3{display:flex;justify-content:space-between;font-size:1.2vw;line-height:1.1;color:#ffe59a;margin:0 0 .5vh}
body.tv-mode .wall-week-day>h3>span{font-size:.85vw;line-height:1.1;color:#c2d5e9;align-self:center}
body.tv-mode .wall-mini-breakfast{color:#c9e9ff;margin-top:.6vh}
body.tv-mode .wall-mini-lunch{color:#b9efd7;margin-top:.7vh}
body.tv-mode .wall-week-day h4{font-size:.85vw;line-height:1.1;margin:0 0 .3vh}
body.tv-mode .wall-week-day ul{list-style:none;padding:0;margin:0;font-size:1.05vw;line-height:1.15}
body.tv-mode .wall-week-day li+li{margin-top:.3vh}
body.tv-mode .wall-no-menu{font-size:1.05vw;line-height:1.15;color:#a8bfd7;margin:1vh 0}
body.tv-mode .wall-day-events{margin-top:1vh}
body.tv-mode .wall-day-events>p{font-size:.95vw;line-height:1.1;background:#2c2d49;color:#e6ddff;border-radius:.4vh;padding:.4vh .25vw;margin:0 0 .4vh}
body.tv-mode .wall-day-events>.wall-muted{background:transparent;color:#9db5cd;padding-left:0}
body.tv-mode .wall-muted{color:#a3bad2}
body.tv-mode .wall-status{height:7%;margin-top:1vh;border-top:1px solid #344c68;padding-top:.6vh;display:flex;justify-content:space-between;align-items:flex-start;font-size:.85vw;line-height:1.1;color:#b1c9df}
body.tv-mode .wall-status>p{margin:0}
body.tv-mode .wall-review{width:70%;color:#ffd39a}
body.tv-mode .wall-verified{width:28%;text-align:right;color:#9ebbd6}
body.tv-mode .skip-link{position:fixed;top:-100px;left:1vw}
body.tv-mode .skip-link:focus{top:1vh;background:#1c3551;color:#fff}
