:root{--bg: #f6f5f1;--surface: #ffffff;--text: #1c2321;--muted: #5d6763;--border: #e3e1da;--control-border: #8c897f;--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;--control-border: #6b7a74;--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);white-space:nowrap}.topbar-tools{display:flex;align-items:center;gap:12px}.lang-menu{position:relative;font-size:.85rem}.lang-menu summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 9px;border-radius:8px;border:1px solid var(--control-border);background:var(--surface);color:var(--text);font-weight:600}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu summary:after{content:"";width:6px;height:6px;margin-inline-start:2px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}.lang-menu[open] summary:after{transform:translateY(1px) rotate(225deg)}.lang-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-menu ul{position:absolute;inset-inline-end:0;top:calc(100% + 4px);z-index:20;margin:0;padding:4px;list-style:none;min-width:9rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000001f}.lang-menu li a,.lang-menu li span{display:block;padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--text)}.lang-menu li span{background:var(--accent-soft);font-weight:600}.lang-menu li a:hover,.lang-menu li a:focus-visible{background:var(--bg)}.city-select select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--control-border);background:var(--surface);color:var(--text)}.city-select select:hover,.lang-menu summary:hover,.lang-menu[open] summary{border-color:var(--accent)}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-inline-end: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:end}.ranking .hood-name{font-weight:600;text-decoration:none}.ranking .hood-name:hover{text-decoration:underline}.ranking .price{font-weight:600;text-align:end}.ranking .count{color:var(--muted);font-size:.85rem;text-align:end}.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-inline-start:-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:end;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:end;color:var(--accent)}.service-count.zero{color:var(--muted)}.back{margin:20px 0}.compare-pick label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.compare-pick-label{font-weight:600}.compare-pick p{margin:6px 0 0}.compare-pick select,.compare-swap select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--control-border);background:var(--surface);color:var(--text);max-width:100%}.compare-pick select:hover,.compare-swap select:hover{border-color:var(--accent)}.compare-heads{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.compare-head{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}.compare-name{font-size:1.15rem;font-weight:700;text-decoration:none}.compare-name:hover{text-decoration:underline}.compare-price{font-size:1.35rem;font-weight:700}.compare-swap{display:flex;flex-direction:column;gap:2px;margin-top:auto}.compare-verdict{background:var(--accent-soft);padding:12px 14px;border-radius:10px;font-weight:600}.compare-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:8px}.compare-table th,.compare-table td{padding:8px 6px;border-top:1px solid var(--border);text-align:start;vertical-align:top;overflow-wrap:break-word}.compare-table thead th{border-top:0;font-size:.85rem;color:var(--muted)}.compare-table thead th:first-child{width:34%}.compare-table tbody th{font-weight:400;color:var(--muted)}.compare-table td{font-weight:600}.compare-table td.best{color:var(--ok)}.compare-table td.best .compare-main:after{content:" ✓"}.compare-table .compare-group th{padding-top:14px;font-weight:600;color:var(--text);font-size:.9rem}.compare-main,.compare-sub{display:block}.compare-sub{font-weight:400}.compare-back{display:flex;flex-wrap:wrap;gap:8px 24px}.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: 420px){.brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}[dir=rtl] body{font-family:Segoe UI,Tahoma,Noto Sans Arabic,Geeza Pro,system-ui,sans-serif;line-height:1.7}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{line-height:1.4}[dir=rtl] .kpi-label{text-transform:none;letter-spacing:0}[dir=rtl] .breadcrumb li+li:before{content:"‹"}[dir=rtl] .access li.near{box-shadow:inset -3px 0 0 var(--accent)}@media (max-width: 760px){.topbar-inner{gap:8px}.brand{font-size:.95rem}.topbar-tools{gap:6px}.city-select select{padding:6px;max-width:9.5rem}.lang-menu summary{padding:6px 7px}.grid-2{grid-template-columns:1fr}.compare-heads{gap:8px}.compare-head{padding:12px}.compare-price{font-size:1.05rem}.compare-table{font-size:.9rem}.compare-table thead th:first-child{width:30%}.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:start}.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}}
