:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; background:#161616; color:#f7f7f7; }
* { box-sizing:border-box; }
body { margin:0; min-width:720px; background:radial-gradient(circle at 78% 9%,#44272d 0,#191919 38%,#101010 100%); min-height:100vh; }
button, input { font:inherit; }
button { color:inherit; cursor:pointer; }
.app-shell { max-width:1600px; margin:auto; min-height:100vh; }
.topbar { height:90px; display:flex; align-items:center; gap:26px; padding:0 56px; background:linear-gradient(#2a2a2a,#171717); border-bottom:1px solid #373737; box-shadow:0 2px 14px #0008; }
.brand { display:flex; gap:10px; align-items:center; border:0; background:transparent; font-size:29px; font-weight:bold; letter-spacing:-1px; }
.play-mark { display:inline-grid; place-items:center; width:46px; height:32px; padding-left:3px; border-radius:7px; color:#fff; background:#d82125; font-size:17px; }
.nav { display:flex; gap:8px; flex:1; }
.nav-item, .search-toggle { border:1px solid transparent; background:transparent; border-radius:4px; color:#cfcfcf; padding:13px 17px; font-size:16px; }
.nav-item:hover, .nav-item:focus, .nav-item.active { color:#fff; background:#3b3b3b; border-color:#585858; outline:none; }
.search-toggle { width:52px; font-size:29px; line-height:20px; }
.search-toggle:hover, .search-toggle:focus { background:#333; outline:2px solid #e52d27; }
main { padding:42px 64px 70px; }
.hero { min-height:210px; display:flex; justify-content:space-between; align-items:center; padding:31px 62px; overflow:hidden; border:1px solid #493036; background:linear-gradient(112deg,#171717,#261b1e 58%,#42181e); box-shadow:inset 0 1px #ffffff0d; }
.eyebrow { margin:0 0 9px; text-transform:uppercase; letter-spacing:2px; color:#bcbcbc; font-size:12px; }
h1 { margin:0; font-size:43px; line-height:1.05; letter-spacing:-1.8px; }
.lead { color:#c6c6c6; margin:15px 0 0; font-size:17px; }
.hero-orb { display:grid; place-items:center; width:165px; height:165px; border-radius:50%; color:#fff; background:radial-gradient(circle at 32% 28%,#ff6b64,#d92228 48%,#8d1116 100%); box-shadow:0 0 0 23px #e62c3324, 0 0 0 46px #e62c3312; font-size:50px; }
.search-panel { margin-top:28px; padding:25px 32px; background:#232323; border:1px solid #454545; }
.search-panel label { display:block; margin-bottom:12px; color:#ddd; font-size:17px; }
.search-row { display:flex; gap:12px; }
.search-row input { flex:1; height:46px; padding:0 15px; border:1px solid #777; color:#111; background:#fafafa; font-size:19px; }
.search-row button { min-width:135px; border:1px solid #9f1619; color:#fff; background:linear-gradient(#e83d40,#bd1519); font-weight:bold; }
.content-section { margin-top:42px; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #4a4a4a; margin-bottom:20px; }
h2 { margin:0 0 11px; font-size:25px; font-weight:normal; }
#status { color:#aaa; font-size:14px; }
.video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:21px; }
.video-card { min-width:0; padding:0; border:0; background:transparent; text-align:left; }
.video-card:hover .thumb-wrap, .video-card:focus .thumb-wrap { outline:4px solid #e73136; outline-offset:3px; }
.video-card:focus { outline:none; }
.thumb-wrap { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#2a2a2a; box-shadow:0 3px 7px #0009; }
.thumb { width:100%; height:100%; object-fit:cover; }
.duration { position:absolute; right:7px; bottom:7px; padding:3px 6px; background:#000c; color:#fff; font-size:13px; }
.video-title { display:block; overflow:hidden; margin-top:11px; color:#f1f1f1; font-size:16px; font-weight:bold; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.video-channel { display:block; overflow:hidden; margin-top:5px; color:#aaa; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
dialog { width:min(91vw,1120px); padding:0; border:3px solid #555; background:#000; box-shadow:0 20px 80px #000; }
dialog::backdrop { background:#000b; }
#player-frame { aspect-ratio:16/9; }
#player-frame iframe { display:block; width:100%; height:100%; border:0; }
.close { position:absolute; top:-3px; right:-54px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #777; border-radius:50%; background:#252525; font-size:30px; }
@media (max-width:1000px) { .topbar { padding:0 25px; gap:12px; } main { padding:28px; } .video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .hero { padding:25px 35px; } }
