:root{--bg:#12101c;--card:#1d1a2b;--line:#2d2842;--ink:#f3eefc;--sub:#a49cbf;--a:#ffcf4a}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans KR",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
main{max-width:880px;margin:0 auto;padding:28px 16px 64px}
h1{font-size:26px;font-weight:900;margin:0 0 4px;letter-spacing:-.5px}
.lead{color:var(--sub);font-size:14px;margin:0 0 18px}
.search{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:16px;outline:none}
.search:focus{border-color:var(--a)}
h2{display:flex;align-items:center;gap:10px;font-size:16px;margin:30px 0 12px;font-weight:700}
h2 i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--dot)}
h2 small{color:var(--sub);font-weight:400;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
a.card{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 13px;position:relative;overflow:hidden;transition:transform .12s ease,border-color .12s ease}
a.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dot)}
a.card:hover,a.card:focus-visible{transform:translateY(-2px);border-color:var(--dot);outline:none}
a.card:active{transform:translateY(0) scale(.98)}
.t{font-weight:700;font-size:16px;margin:0 0 4px}
.d{color:var(--sub);font-size:13px;line-height:1.45;margin:0}
.tag{display:inline-block;margin-top:8px;font-size:11px;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.06);color:var(--sub)}
.tag.pick{background:rgba(255,207,74,.15);color:var(--a)}
.empty{color:var(--sub);font-size:14px;display:none;padding:20px 0}
.count{color:var(--sub);font-size:13px;margin:10px 0 0}
