:root{--bg:#f6f5f2;--card:#fff;--text:#1c1d1f;--muted:#6a6d72;--line:#e2e0db;--accent:#1f6feb;--good:#1f8a5b;--good-bg:#e3f4ec;--warn:#9a6200;--warn-bg:#fcf0d9;--bad:#c0392b;--bad-bg:#fbe5e2;--radius:12px;--series-1:#2a78d6;--series-2:#eb6834;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#131416;--card:#1c1e21;--text:#ececec;--muted:#9a9ea5;--line:#2d3035;--accent:#6ea8ff;--good:#4cc38a;--good-bg:#183528;--warn:#f0b44c;--warn-bg:#3a2c12;--bad:#ff7b6b;--bad-bg:#3d1d19;--series-1:#3987e5;--series-2:#d95926}}*{box-sizing:border-box}body{background:var(--bg);margin:0}main{max-width:980px;margin:0 auto;padding:16px 16px 48px}main.narrow{max-width:420px;padding-top:12vh}main.center{text-align:center;padding-top:20vh}h1{margin:0 0 8px;font-size:1.5rem}h2{margin:28px 0 10px;font-size:1.1rem}h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font-size:1rem;display:flex}p{margin:6px 0}a,.link{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad)}.hot{color:var(--bad);font-weight:600}.top{justify-content:space-between;align-items:center;gap:12px;max-width:980px;margin:0 auto;padding:14px 16px 0;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.top nav{white-space:nowrap;align-items:center;gap:16px;display:flex;overflow-x:auto}.top nav a{text-decoration:none}.top nav a.active{color:var(--text);font-weight:600}@media (width<=560px){.top{flex-direction:column;align-items:flex-start;gap:6px}.top nav{max-width:100%}}.stack{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;gap:4px;font-size:.9rem;font-weight:500;display:flex}input,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;min-width:0;padding:10px 12px}button{font:inherit;background:var(--text);color:var(--bg);cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.link{color:var(--accent);background:0 0;padding:0;font-weight:500}button.link.danger{color:var(--bad)}.card,.hero{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.banner{background:var(--warn-bg);color:var(--text);border-radius:var(--radius);margin:0 0 12px;padding:10px 14px}dl{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:.92rem;display:grid}dt{color:var(--muted)}dd{margin:0}details{margin-top:10px;font-size:.88rem}summary{cursor:pointer;color:var(--accent)}.log{overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.log time{color:var(--muted);margin-right:6px}.pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600}.pill.good{color:var(--good);background:var(--good-bg)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.pill.bad{color:var(--bad);background:var(--bad-bg)}.hero{border-left:6px solid var(--muted)}.hero.live{border-left-color:var(--good)}.hero.off_air{border-left-color:var(--warn)}.hero.unreachable{border-left-color:var(--bad)}.headline{align-items:center;gap:10px;display:flex}.headline h1{margin:0}.dot{background:var(--muted);border-radius:50%;flex:none;width:14px;height:14px}.live .dot{background:var(--good);box-shadow:0 0 0 4px var(--good-bg)}.off_air .dot{background:var(--warn)}.unreachable .dot{background:var(--bad)}.hero audio{width:100%;margin-top:10px}.outages{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.outages li{border-top:1px solid var(--line);grid-template-columns:9.5em 8em 1fr;gap:8px;padding:10px 14px;font-size:.92rem;display:grid}.outages li:first-child{border-top:0}.outages li.ongoing{background:var(--warn-bg)}.outages .length{color:var(--muted)}@media (width<=560px){.outages li{grid-template-columns:1fr auto}.outages .why{grid-column:1/-1}}.foot{margin-top:24px}.add{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));align-items:end;gap:12px;margin:16px 0;display:grid}.add h3{grid-column:1/-1;margin:0}.people{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.people li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.people .actions{align-items:center;gap:14px;display:flex}.people select{padding:6px 8px}.copy{gap:8px;margin-top:8px;display:flex}.copy input{flex:1;font-size:.85rem}a.button{background:var(--text);color:var(--bg);border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-block}.calendar{max-width:420px}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-head .link{padding:0 8px;font-size:1.4rem}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{color:var(--text);background:linear-gradient(to top, var(--good-bg) var(--fill,0%), var(--card) var(--fill,0%));border:1px solid var(--line);padding:8px 0;font-weight:500}.calendar-day.empty{color:var(--muted);background:0 0}.calendar-day.selected{outline:2px solid var(--accent);outline-offset:1px}.daybar{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:8px;height:36px;position:relative;overflow:hidden}.daybar span{position:absolute;top:0;bottom:0}.rec.server{background:var(--good);opacity:.55}.rec.mac{background:var(--accent);opacity:.55}.daybar .out{background:var(--bad);top:60%}.daybar-hours{justify-content:space-between;margin-top:4px;display:flex}.key{vertical-align:-1px;border-radius:2px;width:10px;height:10px;display:inline-block}.key.out{background:var(--bad)}.files{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:0;list-style:none}.files li{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.files li:first-child{border-top:0}.files li.playing{background:var(--good-bg)}.files .actions{gap:14px;display:flex}.player{margin-top:16px;position:sticky;bottom:8px;box-shadow:0 6px 24px #0000002e}.player-head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.player audio{width:100%;margin:10px 0}.player-actions,.clip{flex-wrap:wrap;align-items:end;gap:12px;margin-top:8px;display:flex}.clip input{width:7.5em}button.secondary{background:var(--card);color:var(--text);border:1px solid var(--line)}button.danger{background:var(--bad);color:#fff}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.banner.good{background:var(--good-bg)}.confirmed{margin:10px 0}.confirmed code{background:var(--bg);border-radius:4px;padding:1px 6px}.filters{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}button.chip{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:500}button.chip.selected{background:var(--text);color:var(--bg);border-color:var(--text)}.search{width:100%;max-width:420px;margin:8px 0 12px}.activity li{grid-template-columns:9.5em 6em 1fr}.charts{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px;display:grid}.chart{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin:0;padding:12px 12px 8px}.chart figcaption{flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-bottom:6px;font-size:.92rem;display:flex}.legend{color:var(--muted);gap:12px;font-size:.85rem;display:flex}.legend i,.tooltip i{vertical-align:3px;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.chart-plot{position:relative}.chart svg{touch-action:pan-y;display:block}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:11px}.chart .reference{stroke:var(--muted);stroke-dasharray:4 4}.chart .crosshair{stroke:var(--muted);stroke-width:1px}.tooltip{background:var(--card);border:1px solid var(--line);pointer-events:none;border-radius:8px;min-width:150px;padding:8px 10px;font-size:.85rem;position:absolute;top:6px;box-shadow:0 4px 16px #00000026}.outages a.when{text-decoration:none}
