/* TEACH TV public-only refinement. The private dashboard keeps its existing styles. */
.tv-page{--tv-mint:#bee9dc;--tv-purple:#c4a5eb}
.tv-console{padding:28px;background:#242428;border-radius:36px}
.tv-console-bar{padding:0 2px 6px}.tv-console-bar a{border-color:#756c80;transition:background .16s ease}
.tv-viewing{border-radius:24px;border-color:#817287}
.tv-player{scroll-margin-top:110px}
.tv-welcome{background:#e8e0ef;gap:12px}
.tv-welcome img{width:min(340px,55%);max-height:58%;object-fit:contain}
.tv-welcome p{font-size:clamp(13px,1.4vw,17px)}
.tv-collections{gap:24px;align-items:start}
.tv-zone{border:1px solid #61556b;background:#302b36;border-radius:24px;padding:20px;min-width:0}
.tv-zone-heading{align-items:center;min-height:78px;margin:0 0 18px;gap:12px}
.tv-zone-heading h2{font-size:clamp(19px,1.7vw,24px)}
.tv-zone-heading p{line-height:1.55}
.tv-category-number,.tv-zone:last-child .tv-category-number{width:60px;height:60px;background:#f7f3ec;border:0;border-radius:16px}
.tv-video-grid{max-height:min(62vh,560px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#b4a2c7 #302b36;scrollbar-gutter:stable;align-content:start;align-items:stretch;padding:7px 10px 7px 7px;gap:18px}
.tv-video-grid:focus-visible{outline:3px solid #ffdc55;outline-offset:3px;border-radius:8px}
.tv-video-grid::-webkit-scrollbar{width:7px}.tv-video-grid::-webkit-scrollbar-track{background:#302b36}.tv-video-grid::-webkit-scrollbar-thumb{background:#b4a2c7;border-radius:8px}
.tv-tile{flex-shrink:0;box-shadow:none;transition:border-color .16s ease,background .16s ease}
.tv-tile:hover{transform:none;background:#fffdf8;border-color:#bee9dc}
.tv-tile[aria-pressed=true]{outline-color:#6bd5bc;background:#e0f4ec}
.tv-tile[aria-pressed=true] .tv-tile-action::after{content:' · Selected'}
.tv-tile-image{flex:none}.tv-tile-copy{padding:15px;gap:8px}.tv-tile-copy>strong{font-size:15px;line-height:1.5;word-break:normal;overflow-wrap:anywhere}
.tv-tile-action{display:flex;align-items:center;gap:5px;min-height:26px}
.tv-tile-action::before{content:'';width:24px;height:24px;background:url('/assets/teach-tv/play.webp') center/contain no-repeat;flex:none}
.tv-scroll-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;min-height:46px}
.tv-scroll-hint{font:400 12px/1.5 'DM Sans',sans-serif;color:#ddd0e8;margin:0}
.tv-scroll-buttons{display:flex;gap:8px;flex:none}.tv-scroll-buttons[hidden]{display:none}
.tv-scroll-buttons button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #9e8bb0;background:#f7f3ec;border-radius:14px;cursor:pointer;transition:background .16s ease}
.tv-scroll-buttons button:hover:not(:disabled){background:#efdaec}.tv-scroll-buttons button:disabled{opacity:.4;cursor:default}
.tv-scroll-buttons img{width:28px;height:28px;object-fit:contain}.tv-arrow-up{transform:rotate(180deg)}
.tv-empty{margin:0;min-height:155px;display:flex;align-items:center;border-color:#9986aa}
.tv-console :is(a,button):focus-visible{outline-offset:3px}
@media(max-width:1100px){.tv-zone{padding:16px}.tv-zone-heading{align-items:flex-start}.tv-category-number,.tv-zone:last-child .tv-category-number{width:48px;height:48px}.tv-category-number img{width:46px;height:46px}}
@media(max-width:800px){.tv-collections{grid-template-columns:minmax(0,1fr);gap:22px}.tv-zone-heading{align-items:center;min-height:60px}.tv-video-grid{overscroll-behavior-y:auto;max-height:min(62svh,560px)}.tv-console{padding:18px;border-radius:28px}.tv-player{scroll-margin-top:90px}}
@media(max-width:540px){.tv-console{padding:12px;border-radius:24px}.tv-zone{padding:14px;border-radius:20px}.tv-video-grid{grid-template-columns:minmax(0,1fr);padding:6px 9px 6px 6px;gap:16px}.tv-zone-heading h2{font-size:20px}.tv-zone-heading p{font-size:12px}.tv-screen-icon{width:48px;height:48px;margin-right:8px}.tv-introduction h1{font-size:46px}.tv-tile-copy>strong{font-size:16px}.tv-tile-copy>small{font-size:10px}.tv-welcome{padding:16px;gap:8px}.tv-welcome img{max-height:48%;width:min(230px,65%)}.tv-welcome p{font-size:13px}.tv-scroll-hint{font-size:11px}.tv-poster>.tv-play-label{padding:10px 16px;font-size:14px}.tv-poster>.tv-play-label>img{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.tv-console *{scroll-behavior:auto;transition:none}}

/* A failed external thumbnail never becomes an unexplained blank screen. */
.tv-thumbnail-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:0;background:#e8e0ef;color:#1e1e22;font:500 13px/1.5 'DM Sans',sans-serif;text-align:center;padding:12px}
.tv-thumbnail-fallback>img{display:block;width:56px;height:56px;object-fit:contain}
.tv-poster>.tv-thumbnail-fallback{position:absolute;inset:0;background:#111114;color:#f7f3ec;padding-bottom:100px}
.tv-poster>.tv-thumbnail-fallback>img{width:80px;height:80px}
.tv-poster:has(>.tv-thumbnail-fallback)>.tv-play-label{position:absolute;top:60%}
@media(max-width:540px){.tv-poster>.tv-thumbnail-fallback{gap:5px;padding-bottom:55px}.tv-poster>.tv-thumbnail-fallback>img{width:48px;height:48px}.tv-poster:has(>.tv-thumbnail-fallback)>.tv-play-label{top:auto;bottom:12px}}
