:root{--bg: #0f1115;--surface: #1a1d24;--surface-2: #23272f;--border: #2e333c;--text: #e8eaed;--dim: #9aa0aa;--accent: #ff5722;--accent-2: #4f9dff;--radius: 12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.topbar{position:sticky;top:0;z-index:20;background:#0f1115eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;gap:8px}.brand h1{font-size:1.15rem;margin:0}.tagline{margin:2px 0 0;font-size:.82rem;color:var(--dim)}.tagline strong{color:var(--text)}.dim{color:var(--dim)}.search input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}.search input:focus{outline:2px solid var(--accent-2);border-color:transparent}.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;scrollbar-width:thin}.chip{flex:0 0 auto;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer;white-space:nowrap}.chip .n{color:var(--dim);font-size:.78rem;margin-left:2px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.active .n{color:#fffc}.filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px}.filter{flex:1 1 auto;min-width:120px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem}.clear{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--dim);cursor:pointer;font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.card:hover{transform:translateY(-2px);border-color:var(--accent-2)}.thumb{position:relative;aspect-ratio:1 / 1;background:#fff;display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:contain}.noimg{color:#9aa0aa;font-size:.8rem}.tag{position:absolute;top:6px;left:6px;font-size:.68rem;padding:2px 7px;border-radius:999px;font-weight:600}.tag-loose{background:var(--accent-2);color:#fff}.meta{padding:8px 10px 10px}.name{font-size:.82rem;margin:0 0 6px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1em}.sub{display:flex;align-items:center;justify-content:space-between;gap:6px}.badge{background:var(--surface-2);color:var(--accent-2);font-size:.7rem;padding:2px 8px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.year{color:var(--dim);font-size:.75rem}.empty{text-align:center;color:var(--dim);padding:40px 14px}.more-wrap{display:flex;justify-content:center;padding:0 14px 40px}.load-more{padding:10px 22px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.9rem}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:#000000b3}.modal-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:460px;width:100%;max-height:90vh;overflow-y:auto;padding:18px}.modal-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--dim);font-size:1.8rem;line-height:1;cursor:pointer}.modal-img{background:#fff;border-radius:10px;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}.modal-img img{max-width:100%;max-height:100%;object-fit:contain}#mName{font-size:1.1rem;margin:0 0 12px}#mFields{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.9rem}#mFields dt{color:var(--dim)}#mFields dd{margin:0}#mFields a{color:var(--accent-2)}@media(min-width:700px){.topbar{flex-direction:row;align-items:center;justify-content:space-between;padding:12px 20px}.search{width:320px}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:20px}.chips,.filters{padding-left:20px;padding-right:20px}}
