/* Ticker News Watcher. Single stylesheet, no build step. */
:root{
  --bg:#0f1115; --panel:#171a21; --line:#252a34; --fg:#e6e9ef; --dim:#8b93a7;
  --accent:#4c8dff; --unread:#ffd166; --bad:#ff6b6b; --ok:#4ade80;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
main{max-width:900px;margin:0 auto;padding:1rem}
a{color:var(--accent);text-decoration:none}
h2{font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:var(--dim)}

/* the global refresh control sits ABOVE the tabs — one press covers all */
.topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;
  background:var(--panel);border-bottom:1px solid var(--line)}
.refresh{background:var(--accent);color:#06101f;border:0;border-radius:6px;
  padding:.45rem .9rem;font-weight:600;cursor:pointer}
.refresh:disabled{opacity:.5;cursor:not-allowed}
.note{color:var(--dim);font-size:.85rem}

.tabs{display:flex;gap:.25rem;padding:0 1rem;background:var(--panel);
  border-bottom:1px solid var(--line)}
.tabs a{padding:.6rem .9rem;color:var(--dim);border-bottom:2px solid transparent}
.tabs a.on{color:var(--fg);border-bottom-color:var(--accent)}

.badge{display:inline-block;min-width:1.4em;padding:0 .35em;margin-left:.35em;
  background:var(--bad);color:#fff;border-radius:999px;font-size:.75rem;
  text-align:center;font-weight:700}
.badge.zero{background:var(--line);color:var(--dim)}

.banner{margin:.75rem 1rem;padding:.6rem .8rem;border-radius:6px;
  background:#3a2418;border:1px solid #6b3f22;color:#ffd9b0;font-size:.9rem}

.subtabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.subtab{padding:.35rem .7rem;border:1px solid var(--line);border-radius:6px;
  color:var(--dim);background:var(--panel)}
.subtab.on{color:var(--fg);border-color:var(--accent)}
.subtab.off{opacity:.45}
.state{font-size:.72rem;margin-left:.35rem;color:var(--dim)}
.state.updating{color:var(--unread)}
.state.failed{color:var(--bad)}
.gap{font-size:.7rem;margin-left:.35rem;color:var(--unread);border:1px solid;
  border-radius:4px;padding:0 .25em}

.actions{display:flex;gap:.75rem;margin-bottom:.5rem}
.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font-size:.85rem}
.link.danger{color:var(--bad)}

.stories{list-style:none;margin:0;padding:0}
.story{border-bottom:1px solid var(--line);padding:.6rem .2rem .6rem .7rem;
  border-left:3px solid transparent}
/* unread: bold + a left accent bar, per the spec */
.story.unread{border-left-color:var(--unread)}
.story.unread .title{font-weight:700}
.head{cursor:pointer;display:flex;flex-direction:column;gap:.2rem}
.title{color:var(--fg)}
.meta{display:flex;align-items:center;gap:.5rem;color:var(--dim);font-size:.8rem}
.ico{width:14px;height:14px;border-radius:2px}
.body{padding:.5rem 0 .2rem}
.desc{margin:.2rem 0 .5rem;color:#c7ccd8}
.similar-list{list-style:none;padding:.4rem 0 0;margin:0;font-size:.85rem}
.similar-list li{padding:.15rem 0}
.more{margin:1rem 0;background:var(--panel);color:var(--fg);border:1px solid var(--line);
  border-radius:6px;padding:.5rem 1rem;cursor:pointer}

.addrow{display:flex;gap:.5rem}
input[type=text]{background:var(--panel);border:1px solid var(--line);color:var(--fg);
  border-radius:6px;padding:.45rem .6rem;min-width:12rem}
.lock{background:var(--panel);color:var(--fg);border:1px solid var(--line);
  border-radius:6px;padding:.45rem .9rem;cursor:pointer}
.matches{list-style:none;padding:0;margin:.5rem 0}
.matches .pick{display:block;width:100%;text-align:left;background:var(--panel);
  border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem;margin:.25rem 0;
  color:var(--fg);cursor:pointer}
.matches .pick span{color:var(--dim);margin-left:.5rem}
.hint,.msg,.empty{color:var(--dim);font-size:.82rem}
.hint{max-width:34rem}

table.tickers{width:100%;border-collapse:collapse;font-size:.9rem}
table.tickers th{text-align:left;color:var(--dim);font-weight:500;
  border-bottom:1px solid var(--line);padding:.4rem}
table.tickers td{border-bottom:1px solid var(--line);padding:.5rem .4rem;vertical-align:top}
.name{color:var(--dim);font-size:.8rem}
select{background:var(--panel);color:var(--fg);border:1px solid var(--line);
  border-radius:6px;padding:.3rem}
