:root {
    --bg:#070b0d;
    --panel:#0d1417;
    --panel2:#111b20;
    --fg:#d8e7df;
    --muted:#789087;
    --green:#7cff8a;
    --cyan:#59d7ff;
    --red:#ff6b6b;
    --amber:#ffd166;
    --orange:#ff8c42;
    --border:#23332d;
    --level-color:#7cff8a;
}
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--bg); color:var(--fg); }
body {
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    background-image:linear-gradient(rgba(124,255,138,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(124,255,138,.025) 1px,transparent 1px);
    background-size:28px 28px;
}
a { color:var(--green); text-decoration:none; }
a:hover { text-decoration:underline; }
.daily-controls {
    width:min(1080px,calc(100% - 24px));
    margin:14px auto 10px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:center;
}
.daily-controls a {
    padding:8px 10px;
    border:1px solid var(--border);
    background:var(--panel);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.04em;
}
.daily-card {
    --level-color:var(--green);
    width:min(1080px,calc(100% - 24px));
    margin:0 auto 18px;
    background:linear-gradient(180deg,#0a1013,#070b0d);
    border:1px solid var(--border);
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    overflow:hidden;
}
.daily-card.low { --level-color:var(--cyan); }
.daily-card.moderate { --level-color:var(--green); }
.daily-card.elevated { --level-color:var(--amber); }
.daily-card.high { --level-color:var(--orange); }
.daily-card.critical { --level-color:var(--red); }
.daily-card.no-data { --level-color:var(--muted); }
.daily-header {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:18px;
    align-items:center;
    padding:20px 24px;
    border-bottom:1px solid var(--border);
    background:linear-gradient(90deg,#0c1514,#0a1013);
}
.daily-logo { display:block; width:clamp(72px,10vw,118px); height:auto; }
.daily-heading { min-width:0; }
.daily-kicker { color:var(--green); font-size:clamp(.58rem,1vw,.82rem); font-weight:800; letter-spacing:.08em; }
.daily-heading h1 { margin:5px 0 3px; font-size:clamp(1.25rem,3.3vw,2.55rem); line-height:.95; letter-spacing:.015em; }
.daily-date { color:var(--muted); font-size:clamp(.58rem,1vw,.8rem); font-weight:700; }
.daily-hero {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);
    min-height:245px;
    border-bottom:1px solid var(--border);
}
.daily-temperature,
.daily-condition {
    padding:28px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.daily-temperature { border-right:1px solid var(--border); }
.daily-temperature-label,
.daily-condition-label,
.daily-panel-title {
    color:var(--muted);
    font-size:clamp(.6rem,.9vw,.78rem);
    font-weight:800;
    letter-spacing:.08em;
}
.daily-temperature-reading { display:flex; align-items:baseline; gap:10px; margin-top:6px; }
.daily-p-score { color:var(--level-color); font-size:clamp(4rem,10vw,7.3rem); font-weight:900; line-height:.88; letter-spacing:-.07em; }
.daily-p-max { color:var(--muted); font-size:clamp(.8rem,1.8vw,1.35rem); font-weight:800; }
.daily-band { margin-top:8px; color:var(--level-color); font-size:clamp(1rem,2vw,1.55rem); font-weight:900; letter-spacing:.08em; }
.daily-condition { align-items:center; text-align:center; }
.daily-condition-icon { color:var(--level-color); width:clamp(95px,15vw,160px); height:clamp(95px,15vw,160px); display:flex; align-items:center; justify-content:center; }
.daily-condition-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.daily-condition-name { margin-top:5px; color:var(--level-color); font-size:clamp(1.05rem,2.3vw,1.8rem); font-weight:900; line-height:1; }
.daily-gauge { padding:16px 24px 14px; border-bottom:1px solid var(--border); }
.daily-gauge input[type="range"] { width:100%; accent-color:var(--level-color); }
.daily-gauge input[disabled] { opacity:1; }
.daily-gauge-scale { display:flex; justify-content:space-between; color:var(--muted); font-size:.58rem; font-weight:700; }
.daily-gauge-bands { display:grid; grid-template-columns:10fr 15fr 15fr 20fr 40fr; margin-top:4px; color:var(--muted); font-size:clamp(.42rem,.7vw,.62rem); font-weight:800; text-align:center; }
.daily-metrics {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-bottom:1px solid var(--border);
}
.daily-metric { padding:18px 16px; text-align:center; border-right:1px solid var(--border); }
.daily-metric:last-child { border-right:0; }
.daily-metric span { display:block; color:var(--muted); font-size:clamp(.52rem,.8vw,.7rem); font-weight:800; letter-spacing:.05em; }
.daily-metric strong { display:block; margin-top:4px; color:var(--fg); font-size:clamp(1.5rem,3vw,2.4rem); }
.daily-grid { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--border); }
.daily-panel { min-width:0; padding:18px 20px; }
.daily-panel:first-child { border-right:1px solid var(--border); }
.daily-signal-list,.daily-cve-list { margin-top:10px; display:grid; gap:6px; }
.daily-signal,.daily-cve { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:7px 9px; background:var(--panel); border:1px solid #17231e; font-size:clamp(.58rem,.9vw,.76rem); }
.daily-signal strong,.daily-cve strong { color:var(--level-color); }
.daily-muted { margin-top:12px; color:var(--muted); font-size:.72rem; }
.daily-stories { padding:18px 20px 10px; }
.daily-story { display:grid; grid-template-columns:38px minmax(0,1fr) 58px; gap:12px; align-items:center; min-height:58px; padding:8px 0; border-bottom:1px solid #17231e; }
.daily-story:last-child { border-bottom:0; }
.daily-story-rank { color:var(--muted); font-size:.72rem; font-weight:800; }
.daily-story-main { min-width:0; }
.daily-story-title { display:block; color:var(--fg); font-size:clamp(.72rem,1.1vw,.92rem); font-weight:800; line-height:1.15; overflow-wrap:anywhere; }
.daily-story-meta { margin-top:4px; color:var(--muted); font-size:clamp(.5rem,.75vw,.65rem); }
.daily-story-score { color:var(--green); font-size:clamp(.8rem,1.2vw,1rem); font-weight:900; text-align:right; }
.daily-story-score.hot { color:var(--red); }
.daily-footer { display:flex; justify-content:space-between; gap:20px; padding:12px 20px; background:#090f12; border-top:1px solid var(--border); color:var(--muted); font-size:clamp(.45rem,.7vw,.6rem); font-weight:700; }
.daily-footer span:first-child { color:var(--green); }
.daily-empty { min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:30px; text-align:center; color:var(--muted); }
.daily-empty-title { color:var(--level-color); font-size:clamp(2rem,7vw,5rem); font-weight:900; }
.daily-note { width:min(1080px,calc(100% - 24px)); margin:0 auto 24px; color:var(--muted); text-align:center; font-size:.7rem; }
.daily-note code { color:var(--green); }
.daily-card-only { min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:0; }
.daily-card-only .daily-card { width:min(1080px,100%); margin:0; border-top:0; }
@media(max-width:720px) {
    .daily-card { width:100%; margin:0; border-left:0; border-right:0; }
    .daily-controls { width:calc(100% - 16px); margin:8px auto; }
    .daily-controls a { flex:1 1 auto; text-align:center; }
    .daily-header { grid-template-columns:64px minmax(0,1fr); gap:12px; padding:14px 14px; }
    .daily-logo { width:64px; }
    .daily-hero { grid-template-columns:1fr 145px; min-height:190px; }
    .daily-temperature,.daily-condition { padding:18px 14px; }
    .daily-temperature { border-right:1px solid var(--border); }
    .daily-condition-icon { width:82px; height:82px; }
    .daily-gauge { padding:12px 12px 10px; }
    .daily-gauge-bands { font-size:.38rem; }
    .daily-metrics { grid-template-columns:repeat(2,1fr); }
    .daily-metric:nth-child(2) { border-right:0; }
    .daily-metric:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .daily-grid { grid-template-columns:1fr; }
    .daily-panel:first-child { border-right:0; border-bottom:1px solid var(--border); }
    .daily-story { grid-template-columns:28px minmax(0,1fr) 45px; gap:8px; }
    .daily-footer { flex-direction:column; gap:3px; }
}
@media(max-width:430px) {
    .daily-header { grid-template-columns:52px minmax(0,1fr); }
    .daily-logo { width:52px; }
    .daily-kicker { font-size:.49rem; }
    .daily-heading h1 { font-size:1.08rem; }
    .daily-date { font-size:.5rem; }
    .daily-hero { grid-template-columns:1fr 118px; min-height:165px; }
    .daily-p-score { font-size:3.5rem; }
    .daily-p-max { font-size:.68rem; }
    .daily-condition-icon { width:66px; height:66px; }
    .daily-condition-name { font-size:.82rem; }
    .daily-condition-label { font-size:.48rem; }
    .daily-gauge-bands span { overflow:hidden; text-overflow:clip; }
    .daily-panel,.daily-stories { padding-left:12px; padding-right:12px; }
    .daily-story-rank { display:none; }
    .daily-story { grid-template-columns:minmax(0,1fr) 42px; }
}
