:root{--bg:#f6f5f2;--surface:#fff;--text:#16181b;--muted:#6a6f76;--line:#e4e2dd;--up:#1f8a52;--up-soft:#e3f3ea;--down:#c8341f;--down-soft:#fbe7e3;--warn:#a86400;--warn-soft:#fbefd9;--h0:#e9e7e2;--h1:#f6c9bf;--h2:#ee9786;--h3:#dd5a42;--h4:#a8240f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--surface:#1a1e23;--text:#eef0f2;--muted:#9aa1a9;--line:#2a3037;--up:#45c07f;--up-soft:#153325;--down:#ff6a52;--down-soft:#3a1a15;--warn:#f0a83a;--warn-soft:#3a2a10;--h0:#242a31;--h1:#5a2a22;--h2:#8f3626;--h3:#d04a31;--h4:#ff7a62}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:560px;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--text);outline-offset:2px}header{margin-bottom:16px}.eyebrow{color:var(--muted);letter-spacing:.02em;margin:0;font-size:14px}h1{letter-spacing:-.02em;margin:2px 0 0;font-size:28px}.address{color:var(--muted);margin:2px 0 0;font-size:14px}.address:empty{display:none}h2{color:var(--muted);margin:32px 0 10px;font-size:15px;font-weight:600}.status{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);padding:22px 20px;transition:background .2s,border-color .2s}.status-label{letter-spacing:-.03em;margin:0;font-size:34px;font-weight:750;line-height:1.1}.status-detail{color:var(--muted);margin:6px 0 0}.status[data-status=up]{background:var(--up-soft);border-color:#0000}.status[data-status=up] .status-label{color:var(--up)}.status[data-status=down]{background:var(--down-soft);border-color:#0000}.status[data-status=down] .status-label{color:var(--down)}.status[data-status=reported]{background:var(--warn-soft);border-color:#0000}.status[data-status=reported] .status-label{color:var(--warn)}.actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.actions .hint{grid-column:1/-1}.btn{appearance:none;font:inherit;cursor:pointer;border:0;border-radius:12px;min-height:52px;padding:15px 12px;font-weight:650;transition:transform 60ms,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-down{background:var(--down);color:#fff}.btn-up{background:var(--up);color:#fff}.btn-quiet{background:var(--surface);color:var(--text);border:1px solid var(--line);width:100%}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}.hint{color:var(--muted);margin:2px 0 0;font-size:14px}.alerts{margin-top:10px}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:14px 16px;display:flex}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.tile-label{color:var(--muted);font-size:13px}.sub{color:var(--muted);margin:10px 0 0;font-size:14px}.heatmap-wrap{grid-template-columns:auto 1fr;gap:4px 6px;display:grid}.heatmap-months{color:var(--muted);grid-column:2;grid-template-columns:repeat(13,1fr);column-gap:3px;font-size:11px;display:grid}.heatmap-months span{white-space:nowrap;grid-column-end:span 3}.heatmap-days{color:var(--muted);grid-template-rows:repeat(7,1fr);align-items:center;font-size:11px;display:grid}.heatmap-days span:first-child{grid-row:1}.heatmap-days span:nth-child(2){grid-row:3}.heatmap-days span:nth-child(3){grid-row:5}.heatmap{flex:1;grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;display:grid}.heatmap i{aspect-ratio:1;background:var(--h0);border-radius:3px;display:block}.heatmap i.none{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.heatmap i.future{visibility:hidden}.heatmap i.day{cursor:pointer}.heatmap i.today{outline:2px solid var(--muted);outline-offset:-1px}.heatmap i.selected{outline:2px solid var(--text);outline-offset:-1px}.l0{background:var(--h0)}.l1{background:var(--h1)}.l2{background:var(--h2)}.l3{background:var(--h3)}.l4{background:var(--h4)}.heatmap i.l0{background:var(--h0)}.heatmap i.l1{background:var(--h1)}.heatmap i.l2{background:var(--h2)}.heatmap i.l3{background:var(--h3)}.heatmap i.l4{background:var(--h4)}.heatmap-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:10px;display:flex}.heatmap-detail{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.heatmap-detail.active{color:var(--text);font-weight:600}.legend{color:var(--muted);align-items:center;gap:3px;margin-left:auto;font-size:12px;display:flex}.legend i{border-radius:2px;width:11px;height:11px;display:inline-block}.legend span{margin:0 4px}.outages{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.outages li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 16px;display:flex}.outages li:first-child{border-top:0}.outages .when{font-size:15px}.outages .range{color:var(--muted);font-size:13px}.outages .dur{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.outages .ongoing{color:var(--down)}.outages .empty{color:var(--muted)}.btn-more{min-height:48px;margin-top:10px;font-weight:600}footer{color:var(--muted);margin-top:32px;font-size:14px}.links{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.links a{min-height:48px;color:var(--text);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 16px;font-size:15px;text-decoration:none;display:flex}.links a:first-child{border-top:0}.links a[hidden]{display:none}.buildings a{padding:12px 16px}.buildings .name,.buildings .addr{display:block}.buildings .addr{color:var(--muted);font-size:13px}.links a:after{content:"›";color:var(--muted);font-size:20px}footer p{margin:12px 0 0}.toast{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));background:var(--text);width:fit-content;max-width:528px;color:var(--bg);border-radius:12px;margin:0 auto;padding:12px 16px;font-size:15px;position:fixed;box-shadow:0 6px 24px #0003}.complain{margin-top:10px}.complain .btn-311{width:100%}.btn-311{background:var(--text);color:var(--bg)}a.btn{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;color:var(--text);overscroll-behavior:contain;border:0;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#00000073}.sheet-body{padding:16px max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}@media (width>=600px){.sheet{border-radius:var(--radius);margin:auto}}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{color:var(--text);margin:0;font-size:20px}.sheet-close{appearance:none;background:var(--surface);color:var(--text);cursor:pointer;border:0;border-radius:50%;width:44px;height:44px;font-size:24px;line-height:1}.sheet-lead{color:var(--muted);margin:8px 0 12px;font-size:15px}.note-911{background:var(--down-soft);border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:14px}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps>li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;padding:14px 16px 16px;scroll-margin-top:16px;position:relative}.steps>li:before{content:counter(step);background:var(--text);width:26px;height:26px;color:var(--bg);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:13px;left:16px}.steps h3{margin:2px 0 8px;padding-left:36px;font-size:16px;line-height:26px}.steps p{color:var(--muted);margin:0 0 10px;font-size:14px}.steps p b{color:var(--text)}.steps .hint{margin:10px 0 0}.steps textarea,.sr-form input{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px}.steps textarea{resize:vertical;margin-bottom:10px;line-height:1.4}.steps .btn{min-height:48px}.steps>li>.btn{width:100%}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sr-form{gap:10px;display:flex}.sr-form input{font-variant-numeric:tabular-nums;flex:1;min-width:0}.sr-form .btn{padding-inline:20px}.mine-311 a{color:var(--text);font-weight:600}.nowrap{white-space:nowrap}.emergency{margin-top:4px}.emergency a{color:var(--down);font-weight:650}.how p{margin:0 0 10px}.how ol{margin:0 0 10px;padding-left:1.3em}.how li{margin:6px 0}.how h3{margin:14px 0 6px;font-size:15px}.how a{color:var(--text)}.how .address{margin-top:6px;font-size:15px}.how h2.danger{color:var(--down)}
