:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#1b3542;background:#f2f5f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}.topbar{height:68px;background:#112b36;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1380px)/2));border-bottom:1px solid #284550}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.05em}.brand-mark{display:grid;place-items:center;background:#e4b75d;color:#183242;width:32px;height:32px;border-radius:8px;font-size:22px}.brand-dot{color:#dfba72}.city{font-size:13px;color:#afc1c5}.city:before{content:"●";color:#e4b75d;margin-right:8px;font-size:8px}main{max-width:1424px;margin:auto;padding:28px 22px 56px}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 26px}.eyebrow,.step{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;color:#bd8844;margin:0 0 10px}.intro h1{font-size:clamp(29px,3vw,43px);line-height:1.12;letter-spacing:-.06em;margin:0 0 9px;color:#17313a}.intro p:not(.eyebrow){color:#64777c;line-height:1.5;margin:0;font-size:15px}.live-pill{white-space:nowrap;border:1px solid #cce1d7;background:#e5f3e9;border-radius:100px;color:#37765c;font-size:12px;font-weight:700;padding:9px 14px;margin-bottom:5px}.live-dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#49a87d;margin-right:6px}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.9fr);gap:20px;align-items:start}.map-panel,.report-panel{background:#fff;border:1px solid #e0e8e5;border-radius:16px;box-shadow:0 8px 30px rgba(28,59,54,.055);overflow:hidden}.map-toolbar{height:68px;display:flex;align-items:center;gap:12px;padding:12px 17px}.map-toolbar label{font-size:13px;font-weight:700;color:#52666b}.map-toolbar select{flex:1;min-width:0;background:#f6f8f7;border:1px solid #dce6e1;border-radius:8px;color:#203b43;padding:10px 11px;font-size:13px}.outline{border:1px solid #d1ded9;border-radius:8px;background:#fff;color:#29484b;font-weight:700;padding:10px 12px}.outline:hover{background:#f4f8f6}.outline.small{font-size:12px;white-space:nowrap}#map{height:min(62vh,620px);min-height:420px;background:#dbe8df}.map-legend{display:flex;align-items:center;gap:20px;padding:14px 17px 4px;font-size:12px;font-weight:650;color:#53676d}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}.legend-heat{background:#f38d6c;box-shadow:0 0 0 4px #fde9df}.legend-working{background:#42c7a7}.map-note{padding:5px 17px 16px;margin:0;font-size:11px;color:#819095;line-height:1.4}.report-panel{padding:23px}.panel-heading h2{margin:0 0 4px;font-size:23px;letter-spacing:-.04em;color:#1b3842}.panel-heading p{margin:0;color:#849296;font-size:13px}.report-panel form{margin-top:25px}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-size:13px;font-weight:750;color:#2a444d;margin-bottom:12px}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.category-grid label,.status-grid label{position:relative;cursor:pointer}.category-grid input,.status-grid input{position:absolute;opacity:0;width:1px;height:1px}.category-grid span{height:68px;border:1px solid #e0e8e4;border-radius:9px;background:#fbfcfb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:20px}.category-grid small{font-size:10px;font-weight:650;color:#556d70;white-space:nowrap}.category-grid input:checked+span,.status-grid input:checked+span{border-color:#d79850;background:#fff8e9;box-shadow:inset 0 0 0 1px #d79850}.category-grid input:focus-visible+span,.status-grid input:focus-visible+span{outline:3px solid #508baf;outline-offset:2px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.status-grid span{display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-content:center;min-height:71px;padding:11px;border:1px solid #e0e8e4;border-radius:9px;background:#fbfcfb}.status-icon{grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px}.status-icon.outage{background:#fff0e9;color:#e16d4f}.status-icon.working{background:#e8f7ef;color:#2fa374}.status-grid strong{font-size:13px}.status-grid small{font-size:11px;color:#8a989b}.pin-status{padding:11px 12px;background:#f4f7f5;border:1px dashed #bdcfc7;border-radius:8px;color:#6d8384;margin:0 0 9px;font-size:12px}.pin-status.selected{background:#ebf7ef;color:#316b53;border-color:#91c3a5}.submit{border:0;border-radius:9px;background:#163845;color:#fff;width:100%;padding:15px;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.submit:hover{background:#215064}.submit:disabled{opacity:.6;cursor:wait}.submit span{font-size:19px;line-height:0}.form-message{font-size:12px;min-height:1em;margin:11px 0 0}.form-message[data-kind=error]{color:#bd443a}.form-message[data-kind=success]{color:#277b56}.privacy-copy{font-size:11px;color:#9ba7a7;text-align:center;line-height:1.5;margin:12px 0 0}footer{text-align:center;color:#819193;font-size:12px;padding:0 22px 28px}.maplibregl-ctrl-logo{opacity:.7}@media(max-width:900px){main{padding:23px 16px 40px}.layout{grid-template-columns:1fr}.intro{align-items:start}.report-panel{padding:21px}#map{height:55vh;min-height:380px}}@media(max-width:520px){.topbar{height:60px;padding:0 16px}.intro{display:block;margin-bottom:18px}.intro p:not(.eyebrow){font-size:13px}.live-pill{display:inline-block;margin-top:14px}.map-toolbar{padding:10px;height:62px;gap:7px}.map-toolbar label{display:none}.map-toolbar select{font-size:12px}.outline.small{font-size:11px;padding:10px 8px}#map{height:48vh;min-height:340px}.map-legend{flex-wrap:wrap;gap:8px 16px}.category-grid{grid-template-columns:repeat(3,1fr)}.category-grid span{height:61px}.category-grid small{font-size:11px}.report-panel{padding:18px}.panel-heading h2{font-size:22px}}

/* Yachiv identity and report-aware mascot */
:root{color:#301b3d;background:#f7f3fa}
.topbar{background:#321642;border-bottom-color:#512561}
.brand{color:#fff;text-decoration:none}
.brand-mark{background:#ffb000;color:#321642;border-radius:11px;font-weight:900}
.brand-dot{color:#ffb000}
.city{color:#e6d8ee}
.city:before{color:#ffb000}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,340px);align-items:center;gap:24px;background:#fff;border:1px solid #eadff1;border-radius:18px;padding:24px 28px;box-shadow:0 8px 30px rgba(50,22,66,.045)}
.intro h1{color:#321642}
.intro p:not(.eyebrow){max-width:600px;color:#65566f}
.eyebrow,.step{color:#8052a0}
.brand-art{display:block;width:100%;height:auto;max-height:225px;object-fit:contain}
.service-badge,.live-pill{display:inline-flex;align-items:center;margin:15px 8px 0 0;vertical-align:middle}
.service-badge{border-radius:100px;background:#f2e9fa;color:#62357d;padding:9px 14px;font-size:12px;font-weight:750}
.live-pill{background:#fff6df;border-color:#f5dfa7;color:#7b5300}
.live-dot{background:#e8a400}
.map-panel,.report-panel{border-color:#e8dfee;box-shadow:0 8px 30px rgba(50,22,66,.05)}
.mascot-status{display:flex;align-items:center;gap:12px;min-height:94px;padding:8px 18px;background:linear-gradient(110deg,#fff8e8,#f5eafb);border-bottom:1px solid #eadff1}
.mascot-figure{width:78px;height:78px;flex:none;overflow:visible}
.mascot-body,.mascot-hair{fill:#321642}
.mascot-neck{fill:#f8dfb9}
.mascot-face-shape{fill:#fffaf6;stroke:#321642;stroke-width:3}
.mascot-face{display:none;fill:none;stroke:#321642;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mascot-face circle,.mascot-face ellipse:not(.mascot-mouth){fill:#321642;stroke:none}
.mascot-mouth{fill:#321642;stroke:none}
.mascot-hand{fill:#fffaf6;stroke:#321642}
.mascot-rays{stroke:#ffb000;stroke-width:7}
.mascot-sparkle{fill:#ffb000;stroke:none}
.mascot-status[data-state="wondering"] .face-wondering,.mascot-status[data-state="checking"] .face-checking,.mascot-status[data-state="confirmed"] .face-confirmed,.mascot-status[data-state="resolved"] .face-resolved{display:block}
.mascot-status[data-state="checking"] .mascot-figure{animation:mascot-look 1.1s ease-in-out infinite alternate}
.mascot-copy strong{display:block;color:#321642;font-size:14px}
.mascot-copy p{margin:4px 0 0;color:#685a70;font-size:12px;line-height:1.4}
.map-toolbar select{background:#fcf9fd;border-color:#e7ddef;color:#321642}
.outline{border-color:#dfd0e8;color:#4c2860}
.outline:hover{background:#faf5fd}
.category-grid input:checked+span,.status-grid input:checked+span{border-color:#8e5bb0;background:#f8efff;box-shadow:inset 0 0 0 1px #8e5bb0}
.panel-heading h2,legend{color:#321642}
.submit{background:#321642}
.submit:hover{background:#54276b}
@keyframes mascot-look{from{transform:translateX(-3px) rotate(-3deg)}to{transform:translateX(3px) rotate(3deg)}}
@media(max-width:900px){.intro{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:520px){.intro{display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:8px}.intro h1{font-size:29px}.brand-art{width:min(240px,80%);max-height:150px;align-self:center}.service-badge,.live-pill{margin-top:12px}.mascot-status{min-height:82px;padding:6px 12px;gap:8px}.mascot-figure{width:65px;height:65px}.mascot-copy strong{font-size:13px}.mascot-copy p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mascot-status[data-state="checking"] .mascot-figure{animation:none}}

.trust-panel{margin:0 0 18px;padding:15px;border:1px solid #e5d9ed;border-radius:12px;background:#fbf7ff}
.trust-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.trust-heading h3{margin:0;color:#321642;font-size:15px}
.trust-heading strong{color:#62357d;font-size:15px;white-space:nowrap}
.trust-meter{height:9px;margin:11px 0 8px;border-radius:999px;background:#e9ddef;overflow:hidden}
.trust-meter span{display:block;height:100%;width:0;background:#8052a0;border-radius:inherit;transition:width .2s ease}
.trust-panel p{margin:0 0 5px;color:#4f365e;font-size:12px;line-height:1.45}
.trust-panel small{display:block;color:#806b8c;font-size:11px;line-height:1.45}
@media(prefers-reduced-motion:reduce){.trust-meter span{transition:none}}
