:root{color-scheme:dark;--ink:#eff6fc;--muted:#aec0d0;--panel:#102033;--stroke:#3c5369;--red:#f05e66;--orange:#eea34a;--green:#55ba8d;--gray:#64717c}
*{box-sizing:border-box}html,body,.app{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:#15283a}.app{position:relative;min-height:0}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
#map{position:absolute;inset:0;background:#213344}.maplibregl-control-container{display:none}.map-error{position:absolute;inset:20%;display:grid;place-items:center;text-align:center;padding:24px;background:#102033}
.top{position:absolute;left:0;right:0;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 15px) 16px 16px;pointer-events:none;background:linear-gradient(#08131fdc,#08131f00)}
.identity{display:flex;flex-direction:column;gap:2px;padding:10px 13px;background:#102033e8;border:1px solid #5b759077;border-radius:13px;box-shadow:0 6px 24px #0004}.brand{font-weight:950;font-size:19px;letter-spacing:.075em}.subtitle{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#b0cce0;font-weight:750}
.score-card{min-width:122px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:10px 12px 9px;border-radius:13px;background:#102033ee;border:1px solid #73889b99;box-shadow:0 6px 24px #0005}.score-card>span{font-size:8px;letter-spacing:.11em;font-weight:850;color:#b8cad8}.score-card strong{font-size:37px;line-height:1.05;letter-spacing:-.06em}.score-card small{font-size:17px;letter-spacing:0;color:#bccbd8}.score-card em{font-size:9px;font-style:normal;color:#c4d2df;max-width:130px;line-height:1.25}.score-card.green strong{color:#72e6ac}.score-card.orange strong{color:#ffbd66}.score-card.red strong{color:#ff737e}.score-card.gray strong{color:#cad4dd}
.official-banner{position:absolute;top:calc(env(safe-area-inset-top) + 104px);left:16px;right:16px;padding:10px 13px;border-radius:11px;background:#482c22ed;border:1px solid #db8a56;color:#fff2df;font-size:12px;line-height:1.35;box-shadow:0 8px 30px #0005}.official-banner a{color:#ffe3ad;font-weight:800}
.locate-button{position:absolute;right:16px;bottom:calc(env(safe-area-inset-bottom) + 138px);width:46px;height:46px;border:1px solid #809db2;background:#102033e8;color:white;border-radius:13px;font-size:30px;line-height:1;box-shadow:0 5px 18px #0005}.cell-tip{position:absolute;left:16px;bottom:calc(env(safe-area-inset-bottom) + 144px);max-width:240px;background:#102033ed;border:1px solid #70869a;border-radius:10px;padding:10px 12px;font-size:12px;box-shadow:0 8px 20px #0005}
.bottom-stack{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 16px calc(env(safe-area-inset-bottom) + 11px);background:linear-gradient(#101d2c00,#0c1828dd 27%,#0c1828ef);pointer-events:none}.bottom-stack>*{pointer-events:auto}.report-button{width:min(360px,100%);height:57px;border:1px solid #ff9593;border-radius:16px;background:linear-gradient(120deg,#ec6063,#d34b55);color:white;box-shadow:0 10px 27px #5a182990;font-size:18px;font-weight:850;letter-spacing:.01em}.report-icon{display:inline-grid;place-items:center;width:25px;height:25px;border:2px solid white;border-radius:50%;margin-right:6px;font-size:17px}.under-button{width:min(360px,100%);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#adc1d1}.under-button button{background:none;border:0;padding:3px 0;color:#dcebf7;font-weight:750;font-size:11px}.notice{width:min(360px,100%);background:#19334c;border:1px solid #6b9abd;padding:9px 12px;border-radius:10px;font-size:11px;text-align:center;line-height:1.4}
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(78dvh,740px);overflow:auto;background:#101e2df8;border-top:1px solid #668095;border-radius:22px 22px 0 0;box-shadow:0 -18px 60px #0008;padding:19px 18px calc(env(safe-area-inset-bottom) + 24px)}.sheet-head{display:flex;justify-content:space-between;align-items:start}.sheet h2{margin:3px 0 16px;font-size:24px}.sheet h3{font-size:14px;margin:22px 0 10px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#77c2e7;font-weight:900}.sheet-head button,.dialog-close{width:32px;height:32px;border:0;background:#294259;color:white;border-radius:8px;font-size:22px}.source-health{font-size:11px;color:#cfdae3;line-height:1.5}.legend{display:flex;justify-content:space-between;gap:8px;background:#1b3042;border-radius:10px;padding:10px 12px;margin-top:16px;font-size:11px}.legend span{display:flex;align-items:center;gap:5px}.swatch{display:inline-block;width:15px;height:15px;border-radius:4px;border:1px solid #ffffff77}.swatch.gray{background:var(--gray)}.swatch.green{background:var(--green)}.swatch.orange{background:var(--orange)}.swatch.red{background:var(--red)}.explain,.coverage{font-size:12px;line-height:1.5;color:#bed0de}.alerts-list{display:grid;gap:9px}.alert-item{padding:12px;background:#1c3144;border:1px solid #4b6478;border-radius:10px}.alert-item h4{margin:0 0 6px;font-size:13px}.alert-item p{margin:0 0 7px;color:#c5d3de;font-size:11px;line-height:1.4}.alert-item a,.mchs-link{color:#95d9ff;font-size:11px;font-weight:750}.alert-item .stale{color:#ffcc8a}.empty{font-size:12px;color:#bdcbd6}.mchs-link{display:inline-block;margin:3px 0 10px}
.dialog-backdrop{position:absolute;inset:0;background:#020912ad;display:grid;place-items:center;padding:20px}.dialog{position:relative;width:min(390px,100%);background:#14263a;border:1px solid #6a8eaa;border-radius:19px;padding:23px;box-shadow:0 20px 60px #0009}.dialog h2{margin:5px 0 9px;font-size:24px;line-height:1.1}.dialog p{font-size:12px;line-height:1.5;color:#c5d2dc}.dialog-close{position:absolute;right:15px;top:15px}.report-state{font-size:12px;color:#bfe1f3;margin:14px 0}.captcha-image{display:block;width:240px;height:80px;max-width:100%;border-radius:7px;margin:10px auto}.dialog label,.admin-section label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#ccdae5}.dialog input,.admin-section input,.admin-section select,.admin-section textarea{width:100%;padding:10px;border:1px solid #607a90;border-radius:8px;background:#0b1a29;color:white;outline:none}.submit-report,.admin-section form button{width:100%;margin-top:14px;background:#e55b60;color:white;font-weight:850;border:0;border-radius:9px;padding:12px}.admin-section{border-top:1px solid #526a80;margin-top:25px}.admin-section form{display:grid;gap:10px}.admin-section textarea{min-height:75px}.admin-row{padding:11px;border:1px solid #526a80;border-radius:9px;margin-top:10px}.admin-row p{font-size:11px}.admin-row button{background:#294a64;border:1px solid #6589a6;color:white;border-radius:7px;padding:8px;margin:6px 5px 0 0;font-size:11px}
@media(min-width:700px){.top{padding:24px}.official-banner{left:24px;right:auto;max-width:520px;top:110px}.sheet{left:auto;width:420px;max-height:100dvh;border-radius:18px 0 0 0}.bottom-stack{align-items:center}.locate-button{right:24px}}

/* Clear map: only real, recent reports receive a coloured area. */
#map{background:#e3e9e7}
.top{padding:calc(env(safe-area-inset-top) + 12px) 14px 14px;background:linear-gradient(#0a1b2d88,#0a1b2d00);align-items:flex-start}
.identity{padding:8px 11px;border:0;border-radius:10px;background:#10273deb;box-shadow:0 3px 14px #10203350}
.brand{font-size:15px;letter-spacing:.08em}
.score-card{min-width:100px;max-width:110px;min-height:82px;align-items:flex-end;padding:8px 11px 7px;border:2px solid #d4e2ed;border-radius:13px;background:#10273df5;box-shadow:0 5px 18px #07152266}
.score-card>span{font-size:9px;letter-spacing:.12em;color:#e4eef5}
.score-figure{display:flex;align-items:baseline;gap:1px;white-space:nowrap}
.score-card strong{font-size:44px;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums;color:#f8fbfd}
.score-card small{font-size:17px;font-weight:800;color:#e3edf4}
.score-card em{font-size:9px;min-height:11px;font-weight:800;letter-spacing:.05em;color:#d9e7f1}
.score-card.gray{border-color:#d4e2ed}.score-card.green{border-color:#58d99c}.score-card.orange{border-color:#ffc078}.score-card.red{border-color:#ff7380}
.score-card.green strong{color:#71edaf}.score-card.orange strong{color:#ffc271}.score-card.red strong{color:#ff7a86}
.my-location{width:17px;height:17px;border:3px solid white;border-radius:50%;background:#268ff5;box-shadow:0 0 0 8px #258df237,0 2px 8px #184e7eaa}
.bottom-stack{background:linear-gradient(#081a2c00,#102a41a3 32%,#102a41e0);gap:4px}
.report-button{height:54px;max-width:320px;border-radius:14px;font-size:17px}
.under-button{max-width:320px;color:#f3f7fb;font-size:11px;text-shadow:0 1px 3px #16334e}
.under-button button{font-size:12px;color:#fff}
.locate-button{background:#10273df2;border:2px solid #e4eff5}
.official-banner{top:calc(env(safe-area-inset-top) + 101px);background:#522b25f5}
.recent-item{border-left:3px solid #80b5d0}
.region-select{display:block;pointer-events:auto;width:min(230px,42vw);max-width:100%;margin-top:3px;padding:5px 25px 5px 8px;border:1px solid #d8d8dd;border-radius:9px;background:#f2f2f7;color:#3a3a3c;font-size:10px;font-weight:650;line-height:1.2;outline:none;text-overflow:ellipsis}
.identity{pointer-events:none}
.identity .region-select{pointer-events:auto}
.map-attribution{position:absolute;left:8px;bottom:calc(env(safe-area-inset-bottom) + 117px);padding:2px 5px;border-radius:4px;background:#ffffffc9;color:#344354;font-size:8px;line-height:1.2}
.map-attribution a{color:#344354;text-decoration:none}
.map-credits{position:absolute;left:12px;bottom:calc(env(safe-area-inset-bottom) + 113px);width:34px;height:34px;border:1px solid #ffffffa8;border-radius:50%;background:#10273de8;color:#fff;font-size:18px;line-height:1;box-shadow:0 2px 9px #0018}
.credits-panel{position:absolute;left:12px;bottom:calc(env(safe-area-inset-bottom) + 149px);padding:9px 11px;border-radius:9px;border:1px solid #d4e2ed;background:#10273df5;color:#fff;font-size:11px;line-height:1.5;box-shadow:0 5px 18px #0018}
.credits-panel a{color:#bce5ff}
.feed-chip{position:absolute;top:calc(env(safe-area-inset-top) + 66px);left:14px;max-width:calc(100vw - 150px);padding:7px 10px;border:1px solid #dde6ebc4;border-radius:8px;background:#10273dec;color:#f4f7f9;text-align:left;font-size:10px;font-weight:750;line-height:1.25;box-shadow:0 3px 14px #10203350}

/* Quiet, native iOS inspired surfaces over the map. */
:root{color-scheme:light;--ink:#1c1c1e;--muted:#6e6e73;--panel:#fff;--stroke:#d1d1d6;--red:#ff3b30;--orange:#ff9f0a;--green:#34c759;--gray:#8e8e93}
html,body,.app{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;color:var(--ink);background:#f5f5f7;-webkit-font-smoothing:antialiased}
button{ -webkit-tap-highlight-color:transparent;transition:transform .14s ease,background-color .18s ease,box-shadow .18s ease}
button:active{transform:scale(.98)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #007aff88;outline-offset:2px}
#map{background:#f5f5f7}
.top{padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:linear-gradient(#f5f5f7b8,#f5f5f700);gap:10px}
.identity{padding:10px 13px;border:1px solid #ffffffc9;border-radius:16px;background:#fffffff0;box-shadow:0 4px 18px #00000012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{font-size:15px;font-weight:800;letter-spacing:.055em;color:#1c1c1e}
.score-card{min-width:104px;max-width:116px;min-height:88px;padding:10px 12px 8px;border:1px solid #ffffffd9;border-radius:18px;background:#fffffff2;box-shadow:0 5px 20px #00000015;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.score-card>span{font-size:9px;letter-spacing:.09em;font-weight:750;color:#6e6e73}
.score-card strong{font-size:44px;font-weight:700;letter-spacing:-.055em;color:#1c1c1e}
.score-card small{font-size:16px;font-weight:650;color:#6e6e73}
.score-card em{font-size:9px;min-height:11px;font-weight:700;letter-spacing:.02em;color:#8e8e93}
.score-card.gray{border-color:#ffffffd9}.score-card.green{border-color:#b6e6c3}.score-card.orange{border-color:#ffd99b}.score-card.red{border-color:#ffc2bd}
.score-card.green strong{color:#248a3d}.score-card.orange strong{color:#c77700}.score-card.red strong{color:#d92d24}
.feed-chip{top:calc(env(safe-area-inset-top) + 71px);left:16px;padding:8px 11px;border:1px solid #ffffffd9;border-radius:12px;background:#fffffff0;color:#48484a;font-size:10px;font-weight:650;box-shadow:0 4px 16px #00000012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.official-banner{top:calc(env(safe-area-inset-top) + 118px);padding:12px 14px;border:1px solid #ffb7b2;border-radius:16px;background:#fff8f7f2;color:#7c201c;font-size:13px;box-shadow:0 8px 26px #00000012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.official-banner a{color:#d92d24}
.locate-button{right:18px;bottom:calc(env(safe-area-inset-bottom) + 145px);width:48px;height:48px;border:1px solid #ffffffd9;border-radius:50%;background:#fffffff2;color:#1c1c1e;font-size:27px;box-shadow:0 4px 18px #00000020;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cell-tip{border:1px solid #ffffffd9;border-radius:14px;background:#fffffff2;color:#1c1c1e;box-shadow:0 6px 22px #00000018;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bottom-stack{gap:8px;padding:18px 20px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(#f5f5f700,#f5f5f7d9 24%,#f5f5f7f5 70%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.report-button{width:min(390px,100%);height:58px;max-width:390px;border:0;border-radius:18px;background:#ff453a;color:#fff;box-shadow:0 6px 18px #ff3b3033;font-size:17px;font-weight:700;letter-spacing:-.01em}
.report-button:active{background:#e8342b}
.report-icon{width:24px;height:24px;border:1.8px solid #ffffffed;font-size:16px;font-weight:650}
.under-button{width:min(390px,100%);max-width:390px;color:#6e6e73;font-size:11px;text-shadow:none}
.under-button button{padding:7px 0;color:#1c1c1e;font-size:12px;font-weight:650}
.notice{width:min(390px,100%);padding:11px 14px;border:1px solid #ffffffd9;border-radius:14px;background:#fffffff2;color:#1c1c1e;font-size:12px;box-shadow:0 4px 18px #00000012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.map-credits{left:16px;bottom:calc(env(safe-area-inset-bottom) + 125px);width:36px;height:36px;border:1px solid #ffffffd9;border-radius:50%;background:#fffffff2;color:#48484a;font-size:17px;box-shadow:0 4px 14px #00000018}
.credits-panel{left:16px;bottom:calc(env(safe-area-inset-bottom) + 168px);border:1px solid #ffffffd9;border-radius:13px;background:#fffffff2;color:#1c1c1e;box-shadow:0 6px 20px #00000018;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.credits-panel a{color:#007aff}
.map-attribution{left:16px;bottom:calc(env(safe-area-inset-bottom) + 125px);padding:4px 7px;border-radius:7px;background:#ffffffe8;color:#48484a;font-size:9px}
.map-attribution a{color:#48484a}
.sheet{max-height:86dvh;padding:22px 20px calc(env(safe-area-inset-bottom) + 26px);border:0;border-radius:25px 25px 0 0;background:#f5f5f7f7;box-shadow:0 -12px 40px #00000020;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.sheet-head{align-items:center}
.sheet h2{margin:3px 0 15px;font-size:28px;font-weight:720;letter-spacing:-.04em;color:#1c1c1e}
.sheet h3{margin:23px 0 10px;font-size:15px;font-weight:680;letter-spacing:-.015em;color:#1c1c1e}
.sheet-head button,.dialog-close{width:36px;height:36px;border:0;border-radius:50%;background:#e5e5ea;color:#3a3a3c;font-size:21px}
.eyebrow{font-size:10px;letter-spacing:.12em;color:#8e8e93;font-weight:750}
.source-health{padding:10px 12px;border-radius:12px;background:#fff;color:#636366;font-size:12px}
.legend{gap:6px;background:#fff;border:1px solid #e5e5ea;border-radius:13px;padding:11px 10px;margin-top:12px;color:#48484a;font-size:10px}
.swatch{width:13px;height:13px;border:0;border-radius:50%}
.swatch.gray{background:#d1d1d6}.swatch.green{background:#34c759}.swatch.orange{background:#ff9f0a}.swatch.red{background:#ff3b30}
.explain,.coverage{font-size:12px;line-height:1.55;color:#6e6e73}
.alert-item{padding:13px;border:1px solid #e5e5ea;border-radius:15px;background:#fff;box-shadow:0 2px 8px #00000008}
.alert-item h4{font-size:14px;font-weight:680;color:#1c1c1e}
.alert-item p{color:#636366;font-size:12px}
.alert-item a,.mchs-link{color:#007aff;font-size:12px;font-weight:600}
.empty{color:#8e8e93;font-size:13px;line-height:1.45}
.dialog-backdrop{padding:22px;background:#00000045;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.dialog{width:min(390px,100%);padding:27px 23px 23px;border:1px solid #ffffffa8;border-radius:24px;background:#f7f7f9f5;color:#1c1c1e;box-shadow:0 18px 50px #00000030;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
.dialog h2{max-width:290px;margin:7px 0 8px;font-size:25px;font-weight:720;letter-spacing:-.04em;line-height:1.12;color:#1c1c1e}
.dialog p{margin:10px 0 15px;color:#636366;font-size:14px;line-height:1.45}
.dialog-close{right:14px;top:14px}
.report-state{margin:14px 0;color:#636366;font-size:13px;line-height:1.4}
.captcha-image{width:100%;height:auto;aspect-ratio:3/1;border:1px solid #e5e5ea;border-radius:12px;background:#112139;object-fit:cover}
.dialog label,.admin-section label{color:#48484a;font-size:12px;font-weight:600}
.dialog input,.admin-section input,.admin-section select,.admin-section textarea{padding:12px;border:1px solid #d1d1d6;border-radius:12px;background:#fff;color:#1c1c1e}
.submit-report,.admin-section form button{min-height:48px;margin-top:12px;border-radius:14px;background:#007aff;color:#fff;font-size:15px;font-weight:650}
.admin-section{border-top:1px solid #d1d1d6}
.admin-row{border:1px solid #d1d1d6;border-radius:14px;background:#fff}
.admin-row button{border:0;border-radius:10px;background:#e5f1ff;color:#0066cc;font-weight:600}
.source-review{margin:20px 0 14px;padding-top:14px;border-top:1px solid rgba(120,120,128,.18)}
.source-review h4{margin:0 0 6px;font-size:14px}
.source-review>p{font-size:12px;line-height:1.45;color:#6e6e73}
.candidate-meta{font-size:12px;color:#636366;margin:4px 0 9px}
.candidate-link{display:inline-block;margin:3px 8px 3px 0;color:#0066cc;font-size:13px;font-weight:600}
.candidate-bulk-actions{display:flex;gap:8px;margin:12px 0 4px}
.candidate-bulk-actions button{flex:1;min-height:40px;padding:9px 11px;border:1px solid rgba(120,120,128,.18);border-radius:12px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}
.candidate-bulk-actions button:active{transform:scale(.98)}
.candidate-bulk-actions button:disabled{opacity:.55;cursor:wait}
.candidate-hide-all{background:rgba(118,118,128,.1);color:#48484a}
.candidate-confirm-all{background:linear-gradient(145deg,#1684ff,#0067db);color:#fff;box-shadow:0 5px 14px rgba(0,122,255,.2),inset 0 1px 0 rgba(255,255,255,.32)}
.candidate-loading{margin:10px 0;padding:11px 12px;border:1px solid rgba(0,122,255,.13);border-radius:13px;background:rgba(0,122,255,.045)}
.candidate-loading-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#4b5563;font-size:11px;line-height:1.35}
.candidate-loading-label span:last-child{flex:0 0 auto;color:#007aff;font-variant-numeric:tabular-nums}
.candidate-progress{position:relative;height:6px;overflow:hidden;border-radius:999px;background:rgba(120,120,128,.16)}
.candidate-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#66b4ff,#007aff);transition:width .18s ease}
.candidate-progress.indeterminate i{width:36%;animation:candidate-progress-sweep 1.15s ease-in-out infinite alternate}
.candidate-progress.failed i{width:100%;background:#ff453a;animation:none}
@keyframes candidate-progress-sweep{from{transform:translateX(-15%)}to{transform:translateX(195%)}}
@media(prefers-reduced-motion:reduce){.candidate-progress.indeterminate i{animation:none;width:45%;transform:none}}
@media(min-width:700px){.sheet{background:#f5f5f7f7}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Nationwide comparison: a compact glass control and a clear, touch-first panel. */
.nationwide-button{pointer-events:auto;display:flex;align-items:center;gap:8px;width:100%;min-height:38px;margin-top:4px;padding:7px 10px;border:1px solid rgba(255,255,255,.84);border-radius:13px;background:rgba(255,255,255,.72);color:#1c1c1e;font-size:12px;font-weight:680;box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 3px 10px rgba(31,41,55,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nationwide-button:disabled{opacity:.5;cursor:wait}.nationwide-button-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf2ff;color:#007aff;font-size:18px;line-height:1}.nationwide-button small{margin-left:auto;color:#6e6e73;font-size:10px;font-weight:560}.nationwide-button:active{transform:scale(.985)}
.nationwide-panel{position:absolute;z-index:8;left:10px;right:10px;bottom:8px;max-height:min(43dvh,410px);overflow:auto;padding:15px 15px calc(env(safe-area-inset-bottom) + 14px);border:1px solid rgba(255,255,255,.74);border-radius:24px;background:rgba(248,248,250,.86);color:#1c1c1e;box-shadow:0 16px 48px rgba(20,28,40,.2),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45);animation:nationwide-panel-in .34s cubic-bezier(.2,.8,.2,1)}
@keyframes nationwide-panel-in{from{opacity:0}to{opacity:1}}
.nationwide-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.nationwide-panel-head .eyebrow{font-size:9px;color:#74747b}.nationwide-panel h2{margin:2px 0 0;font-size:23px;font-weight:720;letter-spacing:-.045em}.nationwide-panel-head>button{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(118,118,128,.12);color:#3a3a3c;font-size:22px;line-height:1}
.nationwide-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;color:#636366;font-size:11px;line-height:1.35}.nationwide-summary time{flex:0 0 auto;color:#8e8e93;font-variant-numeric:tabular-nums;font-size:10px}.nationwide-legend{display:flex;align-items:center;gap:13px;margin:10px 0;padding:8px 10px;border:1px solid rgba(120,120,128,.12);border-radius:13px;background:rgba(255,255,255,.66);color:#48484a;font-size:10px;font-weight:650}.nationwide-legend span{display:flex;align-items:center;gap:5px}.nation-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#d1d1d6}.nation-dot.green{background:#34c759}.nation-dot.lime{background:#ffd60a}.nation-dot.orange{background:#ff9f0a}.nation-dot.red{background:#ff3b30}.nation-dot.none{border:1px solid #c7c7cc;background:transparent}
.nationwide-detail{min-height:54px;display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgba(120,120,128,.12);border-radius:15px;background:rgba(255,255,255,.75)}.nationwide-detail>span{color:#6e6e73;font-size:11px;line-height:1.4}.nation-detail-main{min-width:0;flex:1}.nation-detail-name{display:block;overflow:hidden;color:#1c1c1e;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.nation-detail-meta{display:block;margin-top:3px;color:#6e6e73;font-size:10px;line-height:1.35}.nation-score{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#f2f2f7;color:#8e8e93;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.nation-score.green{background:#e8f8ed;color:#248a3d}.nation-score.lime{background:#fff9d8;color:#8a7800}.nation-score.orange{background:#fff1dc;color:#b56800}.nation-score.red{background:#ffebe9;color:#d92d24}.nationwide-ranking-wrap h3{margin:12px 0 7px;color:#48484a;font-size:11px;font-weight:680}.nationwide-ranking{display:flex;gap:7px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none}.nationwide-ranking::-webkit-scrollbar{display:none}.nationwide-region{flex:0 0 auto;max-width:190px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(120,120,128,.12);border-radius:14px;background:rgba(255,255,255,.78);color:#1c1c1e;text-align:left}.nationwide-region:active{transform:scale(.97)}.nationwide-region-name{max-width:150px;overflow:hidden;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.nationwide-region-score{font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.nationwide-empty{padding:7px 2px;color:#8e8e93;font-size:11px}.nationwide-note{margin:9px 1px 0;color:#73737a;font-size:9px;line-height:1.4}
.app.nationwide-mode .region-controls,.app.nationwide-mode .score-card,.app.nationwide-mode .official-banner,.app.nationwide-mode .feed-chip,.app.nationwide-mode #locate-button,.app.nationwide-mode #cell-tip,.app.nationwide-mode #map-credits,.app.nationwide-mode #credits-panel,.app.nationwide-mode .bottom-stack{display:none!important}
.app.nationwide-mode .identity{pointer-events:auto;gap:0;padding:8px 10px;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:rgba(255,255,255,.74);box-shadow:0 7px 24px rgba(31,41,55,.13);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.app.nationwide-mode .brand{color:#1c1c1e;font-size:13px}.app.nationwide-mode .nationwide-button{width:auto;min-height:36px;margin:0;padding:6px 11px;border:0;border-radius:12px;background:#007aff;color:#fff;box-shadow:0 4px 13px rgba(0,122,255,.2)}.app.nationwide-mode .nationwide-button-icon{background:rgba(255,255,255,.2);color:#fff}.app.nationwide-mode .nationwide-button small{display:none}
.app.nationwide-mode .nationwide-panel{bottom:10px}.nationwide-mode #map{background:#f5f5f7}
@media(min-width:700px){.nationwide-panel{left:auto;right:18px;bottom:18px;width:min(440px,calc(100vw - 36px));max-height:min(50dvh,460px)}.app.nationwide-mode .top{grid-template-columns:1fr auto}}
@media(prefers-reduced-motion:reduce){.nationwide-panel{animation:none}}
.nationwide-region-score.green{color:#248a3d}.nationwide-region-score.lime{color:#8a7800}.nationwide-region-score.orange{color:#b56800}.nationwide-region-score.red{color:#d92d24}

/* Frosted glass surfaces, with the same compact treatment across the mini app. */
:root{--glass:rgba(255,255,255,.7);--glass-strong:rgba(255,255,255,.82);--glass-edge:rgba(255,255,255,.78);--glass-shadow:0 12px 34px rgba(31,41,55,.14),inset 0 1px 0 rgba(255,255,255,.78)}
.identity,.score-card,.feed-chip,.official-banner,.locate-button,.cell-tip,.notice,.map-credits,.credits-panel,.sheet,.dialog,.source-health,.legend,.alert-item,.admin-row{backdrop-filter:blur(24px) saturate(1.45);-webkit-backdrop-filter:blur(24px) saturate(1.45)}
.top{background:linear-gradient(rgba(244,247,251,.54),rgba(244,247,251,0));}
.identity{gap:7px;padding:11px 12px;border:1px solid var(--glass-edge);background:rgba(255,255,255,.58);box-shadow:var(--glass-shadow)}
.brand{font-size:14px;letter-spacing:.08em}
.region-controls{display:flex;align-items:center;gap:7px;pointer-events:auto}
.identity .region-select{width:min(220px,43vw);min-width:0;margin:0;padding:8px 26px 8px 10px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(255,255,255,.76);color:#1c1c1e;font-size:11px;font-weight:620;box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 2px 8px rgba(31,41,55,.06)}
.top{gap:8px;padding-left:12px;padding-right:12px}
.top{display:grid;grid-template-columns:minmax(0,1fr) auto}
.identity{min-width:0;max-width:calc(100vw - 140px)}
.region-controls{width:100%;min-width:0}
.identity .region-select{width:auto;flex:1}
.score-card{width:100px;min-width:90px;max-width:100px}
.feed-chip{top:calc(env(safe-area-inset-top) + 104px);left:12px}
.locate-button,.cell-tip,.map-credits,.map-attribution{bottom:calc(env(safe-area-inset-bottom) + 166px)}
.credits-panel{bottom:calc(env(safe-area-inset-bottom) + 208px)}
.auto-region-button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.88);border-radius:12px;background:rgba(255,255,255,.68);color:#1c1c1e;font-size:19px;line-height:1;box-shadow:inset 0 1px 1px rgba(255,255,255,.88),0 3px 10px rgba(31,41,55,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auto-region-button:disabled{opacity:.48;cursor:default}
.auto-region-button.working{animation:region-refresh-spin .85s linear infinite}
@keyframes region-refresh-spin{to{transform:rotate(360deg)}}
.score-card{background:rgba(255,255,255,.68);border-color:rgba(255,255,255,.84);box-shadow:var(--glass-shadow)}
.score-card.lime{border-color:rgba(184,216,74,.58)}.score-card.lime strong{color:#7e9e12}
.score-card.orange{border-color:rgba(255,159,10,.5)}
.feed-chip,.notice,.map-credits,.credits-panel,.locate-button,.cell-tip{background:var(--glass-strong);border-color:var(--glass-edge);box-shadow:var(--glass-shadow)}
.official-banner{background:rgba(255,248,247,.78);border-color:rgba(255,183,178,.72);box-shadow:var(--glass-shadow)}
.bottom-stack{background:linear-gradient(rgba(245,245,247,0),rgba(245,245,247,.68) 34%,rgba(245,245,247,.84));backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}
.report-button{background:linear-gradient(135deg,#ff6257,#ff3b30 72%);box-shadow:0 9px 22px rgba(255,59,48,.24),inset 0 1px 0 rgba(255,255,255,.3)}
.sheet{background:rgba(247,247,250,.78);border:1px solid rgba(255,255,255,.82);box-shadow:0 -16px 44px rgba(28,28,30,.15),inset 0 1px 0 rgba(255,255,255,.86)}
.sheet-head button,.dialog-close{background:rgba(118,118,128,.12);border:1px solid rgba(255,255,255,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.62)}
.source-health,.legend,.alert-item,.admin-row{border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.58);box-shadow:0 5px 16px rgba(31,41,55,.06),inset 0 1px 0 rgba(255,255,255,.74)}
.legend{flex-wrap:wrap;justify-content:flex-start;gap:8px 13px}
.legend span{white-space:nowrap}
.swatch.lime{background:#b8d84a}
.dialog-backdrop{background:rgba(24,28,35,.27);backdrop-filter:blur(12px) saturate(1.25);-webkit-backdrop-filter:blur(12px) saturate(1.25)}
.dialog{background:rgba(250,250,252,.82);border:1px solid rgba(255,255,255,.78);box-shadow:0 22px 65px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.82)}
.dialog input,.admin-section input,.admin-section select,.admin-section textarea{background:rgba(255,255,255,.74);border-color:rgba(120,120,128,.2);box-shadow:inset 0 1px 2px rgba(31,41,55,.04)}
.submit-report,.admin-section form button{box-shadow:0 5px 14px rgba(0,122,255,.2),inset 0 1px 0 rgba(255,255,255,.25)}
.score-card.green strong{color:#248a3d}.score-card.orange strong{color:#c77700}.score-card.red strong{color:#d92d24}
@media(max-width:360px){.identity{padding:9px}.identity .region-select{width:min(168px,39vw);font-size:10px}.auto-region-button{flex-basis:33px;width:33px;height:33px}.score-card{min-width:94px;max-width:102px;padding:9px}.legend{gap:7px 9px}}
@media(prefers-reduced-motion:reduce){.auto-region-button.working{animation:none}}

/* Keep the archive pill below the expanded header and out of the country control's hit area. */
.identity{position:relative;z-index:2}
.feed-chip{top:calc(env(safe-area-inset-top) + 150px);left:12px;max-width:min(420px,calc(100vw - 24px))}
.sheet,.dialog-backdrop{z-index:10}

/* Expand the selected region into a readable, tap-driven statistics card. */
.nationwide-panel{max-height:min(53dvh,620px)}
.nationwide-panel.has-selection{max-height:min(66dvh,720px)}
.nationwide-detail{display:block;min-height:0;padding:12px;border-radius:17px}
.nation-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nation-detail-main{min-width:0;flex:1}
.nation-detail-kicker{display:block;margin-bottom:4px;color:#8e8e93;font-size:8px;font-weight:750;letter-spacing:.1em}
.nation-detail-head .nation-detail-name{display:block;overflow:visible;white-space:normal;color:#1c1c1e;font-size:15px;line-height:1.2}
.nation-score-wrap{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:3px}
.nation-score-label{color:#6e6e73;font-size:7px;font-weight:750;letter-spacing:.04em;text-align:center}
.nationwide-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.nationwide-metric{min-width:0;padding:9px 10px;border:1px solid rgba(120,120,128,.13);border-radius:13px;background:rgba(255,255,255,.78)}
.nationwide-metric strong{display:block;color:#1c1c1e;font-size:18px;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.nationwide-metric span{display:block;margin-top:4px;color:#3a3a3c;font-size:9px;font-weight:700;line-height:1.25}
.nationwide-metric small{display:block;margin-top:3px;color:#73737a;font-size:8px;line-height:1.25}
.nationwide-detail-note{margin:9px 1px 0;color:#73737a;font-size:8px;line-height:1.35}
@media(min-width:700px){.nationwide-panel.has-selection{max-height:min(78dvh,760px)}}
.nationwide-events-section{margin-top:13px;padding-top:11px;border-top:1px solid rgba(120,120,128,.16)}
.nationwide-events-section h3{margin:0 0 8px;color:#303036;font-size:12px;font-weight:720}
.nationwide-events{display:grid;gap:7px}
.nationwide-event{min-width:0;padding:10px 11px;border:1px solid rgba(120,120,128,.13);border-radius:14px;background:rgba(255,255,255,.78)}
.nationwide-event-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.nationwide-event-category{color:#6e6e73;font-size:8px;font-weight:760;letter-spacing:.07em}
.nationwide-event-top time{flex:0 0 auto;color:#8e8e93;font-size:9px;font-variant-numeric:tabular-nums}
.nationwide-event-title{display:block;color:#1c1c1e;font-size:11px;line-height:1.3}
.nationwide-event-status{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:7px;background:#e8f8ed;color:#248a3d;font-size:8px;font-weight:750}
.nationwide-event-status.stale{background:#fff1dc;color:#a65c00}
.nationwide-event-body{margin:6px 0 0;color:#55555b;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.nationwide-event-links{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px}
.nationwide-event-link{color:#007aff;font-size:10px;font-weight:680;text-decoration:none}
.nationwide-events-empty{display:block;padding:7px 1px;color:#77777d;font-size:10px;line-height:1.4}
.nationwide-events-retry{margin:5px 0;padding:7px 10px;border:0;border-radius:9px;background:#eaf2ff;color:#007aff;font-size:10px;font-weight:700}

/* Every sheet has a small, touch-safe handle for a deliberate downward dismiss. */
.sheet-grabber{position:relative;display:block;width:100%;height:28px;margin:0 auto 0;border-radius:999px;background:transparent;touch-action:none;cursor:grab}
.sheet-grabber::after{content:"";position:absolute;top:10px;left:50%;width:36px;height:5px;transform:translateX(-50%);border-radius:999px;background:rgba(120,120,128,.42)}
.sheet-grabber:active{cursor:grabbing}
.nationwide-panel .sheet-grabber{width:calc(100% + 30px);height:30px;margin:-15px -15px 4px}
.nationwide-panel .sheet-grabber::after,.dialog .sheet-grabber::after{background:rgba(60,60,67,.28)}
.sheet .sheet-grabber{width:calc(100% + 40px);height:30px;margin:-22px -20px 8px}
.dialog .sheet-grabber{width:calc(100% + 46px);height:32px;margin:-27px -23px 8px}
.credits-panel .sheet-grabber{width:calc(100% + 22px);height:24px;margin:-9px -11px 3px}
.credits-panel .sheet-grabber::after{top:8px}
.swipe-dragging{user-select:none;-webkit-user-select:none;will-change:transform,opacity}
.nationwide-panel,.sheet{overscroll-behavior:contain}
.nationwide-reopen{position:absolute;z-index:9;left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);display:flex;align-items:center;gap:8px;transform:translateX(-50%);padding:12px 18px;border:1px solid rgba(255,255,255,.84);border-radius:999px;background:rgba(248,248,250,.86);color:#007aff;font-size:14px;font-weight:700;box-shadow:0 8px 28px rgba(25,35,50,.2),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(1.45);-webkit-backdrop-filter:blur(24px) saturate(1.45)}
.nationwide-reopen:active{transform:translateX(-50%) scale(.96)}
@media(min-width:700px){.nationwide-reopen{left:auto;right:26px;bottom:24px;transform:none}.nationwide-reopen:active{transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){.nationwide-panel,.sheet,.dialog{animation:none}}
