/* Texas Weather Alerts: its own look. Plain, high contrast, built for a phone in bad weather. */
:root{
  --bg:#eef1f4; --card:#fff; --ink:#14181d; --muted:#56606b; --line:#cfd6dd;
  --warn:#b3191c; --watch:#c4620a; --adv:#8a6d00; --info:#2d5f8a; --link:#15508f;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.5;font-size:17px}
.wrap{max-width:720px;margin:0 auto;padding:14px 14px 40px}
.sr{position:absolute;left:-9999px}
.top{border-bottom:3px solid var(--ink);padding-bottom:10px;margin-bottom:12px}
.kicker{margin:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
h1{margin:2px 0 4px;font-size:1.8rem}
.lede{margin:0 0 8px;color:var(--muted)}
.emerg{margin:0;padding:8px 10px;background:#fff4e5;border-left:4px solid var(--watch);font-size:.9rem}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
input[type=search],select{flex:1 1 180px;min-height:44px;padding:8px;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.btn{min-height:44px;padding:8px 18px;border:0;border-radius:6px;background:var(--ink);color:#fff;font:inherit;font-size:16px;cursor:pointer}
.clear{align-self:center;padding:10px 4px}
.summary{margin:10px 0}
.status{padding:10px 12px;border-radius:6px;margin:10px 0;font-size:.95rem}
.status.bad{background:#fbe9e7;border:1px solid #e0a29b}
.status.warn{background:#fff4e5;border:1px solid #e8c48a}
.src{display:block;font-size:.8rem;color:var(--muted)}
p.src{margin:8px 0 0}
.alert{background:var(--card);border:1px solid var(--line);border-left:8px solid var(--info);border-radius:6px;padding:12px 14px;margin:0 0 12px}
.alert.k-warning{border-left-color:var(--warn)}
.alert.k-watch{border-left-color:var(--watch)}
.alert.k-advisory{border-left-color:var(--adv)}
.badge{display:inline-block;margin:0 0 4px;padding:2px 8px;border-radius:4px;background:var(--info);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.k-warning .badge{background:var(--warn)}
.k-watch .badge{background:var(--watch)}
.k-advisory .badge{background:var(--adv)}
.alert h2{margin:2px 0 6px;font-size:1.1rem;line-height:1.3}
.areas,.when{margin:4px 0}
.todo{margin:10px 0;padding:8px 10px;background:#f1f6fb;border-radius:6px}
.todo p{margin:4px 0 0}
details{margin:8px 0}
summary{cursor:pointer;min-height:36px;padding:6px 0;color:var(--link);font-weight:600}
.full{margin:6px 0 0;font-size:.92rem;word-wrap:break-word}
a{color:var(--link)}
.foot{margin-top:28px;padding-top:12px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.foot ul{padding-left:18px}

/* Forecast Fight */
.fight{background:var(--card);border:1px solid var(--line);border-left:8px solid #6b7b8c;border-radius:6px;padding:12px 14px;margin:0 0 12px}
.fight.lv0{border-left-color:#2e7d32}.fight.lv1{border-left-color:#8a6d00}.fight.lv2{border-left-color:var(--watch)}.fight.lv3{border-left-color:var(--warn)}
.fight h2,.receipts h2{margin:0 0 8px;font-size:1.1rem}
.receipts{margin-top:26px;padding-top:14px;border-top:3px solid var(--ink)}
.receipts h3{font-size:1rem;margin:14px 0 6px}
table.vs{width:100%;border-collapse:collapse;font-size:.92rem}
table.vs th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:2px 4px 4px 0}
table.vs td{padding:5px 4px 5px 0;border-top:1px solid var(--line)}
.meter{margin:10px 0 2px}.joke{margin:2px 0 0;font-style:italic}
.kicker a{color:var(--muted)}
