:root { --bg:#07120e; --card:#0f1f19; --border:#1e3a30; --text:#e8f5ee; --dim:#7fa896;
        --green:#34d399; --red:#f87171; --amber:#fbbf24; }
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:-apple-system,"Segoe UI",Inter,sans-serif;min-height:100vh}
header{text-align:center;padding:34px 16px 10px}
header h1{font-size:2.1rem}header h1 span{color:var(--green)}
.tag{color:var(--dim);margin-top:6px}
.searchbar{display:flex;gap:10px;max-width:520px;margin:22px auto 6px;padding:0 16px}
.searchbar input{flex:1;background:var(--card);border:1px solid var(--border);border-radius:10px;
  padding:14px 16px;font-size:1.15rem;color:var(--text);text-transform:uppercase;letter-spacing:1px}
.searchbar button{background:var(--green);color:#04140d;border:0;border-radius:10px;padding:14px 26px;
  font-weight:800;font-size:1rem;cursor:pointer}
.searchbar button:disabled{opacity:.5}
.examples{text-align:center;color:var(--dim);font-size:.85rem;margin-bottom:10px}
.examples a{color:var(--green);cursor:pointer;margin:0 5px;text-decoration:underline}
.status{text-align:center;color:var(--dim);min-height:22px;margin:8px}
.hidden{display:none!important}
.quote{max-width:760px;margin:6px auto;padding:12px 18px;background:var(--card);border:1px solid var(--border);
  border-radius:12px;display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:.92rem}
.quote b{color:var(--green)}
.panel-grid{max-width:900px;margin:14px auto;padding:0 16px;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.acard{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;
  opacity:0;transform:translateY(8px);animation:rise .4s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.acard h3{font-size:1.02rem;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.acard .reason{color:var(--text);font-size:.9rem;line-height:1.55;opacity:.92}
.acard .badge{margin-top:12px;display:inline-flex;align-items:center;gap:8px;font-weight:800;
  border-radius:999px;padding:5px 13px;font-size:.82rem}
.badge.BUY{background:rgba(52,211,153,.16);color:var(--green)}
.badge.HOLD{background:rgba(251,191,36,.16);color:var(--amber)}
.badge.AVOID{background:rgba(248,113,113,.16);color:var(--red)}
.conv{color:var(--dim);font-weight:600;font-size:.78rem}
.skeleton{height:130px;background:linear-gradient(90deg,#0f1f19,#16302645,#0f1f19);
  background-size:200% 100%;animation:sh 1.2s infinite;border-radius:14px}
@keyframes sh{to{background-position:-200% 0}}
.verdict{max-width:760px;margin:18px auto 40px;padding:20px 24px;border-radius:16px;text-align:center;
  border:1.5px solid var(--border);background:var(--card)}
.verdict .call{font-size:2.2rem;font-weight:900;margin:6px 0}
.verdict.BUY .call{color:var(--green)}.verdict.HOLD .call{color:var(--amber)}.verdict.AVOID .call{color:var(--red)}
.verdict .sum{color:var(--dim);line-height:1.6;margin-top:8px}
.tally{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:.85rem;color:var(--dim)}
footer{text-align:center;color:var(--dim);font-size:.8rem;padding:24px 16px}
footer a{color:var(--green)}
@media(max-width:560px){.panel-grid{grid-template-columns:1fr}header h1{font-size:1.6rem}}
