
*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#08090c;--panel:#11141b;--line:#1e2431;--text:#e6edf6;--muted:#8b98ad;--accent:#22d3ee;--warn:#f59e0b}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 background-image:radial-gradient(900px 500px at 12% -8%,rgba(34,211,238,.10),transparent 70%),radial-gradient(700px 400px at 88% 4%,rgba(139,92,246,.08),transparent 70%);
 background-attachment:fixed;min-height:100vh}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 16px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
/* top bar */
.topbar{position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);background:rgba(8,9,12,.82);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:14px;height:58px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.14em;font-size:13px}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.topnav{margin-left:auto;display:flex;gap:16px;font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.topnav a:hover{color:var(--accent)}
/* hero */
.hero{padding:44px 0 26px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(30px,6.2vw,54px);line-height:1.03;letter-spacing:-.02em;font-weight:800}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p.sub{color:var(--muted);margin-top:13px;max-width:60ch;font-size:15.5px}
.stats{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.stat{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 14px;font-size:12px;
 letter-spacing:.07em;display:flex;align-items:center;gap:8px;color:var(--muted)}
.stat b{color:var(--text);font-weight:700}
.live{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 9px #22c55e;animation:pulse 2.4s infinite}
@keyframes pulse{50%{opacity:.35}}
/* notice */
.notice{margin:22px 0 0;border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--panel);
 border-radius:10px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.notice .ic{color:var(--warn);font-weight:800;font-size:17px;line-height:1}
.notice p{font-size:13.5px;color:#c3cedd}
.notice p+p{margin-top:6px}
/* controls */
.controls{margin:26px 0 8px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.search{flex:1 1 280px;position:relative}
.search input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);
 padding:12px 14px 12px 40px;font-size:15px;outline:none}
.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(34,211,238,.13)}
.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);opacity:.45}
select{background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px;font-size:14px;outline:none}
.filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}
.chip{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 15px;
 font-size:12.5px;letter-spacing:.05em;cursor:pointer;transition:.14s}
.chip:hover{color:var(--text);border-color:#2c3648}
.chip.on{background:rgba(34,211,238,.13);border-color:var(--accent);color:var(--accent)}
/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:15px;padding-bottom:56px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;
 transition:.16s;position:relative}
.card:hover{transform:translateY(-3px);border-color:#2e3b52;box-shadow:0 14px 34px -14px rgba(0,0,0,.85)}
.cover{position:relative;aspect-ratio:16/10;background:#0d1017;overflow:hidden;flex:none}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover .tile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
 background:repeating-linear-gradient(135deg,rgba(255,255,255,.038) 0 9px,transparent 9px 19px),
 linear-gradient(152deg,hsl(var(--h) 58% 23%),hsl(var(--h) 46% 10%))}
.tile-init{font-weight:800;font-size:30px;letter-spacing:.16em;color:rgba(255,255,255,.92);line-height:1;
 text-shadow:0 2px 14px rgba(0,0,0,.5)}
.tile-sub{font-size:8.5px;letter-spacing:.26em;color:rgba(255,255,255,.4)}
.cover-tag{position:absolute;left:8px;top:8px;background:rgba(6,8,12,.8);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.11);
 border-radius:5px;padding:3px 7px;font-size:9.5px;letter-spacing:.13em;font-weight:700;color:#cbd5e1}
.cover-flag{position:absolute;right:8px;top:8px;background:rgba(245,158,11,.92);color:#1a1206;border-radius:5px;
 padding:3px 7px;font-size:9.5px;letter-spacing:.09em;font-weight:800}
.card .body{padding:12px 13px 13px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:14.5px;line-height:1.28;font-weight:700}
.card h3 a:hover{color:var(--accent)}
.meta{font-size:11.5px;color:var(--muted);letter-spacing:.03em;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.meta .sep{opacity:.35}
.tag{border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:10.5px;letter-spacing:.05em;color:#9fb0c7}
.tag.mp{border-color:var(--ACCENT_DIM);color:var(--accent)}
.tag.files{border-color:#5b4a1c;color:#d8b264}
.card .actions{margin-top:auto;display:flex;gap:8px;padding-top:3px}
.play{flex:1;text-align:center;background:var(--accent);color:#04141a;font-weight:800;font-size:12.5px;letter-spacing:.08em;
 padding:10px;border-radius:9px;transition:.14s}
.play:hover{filter:brightness(1.12)}
.detail{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12px;color:var(--muted);letter-spacing:.07em}
.detail:hover{border-color:var(--accent);color:var(--accent)}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:60px 0}
.section-head{display:flex;align-items:baseline;gap:12px;margin:0 0 15px}
.section-head h2{font-size:12.5px;letter-spacing:.17em;color:var(--muted);font-weight:700}
/* footer */
footer{border-top:1px solid var(--line);padding:30px 0 46px;color:var(--muted);font-size:12.5px}
footer p+p{margin-top:9px}
footer a{color:#9fb0c7;border-bottom:1px solid var(--line)}
footer a:hover{color:var(--accent)}
/* detail page */
.detail-page{max-width:840px;margin:0 auto;padding:34px 16px 70px}
.detail-page .back{font-size:12.5px;color:var(--muted);letter-spacing:.07em}
.detail-page .back:hover{color:var(--accent)}
.detail-page h1{font-size:clamp(26px,5vw,40px);line-height:1.08;margin:18px 0 12px;letter-spacing:-.02em}
.detail-page .shot{width:100%;border-radius:13px;border:1px solid var(--line);margin:20px 0;display:block}
.detail-page .cta{display:inline-block;background:var(--accent);color:#04141a;font-weight:800;letter-spacing:.08em;
 padding:15px 30px;border-radius:11px;font-size:14px;margin:8px 0 24px}
.kv{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;border-top:1px solid var(--line);padding-top:18px;font-size:14px}
.kv dt{color:var(--muted);font-size:12px;letter-spacing:.08em;padding-top:2px}
@media(max-width:640px){
 .topnav{display:none}
 .grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:11px}
 .card h3{font-size:13px}
 .card .body{padding:10px}
 .hero{padding:30px 0 20px}
 .kv{grid-template-columns:1fr;gap:2px 0}
 .kv dd{margin-bottom:12px}
}
