:root{--bg: #f6f5f1;--surface: #ffffff;--text: #1c2321;--muted: #5d6763;--border: #e3e1da;--accent: #0f5c4d;--accent-soft: #d8ebe5;--range: #b9dcd1;--ok: #1d7a4f;--ok-bg: #ddf2e6;--warn: #8a5a00;--warn-bg: #fbedcc;--off: #6b6b6b;--off-bg: #ececec;--up: #a33b20;--down: #1d7a4f;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #121615;--surface: #1b211f;--text: #e8ece9;--muted: #9aa5a0;--border: #2c3532;--accent: #5cc4a7;--accent-soft: #1f3a33;--range: #2b5a4d;--ok: #7fd6a6;--ok-bg: #173527;--warn: #f0c46b;--warn-bg: #3b2f14;--off: #a8a8a8;--off-bg: #2a2d2c;--up: #f0937a;--down: #7fd6a6;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums}a{color:var(--accent)}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:clamp(1.6rem,4vw,2.3rem)}h2{font-size:1.2rem}h3{font-size:.95rem;color:var(--muted);font-weight:600;margin-top:.5rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.wrap{max-width:1080px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--text)}.city-select select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}main{padding-bottom:32px}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:16px 0 0;font-size:.85rem;color:var(--muted)}.breadcrumb li+li:before{content:"›";margin-right:6px}.hero{padding:20px 0 12px}.lead{font-size:1.05rem;color:var(--muted);max-width:70ch;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;margin:14px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-2>.card{margin:0}.grid-2{margin:14px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:12px 0}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.card .kpi{background:var(--bg);border:0}.kpi-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kpi-value{font-size:1.35rem;font-weight:700;margin:2px 0}.kpi-sub{font-size:.85rem;color:var(--muted)}.kpi-sub.up{color:var(--up)}.kpi-sub.down{color:var(--down)}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.badge-fiable{background:var(--ok-bg);color:var(--ok)}.badge-indicatif{background:var(--warn-bg);color:var(--warn)}.badge-insuffisant{background:var(--off-bg);color:var(--off)}.segmented{display:flex;flex-wrap:wrap;gap:4px}.segmented button{font:inherit;font-size:.85rem;padding:4px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text)}.segmented button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--surface)}.ranking{list-style:none;padding:0;margin:8px 0 0}.ranking li{display:grid;grid-template-columns:2rem minmax(9rem,1.2fr) 2fr 9.5rem 6.5rem 6.5rem;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--border)}.ranking .rank{color:var(--muted);font-size:.85rem;text-align:right}.ranking .hood-name{font-weight:600;text-decoration:none}.ranking .hood-name:hover{text-decoration:underline}.ranking .price{font-weight:600;text-align:right}.ranking .count{color:var(--muted);font-size:.85rem;text-align:right}.ranking .unpriced .price,.ranking .unpriced .hood-name{color:var(--muted);font-weight:400}.bar{position:relative;height:10px;background:var(--bg);border-radius:5px}.bar-range{position:absolute;top:0;bottom:0;background:var(--range);border-radius:5px}.bar-median{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1px;background:var(--accent);border-radius:2px}.mini-list,.neighbors{list-style:none;padding:0;margin:8px 0 0}.mini-list li,.neighbors li{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:6px 0;border-top:1px solid var(--border);align-items:baseline}.mini-list .count{color:var(--muted);font-size:.85rem}.mini-list .price,.neighbors .price{font-weight:600;text-align:right;min-width:9rem}.city-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.city-card{display:block;text-decoration:none;color:var(--text);margin:0}.city-card .big{font-size:1.5rem;font-weight:700;margin:4px 0}.city-card .cta{color:var(--accent);font-weight:600}.city-card.soon{opacity:.6}a.city-card:hover{border-color:var(--accent)}.notice{background:var(--off-bg);padding:12px 14px;border-radius:10px}.access{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.access li{display:grid;grid-template-columns:6rem 1fr;column-gap:12px;padding:10px 12px;background:var(--bg);border-radius:10px}.access li.near{box-shadow:inset 3px 0 0 var(--accent)}.access-label{font-weight:600;grid-row:span 2}.access-walk{font-weight:600}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 24px}.services ul{list-style:none;padding:0;margin:0}.services li{display:grid;grid-template-columns:2.4rem 1fr auto;gap:8px;padding:5px 0;align-items:baseline;border-top:1px solid var(--border)}.service-count{font-weight:700;text-align:right;color:var(--accent)}.service-count.zero{color:var(--muted)}.back{margin:20px 0}.footer{border-top:1px solid var(--border);background:var(--surface);font-size:.85rem;color:var(--muted);padding:16px 0 28px}.footer-cities{display:flex;gap:16px;flex-wrap:wrap}@media (max-width: 760px){.grid-2{grid-template-columns:1fr}.ranking li{grid-template-columns:1.6rem 1fr auto;row-gap:4px}.ranking .bar{grid-column:2 / 4;grid-row:2}.ranking .count{grid-column:2;grid-row:3;text-align:left}.ranking .badge{grid-column:3;grid-row:3;justify-self:end}.mini-list .price,.neighbors .price{min-width:0}.mini-list li{grid-template-columns:1fr auto}.mini-list .count{grid-column:1;grid-row:2}.mini-list .price{grid-column:2;grid-row:1 / 3}}
