:root{--bg:#0d0f14;--panel:#161a22;--line:#262c39;--text:#e8eaf0;--mute:#8d96a8;--acc:#ff7a1a;--r:10px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
header{position:sticky;top:0;z-index:50;background:rgba(13,15,20,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:22px;padding:12px 4vw}
.logo{font-weight:800;font-size:21px;letter-spacing:-.03em;white-space:nowrap}.logo b{color:var(--acc)}
.nav{display:flex;gap:4px}
.nav a{padding:6px 12px;border-radius:99px;color:var(--mute);font-weight:500;white-space:nowrap}
.nav a:hover,.nav a.on{color:var(--text);background:var(--panel)}
.search{margin-left:auto}
.search input{width:min(340px,38vw);background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:8px 16px;outline:0;transition:.2s}
.search input:focus{border-color:var(--acc);width:min(420px,48vw)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:0 4vw 10px;scrollbar-width:none}
.chips::-webkit-scrollbar,.scroll::-webkit-scrollbar{display:none}
.chip{padding:4px 14px;border:1px solid var(--line);border-radius:99px;color:var(--mute);white-space:nowrap;font-size:13px;transition:.15s}
.chip:hover{color:var(--text);border-color:var(--mute)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#111;font-weight:600}
main{padding:24px 4vw 60px;min-height:80vh}
footer{padding:24px 4vw;border-top:1px solid var(--line);color:var(--mute);font-size:13px}

.hero{position:relative;border-radius:14px;overflow:hidden;margin-bottom:34px;min-height:300px;display:flex;align-items:flex-end;background:linear-gradient(135deg,hsl(var(--h) 60% 30%),hsl(calc(var(--h) + 50) 55% 12%))}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d0f14ee 5%,#0d0f1400 75%),linear-gradient(90deg,#0d0f14cc,#0d0f1400 60%)}
.hero div{position:relative;z-index:1;padding:28px;max-width:560px}
.hero small{color:var(--acc);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.hero h1{font-size:30px;line-height:1.15;margin:4px 0 8px}
.hero p{color:#c4cad6;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.btn{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 18px;cursor:pointer;font-weight:600;transition:.15s}
.btn:hover{border-color:var(--mute)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#111;font-size:17px;padding:12px 30px}
.btn.pri:hover{filter:brightness(1.1);transform:scale(1.03)}

.row{margin-bottom:30px}
.row h2{display:flex;justify-content:space-between;align-items:baseline;font-size:20px;margin-bottom:8px}
.row h2 a{font-size:13px;font-weight:500;color:var(--mute)}.row h2 a:hover{color:var(--acc)}
.wrap{position:relative}
.scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:10px 4px 16px;scrollbar-width:none}
.arr{position:absolute;top:0;bottom:30px;width:44px;z-index:5;border:0;background:linear-gradient(90deg,#0d0f14f2,#0d0f1400);font-size:34px;cursor:pointer;opacity:0;transition:.2s}
.arr.r{right:0;background:linear-gradient(270deg,#0d0f14f2,#0d0f1400)}.arr.l{left:0}
.wrap:hover .arr{opacity:1}
@media(hover:none){.arr{display:none}}

.card{flex:0 0 200px;scroll-snap-align:start;transition:transform .22s,filter .22s;min-width:0}
.card.wide{flex-basis:340px}
.card:hover{transform:translateY(-5px) scale(1.04);z-index:2}
.card:hover .art{box-shadow:0 10px 28px #000a,0 0 0 2px var(--acc)}
.card h3{font-size:14px;margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card small{color:var(--mute);font-size:12px}
.art{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;position:relative;display:grid;place-items:center;transition:box-shadow .22s;box-shadow:0 4px 14px #0007;background:linear-gradient(135deg,hsl(var(--h) 60% 38%),hsl(calc(var(--h) + 50) 55% 16%))}
.art span{font-weight:800;font-size:36px;opacity:.5;letter-spacing:-.02em}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.head h1{font-size:28px}.cnt{color:var(--mute)}
.head select{margin-left:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px 16px}
.more{text-align:center;margin-top:34px}
.empty{color:var(--mute);padding:40px 0}

.gp{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:32px;margin-bottom:32px}
.gp .art{font-size:1.4em;box-shadow:0 12px 40px #000a}
.info h1{font-size:34px;line-height:1.15;margin:6px 0 12px}
.crumb{color:var(--acc);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.info p{color:#c4cad6;max-width:640px;margin-bottom:18px}
.meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:20px;max-width:640px}
.meta div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.meta dt{font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}.meta dd{font-weight:600}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.tags a{font-size:12px;padding:2px 10px;border-radius:99px;background:var(--panel);color:var(--mute)}.tags a:hover{color:var(--text)}

#pl{margin-bottom:36px}
.stage{aspect-ratio:var(--ar);width:min(100%,calc(78vh*var(--ar)));margin:0 auto;background:#000;border-radius:var(--r);overflow:hidden;position:relative;border:1px solid var(--line)}
.stage:fullscreen{width:100%;border:0;border-radius:0}
.rp{width:100%;height:100%;display:block}
.tools{display:flex;gap:10px;justify-content:center;margin-top:12px}
.msg{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--mute)}
main>.msg{position:static;padding:80px 0}
.msg.err{color:var(--text)}.msg.err code{background:var(--panel);padding:2px 8px;border-radius:6px;font-size:12px;color:var(--acc);word-break:break-all}
.spin{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:s 1s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .nav{display:none}.bar{gap:12px}.search{flex:1}.search input,.search input:focus{width:100%}
  .gp{grid-template-columns:1fr;gap:18px}.info h1{font-size:26px}
  .card{flex-basis:150px}.card.wide{flex-basis:260px}.grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:240px}.hero h1{font-size:24px}.hero div{padding:20px}
}
