:root{
  --bg:#0a0a10; --fg:#e5e7eb; --muted:#94a3b8; --radius:18px;
  --badge-bg:rgba(0,0,0,.45); --badge-br:rgba(255,255,255,.06); --badge-txt:#e2e8f0;
  --s1:#1c1f2a; --s2:#0f1320;
}
*{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; touch-action:manipulation }
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:16px}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:20px;flex-wrap:wrap;padding:10px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;backdrop-filter:blur(8px)}
.breadcrumb a{color:#60a5fa;transition:all .2s;padding:4px 8px;border-radius:6px;font-weight:600}
.breadcrumb a:hover{color:#93c5fd;background:rgba(96,165,250,.1)}
.breadcrumb a:focus{outline:2px solid #60a5fa;outline-offset:2px}
.breadcrumb span[aria-hidden]{color:rgba(255,255,255,.2);font-size:16px;font-weight:300}
.breadcrumb span[aria-current]{color:var(--fg);font-weight:700;padding:4px 8px;background:rgba(255,255,255,.06);border-radius:6px}
.searchbar{position:sticky;top:0;z-index:30;background:linear-gradient(180deg, rgba(10,10,16,0.98), rgba(10,10,16,0.85) 60%, rgba(10,10,16,0));backdrop-filter:blur(10px);padding:12px 0 10px;margin:-16px 0 10px}
.searchbox{display:flex;gap:10px;align-items:center}
.searchbox input{
  flex:1 1 auto;width:100%;
  padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);color:var(--fg);font-size:16px;font-weight:600;outline:none;transition:border-color .2s
}
.searchbox input:focus{border-color:#60a5fa;outline:2px solid #60a5fa;outline-offset:2px}
.searchbox input::placeholder{color:#a3a3a3}
.searchbox button{
  padding:14px 18px;border-radius:14px;border:none;
  background:#fff;color:#000;font-weight:900;letter-spacing:.3px;cursor:pointer;font-size:16px;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.3)
}
.searchbox button:hover{background:#f3f4f6;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.searchbox button:focus{outline:3px solid #60a5fa;outline-offset:2px}
.searchbox button:active{transform:translateY(1px);box-shadow:0 1px 4px rgba(0,0,0,.2)}
.hinfo{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}
.hinfo h1{margin:0;font-size:18px;font-weight:900;letter-spacing:.3px}
.hinfo .count{color:var(--muted);font-size:14px;font-weight:700}
.grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1150px){.grid{grid-template-columns:repeat(5,1fr)}}
.card{display:block;position:relative;transform:translateZ(0);transition:transform .18s ease}
.cover-link{position:absolute;inset:0;z-index:9;display:block;background:transparent}
.cover-link:focus{outline:3px solid #60a5fa;outline-offset:2px;border-radius:var(--radius)}
.frame{position:relative;aspect-ratio:16/9}
.imgwrap{position:relative;width:100%;height:100%}
.imgwrap img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius);transform:translateZ(0) scale(1.001);transition:transform .22s ease, opacity .3s ease;position:relative;z-index:2}
.imgwrap img.loaded{opacity:1}
.card:hover{transform:translateY(-2px)}
.card:hover .imgwrap img{transform:scale(1.02)}
.grad{position:absolute;inset:auto 0 0 0;height:42%;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);background:linear-gradient(0deg, rgba(0,0,0,.72), rgba(0,0,0,0));pointer-events:none;z-index:3}
.badge{position:absolute;right:6px;bottom:6px;font-size:12px;font-weight:800;padding:3px 8px;border-radius:8px;background:var(--badge-bg);color:var(--badge-txt);border:1px solid var(--badge-br);letter-spacing:.2px;backdrop-filter:blur(2px);opacity:.92;z-index:4}
.meta{padding:10px 4px 2px;position:relative;z-index:2}
.title{font-weight:900;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 0 rgba(0,0,0,.55), 0 2px 12px rgba(0,0,0,.45)}
.image-placeholder{position:absolute;inset:0;border-radius:var(--radius);overflow:hidden;background:var(--s2);z-index:1;transition:opacity .3s}
.image-placeholder::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--s2) 0%,var(--s1) 50%,var(--s2) 100%);background-size:200% 100%;animation:sh 1.1s infinite ease-in-out}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.center{display:flex;justify-content:center;margin:18px 0 8px}
.btn{padding:12px 16px;border-radius:12px;border:none;background:#fff;color:#000;font-weight:900;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.btn:hover{background:#f3f4f6;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.btn:focus{outline:3px solid #60a5fa;outline-offset:2px}
.btn:disabled{opacity:.6;cursor:default;background:#64748b;color:#fff;box-shadow:none}
.tip{color:var(--muted);font-size:14px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#grid{margin-top:12px}
