:root{
  --bg:#070b13;--bg-soft:#0c1320;--panel:rgba(10,16,28,.82);--panel-2:rgba(16,24,40,.92);
  --line:rgba(255,255,255,.08);--text:#eef2ff;--muted:#a7b0c3;--accent:#f59e0b;--accent-2:#fb7185;
  --accent-3:#38bdf8;--ok:#22c55e;--shadow:0 18px 60px rgba(0,0,0,.35);--radius:22px;--radius-sm:16px;--max:1280px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at top left, rgba(245,158,11,.15), transparent 32%),radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),linear-gradient(180deg, #060913 0%, #090f1a 34%, #05070d 100%);color:var(--text);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
::selection{background:rgba(245,158,11,.35)}
.container{width:min(var(--max),calc(100vw - 32px));margin:0 auto}
.shell{padding:20px 0 64px}
.hidden{display:none !important}
.topbar{position:sticky;top:0;z-index:100;backdrop-filter:blur(18px);background:linear-gradient(180deg, rgba(7,11,19,.92), rgba(7,11,19,.68));border-bottom:1px solid rgba(255,255,255,.05)}
.topbar-inner{display:flex;align-items:center;gap:18px;min-height:74px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;font-weight:900;letter-spacing:.04em}
.brand-mark{width:42px;height:42px;border-radius:14px;background:conic-gradient(from 180deg, var(--accent), var(--accent-2), var(--accent-3), var(--accent));box-shadow:0 10px 30px rgba(245,158,11,.28);position:relative;overflow:hidden}
.brand-mark::after{content:"";position:absolute;inset:8px;border-radius:10px;background:linear-gradient(145deg, rgba(255,255,255,.32), rgba(255,255,255,0))}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:18px}.brand-text span{color:var(--muted);font-size:12px}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}
.nav a{padding:10px 14px;border-radius:999px;color:#d8deec;border:1px solid transparent;transition:.24s ease}
.nav a:hover,.nav a.active{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.08);color:#fff;transform:translateY(-1px)}
.searchbar{display:flex;align-items:center;gap:10px;flex:0 0 min(360px,100%);padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.searchbar input{flex:1;background:transparent;border:0;outline:none;color:#fff}.searchbar input::placeholder{color:#8992a8}.searchbar .kbd{font-size:12px;color:#aab3c4;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);padding:4px 8px;border-radius:999px}
.hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:30px;margin-top:18px;box-shadow:var(--shadow);background:radial-gradient(circle at top right, rgba(251,113,133,.18), transparent 28%),radial-gradient(circle at 25% 20%, rgba(245,158,11,.18), transparent 25%),linear-gradient(145deg, rgba(14,20,34,.94), rgba(7,11,19,.96))}
.hero::before,.hero::after{content:"";position:absolute;inset:auto;border-radius:999px;filter:blur(30px);opacity:.9;pointer-events:none}.hero::before{width:280px;height:280px;left:-90px;top:-80px;background:rgba(245,158,11,.16)}.hero::after{width:220px;height:220px;right:50px;bottom:-90px;background:rgba(56,189,248,.14)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr .95fr;gap:22px;padding:32px}
.hero-copy h1{margin:0 0 14px;font-size:clamp(34px, 4.4vw, 66px);line-height:1.02;letter-spacing:-.03em}
.hero-copy p{margin:0;color:#d8deec;font-size:16px;max-width:60ch}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 24px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#e7ecf7;font-size:13px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid transparent;transition:.24s ease;font-weight:700;cursor:pointer}
.btn-primary{background:linear-gradient(135deg, var(--accent), #fb923c);color:#1a1203;box-shadow:0 14px 30px rgba(245,158,11,.23)}
.btn-secondary{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);color:#fff}
.btn:hover{transform:translateY(-2px)}
.hero-spotlight{display:grid;grid-template-rows:auto 1fr;gap:14px;align-content:start}
.spotlight{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(160deg, rgba(245,158,11,.18), rgba(17,24,39,.92) 65%);border:1px solid rgba(255,255,255,.08);min-height:260px;padding:18px}
.spotlight::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.15), transparent 20%),radial-gradient(circle at 80% 0%, rgba(251,113,133,.16), transparent 18%),linear-gradient(135deg, rgba(255,255,255,.04), transparent 45%);pointer-events:none}
.spotlight-main{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.spotlight-main .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;border:1px solid rgba(255,255,255,.08)}
.spotlight h2{margin:0 0 8px;font-size:24px;line-height:1.1}.spotlight p{margin:0;color:#d7deee}.spotlight .btn{margin-top:16px;width:fit-content}
.slider-dots{display:flex;gap:8px;margin-top:10px}.dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.18);transition:.24s}.dot.active{background:var(--accent);transform:scale(1.2)}
.section{margin-top:26px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-head h2,.section-head h3{margin:0;line-height:1.15}.section-head h2{font-size:26px}.section-head p{margin:6px 0 0;color:var(--muted)}.section-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(9,14,24,.96));border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 34px rgba(0,0,0,.22);transition:.25s ease}
.card:hover{transform:translateY(-4px);border-color:rgba(245,158,11,.22);box-shadow:0 20px 44px rgba(0,0,0,.32)}
.poster{position:relative;aspect-ratio:16/21;overflow:hidden;background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.22), transparent 22%),linear-gradient(145deg, hsl(var(--hue,35) 70% 18%), hsl(var(--hue2,15) 78% 12%))}
.poster::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 10% 10%, rgba(255,255,255,.14), transparent 18%),radial-gradient(circle at 85% 0%, rgba(255,255,255,.09), transparent 16%),radial-gradient(circle at 50% 50%, rgba(255,255,255,.05), transparent 40%);transform:rotate(8deg)}
.poster::after{content:attr(data-initial);position:absolute;inset:auto 16px 14px auto;font-size:54px;font-weight:900;line-height:1;color:rgba(255,255,255,.25);text-shadow:0 8px 20px rgba(0,0,0,.28)}
.badge{position:absolute;left:12px;top:12px;z-index:2;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(0,0,0,.28);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)}
.poster-footer{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;background:linear-gradient(180deg, transparent, rgba(4,7,12,.9) 60%)}
.poster-footer strong{display:block;font-size:18px;line-height:1.2}.poster-footer span{display:block;color:#dbe2f0;font-size:12px;margin-top:4px}
.card-body{padding:14px}.card-title{margin:0 0 8px;font-size:16px;line-height:1.35}.card-title a:hover{color:#ffd89a}
.card-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;margin-bottom:10px}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tag{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:#cdd6e9}
.card-desc{margin:0;color:#aeb7ca;font-size:13px;line-height:1.65;height:4.55em;overflow:hidden}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.toolbar input,.toolbar select{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:11px 14px;outline:none;min-width:180px}.toolbar input::placeholder{color:#8791a6}.toolbar .grow{flex:1;min-width:220px}
.listing-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.listing-head h1{margin:0;font-size:30px}.listing-head p{margin:6px 0 0;color:var(--muted);max-width:70ch}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px}.pagination a,.pagination span{min-width:42px;height:42px;padding:0 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.pagination a:hover,.pagination .current{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.22)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px;margin:8px 0 18px}.crumbs a{color:#d7deee}
.detail-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:stretch}
.detail-panel{padding:20px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.detail-poster{min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:26px;overflow:hidden;position:relative}.detail-poster .poster{height:100%;min-height:520px}
.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}.meta-line{display:flex;flex-wrap:wrap;gap:12px;color:#cfd6e7;font-size:14px}.meta-line span{padding-right:12px;border-right:1px solid rgba(255,255,255,.12)}.meta-line span:last-child{border-right:0;padding-right:0}
.detail-panel h1{margin:0;font-size:34px;line-height:1.1}.detail-panel .lead{margin:14px 0 0;color:#d8deec;font-size:16px}
.detail-section{margin-top:22px;padding:22px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.detail-section h2{margin:0 0 12px;font-size:22px}.detail-section p{margin:0;color:#d7deee;line-height:1.9}
.player-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:start}
.player{border-radius:24px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.08)}.player video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.source-list{display:grid;gap:10px}
.source-btn{width:100%;text-align:left;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer}.source-btn.active,.source-btn:hover{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.22)}
.footer{margin-top:32px;padding:24px 0 36px;color:var(--muted)}
.footer-inner{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.small{font-size:13px;color:var(--muted)}.kv{display:flex;gap:8px;flex-wrap:wrap}.kv .pill{font-size:12px}
.cut{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width: 1180px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-grid,.detail-hero,.player-wrap{grid-template-columns:1fr}.searchbar{min-width:0;flex:1 1 100%}.nav{order:3;flex-basis:100%}}
@media (max-width: 820px){.container{width:min(var(--max),calc(100vw - 20px))}.shell{padding-top:12px}.topbar-inner{flex-wrap:wrap}.hero-grid{padding:20px}.grid,.grid-4,.grid-5,.grid-3,.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel h1{font-size:28px}.detail-poster .poster{min-height:420px}}
@media (max-width: 560px){.grid,.grid-4,.grid-5,.grid-3,.grid-2{grid-template-columns:1fr}.hero-copy h1{font-size:30px}.hero-copy p,.listing-head p{font-size:14px}.btn{width:100%}.hero-actions{flex-direction:column}.searchbar{flex:1 1 100%}}
