:root { --bg:#0f1419; --card:#1b232c; --fg:#e6edf3; --muted:#9aa7b2; --accent:#4ea1ff; }
* { box-sizing: border-box; }
body { margin:0; font-family:-apple-system,Segoe UI,Roboto,sans-serif;
       background:var(--bg); color:var(--fg); }
header { padding:16px; text-align:center; }
h1 { font-size:1.3rem; margin:0; }
#gate { max-width:360px; margin:10vh auto; padding:24px; background:var(--card);
        border-radius:12px; text-align:center; }
#gate input { width:100%; padding:12px; margin:8px 0; border-radius:8px; border:none;
              font-size:1rem; }
#gate button { width:100%; padding:12px; border:none; border-radius:8px;
               background:var(--accent); color:#04121f; font-weight:600; font-size:1rem; }
.error { color:#ff6b6b; }
main { display:grid; gap:12px; padding:12px;
       grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); max-width:1100px;
       margin:0 auto; }
.card { background:var(--card); border-radius:12px; padding:14px; }
.card h2 { font-size:1.05rem; margin:0 0 6px; }
.badges { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
.badge { font-size:.7rem; background:#2a3744; color:var(--accent); padding:2px 8px;
         border-radius:999px; }
.summary { color:var(--fg); margin:6px 0; }
.chips { display:flex; gap:6px; flex-wrap:wrap; margin:8px 0; }
.chip { font-size:.8rem; background:#11202b; padding:3px 8px; border-radius:8px;
        color:var(--muted); }
details { margin-top:8px; }
.quote { font-size:.85rem; color:var(--muted); border-left:2px solid #2a3744;
         padding-left:8px; margin:6px 0; }
footer { text-align:center; color:var(--muted); padding:16px; font-size:.8rem; }
