/* Videos: /videos/ hub cards and watch pages (one video per page) — added 2026-11-03.
   The watch block follows YouTube's watch page: player, title, channel row, description box. */

.watch-wrap{padding-bottom:72px}
.watch{max-width:980px;margin:0 auto}
.watch > header{padding-top:20px}
.watch > header .crumbs{margin-bottom:12px}
.watch-player{margin:0}
.watch-screen{width:100%;min-height:180px}
.watch .watch-title{font-family:var(--sans);font-weight:600;font-size:clamp(1.2rem,2.6vw,1.5rem);line-height:1.45;margin:14px 0 10px;letter-spacing:0}

/* channel row */
.watch-channel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.wc-ch{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.wc-ch img{width:40px;height:40px;border-radius:50%;flex:none;background:var(--card);border:1px solid var(--rule)}
.wc-ch span{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.wc-ch b{font-weight:600;font-size:.98rem}
.wc-ch small{color:var(--ink-3);font-size:.8rem}
.wc-acts{display:flex;gap:8px;flex-wrap:wrap}
.wc-sub,.wc-yt{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;font-size:.88rem;font-weight:600;text-decoration:none}
.wc-sub{background:var(--ink);color:var(--paper)}
.wc-sub:hover{opacity:.88}
.wc-yt{background:var(--paper-2);color:var(--ink);border:1px solid var(--rule)}
.wc-yt:hover{border-color:var(--ink-3)}

/* description box */
.watch-desc{margin:14px 0 0;padding:12px 16px;border-radius:12px;background:var(--paper-2);border:1px solid var(--rule);font-size:.94rem}
.watch-desc p{margin:0 0 6px;color:var(--ink)}
.watch-desc p:last-child{margin:0}
.watch-desc .wd-meta{font-weight:600;font-size:.88rem}
.watch-desc .wd-meta span{color:var(--signal);font-weight:500}

.watch-body{max-width:760px}
.watch .watch-key{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:12px;padding:16px 20px;margin:22px 0}
.watch .watch-key b{display:block;font-family:var(--serif);font-size:1.05rem;margin-bottom:6px}
.watch .watch-key ul,.watch .watch-key ol{margin:0;padding-left:22px}
.watch .next-links{display:grid;gap:10px;margin:16px 0;padding:0;list-style:none}
@media (min-width:700px){.watch .next-links{grid-template-columns:1fr 1fr}}
.watch .next-links a{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--card);text-decoration:none;color:var(--ink)}
.watch .next-links a:hover{border-color:var(--accent)}
.watch .next-links small{font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}

/* hub and "more videos" cards: YouTube's own thumbnail and title, like the channel page */
.vid-grid{display:grid;gap:20px 16px}
@media (min-width:640px){.vid-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1050px){.vid-grid{grid-template-columns:repeat(3,1fr)}}
.vid-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink)}
.vc-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0f151b}
/* hqdefault is 4:3 with letterbox bars; cover in a 16:9 box crops exactly the bars */
.vc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.vid-card:hover .vc-thumb img{transform:scale(1.03)}
.vc-play{position:absolute;left:50%;top:50%;width:62px;height:44px;margin:-22px 0 0 -31px;border-radius:12px;background:rgba(15,15,15,.78);display:grid;place-items:center;transition:background .2s}
.vc-play::after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.vid-card:hover .vc-play{background:#f00}
.vc-body{display:flex;flex-direction:column;gap:3px;padding:0 2px}
.vc-body b{font-weight:600;font-size:1rem;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vc-ch,.vc-meta{color:var(--ink-3);font-size:.84rem}
.vid-hub{padding-bottom:24px}
@media print{.watch-player{display:none}}
