:root{--creme: #fffcf4;--charbon: #212320;--rouge: #d1271c;--violet: #4c0297;--t-violet: #7b13d6;--t-rouge: #f91616;--t-bleu: #3885f4;--t-rose: #ed5fb1;--t-jaune: #f9c900;--t-vert: #2e9959;--bg: var(--creme);--ink: var(--charbon);--ink-soft: #4a4c48;--surface: #ffffff;--surface-edge: #e4e1d8;--accent: var(--rouge);--accent-ink: #ffffff;--link: var(--violet);--focus: var(--violet);--font-sans: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-stat: 2.25rem;--fs-display: 1.5rem;--fs-cue: 1.3125rem;--fs-body: 1.0625rem;--fs-small: .875rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-6: 1.5rem;--tap: 3rem;--tap-panic: 3.5rem;--radius: .5rem;--content-max: 42rem;--bottom-stack: calc(var(--tap-panic) + var(--tap) + env(safe-area-inset-bottom, 0px))}[data-theme=dark]{--bg: var(--charbon);--ink: var(--creme);--ink-soft: #b9bbb4;--surface: #2c2e2b;--surface-edge: #45473f;--accent: #e8645a;--accent-ink: var(--charbon);--link: #b98af0;--focus: #b98af0}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased}html,body{overscroll-behavior-y:contain}a{color:var(--link)}button{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{-webkit-user-select:none;user-select:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);padding-top:calc(var(--sp-2) + env(safe-area-inset-top,0px));padding-left:max(var(--sp-4),env(safe-area-inset-left,0px));padding-right:max(var(--sp-4),env(safe-area-inset-right,0px));border-bottom:1px solid var(--surface-edge);background:var(--bg)}.top-bar__brand{font-weight:900;font-size:var(--fs-body);text-decoration:none;color:var(--ink);letter-spacing:.02em;text-transform:uppercase}.top-bar__brand{flex-shrink:0}.top-bar__zone{margin-left:auto;font-size:var(--fs-small);color:var(--ink-soft);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar__offline{font-size:var(--fs-small);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--bg);background:var(--ink);border-radius:999px;padding:2px var(--sp-3);white-space:nowrap}.install-hint{display:grid;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px dashed var(--surface-edge);border-radius:var(--radius);background:var(--surface)}.install-hint__text{margin:0;font-size:var(--fs-small)}.install-hint__actions{display:flex;gap:var(--sp-2)}.install-hint__install{min-height:var(--tap);padding:0 var(--sp-4);border:none;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:700;cursor:pointer}.install-hint__close{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--surface-edge);border-radius:var(--radius);background:none;color:var(--ink-soft);cursor:pointer}.main{max-width:var(--content-max);margin:0 auto;padding:var(--sp-4);padding-left:max(var(--sp-4),env(safe-area-inset-left,0px));padding-right:max(var(--sp-4),env(safe-area-inset-right,0px));padding-bottom:calc(var(--bottom-stack) + var(--sp-6))}.screen-title{font-size:var(--fs-display);font-weight:900;margin:var(--sp-3) 0}.screen-message{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--ink-soft)}.retry-btn{min-height:var(--tap);padding:0 var(--sp-6);border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--accent);font-weight:700;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.accueil__title{font-size:var(--fs-display);font-weight:900;margin:var(--sp-2) 0}.accueil__tagline{color:var(--ink-soft);margin:0 0 var(--sp-4)}.accueil__question{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em;margin:var(--sp-4) 0 var(--sp-2)}.zone-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}.zone-card{display:grid;gap:var(--sp-1);width:100%;min-height:var(--tap);padding:var(--sp-4);border:1px solid var(--surface-edge);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.zone-card__name{font-size:var(--fs-cue);font-weight:900}.zone-card__region{color:var(--ink-soft);font-size:var(--fs-small)}.zone-card__stats{font-size:var(--fs-small)}.zone-card--resume{border-left-color:var(--violet);margin-bottom:var(--sp-2)}.zone-card__resume-label{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.accueil__trust{margin-top:var(--sp-6);font-size:var(--fs-small);color:var(--ink-soft)}.ctx{display:block;padding:var(--sp-3) var(--sp-4);border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:var(--ink);margin-bottom:var(--sp-3)}.ctx__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.ctx .stat-tile{min-width:0}.ctx .stat-tile__value{font-size:clamp(1.5rem,6.8vw,2.25rem)}.ctx .stat-tile__label{font-size:.75rem}.ctx__caption{margin:var(--sp-2) 0 0;font-size:var(--fs-small);color:var(--ink-soft)}.stat-tile{display:grid;gap:2px;text-align:center}.stat-tile__value{font-size:var(--fs-stat);font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}.stat-tile__label{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}.chip-rail{display:flex;gap:var(--sp-2);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--sp-2);margin-bottom:var(--sp-3);align-items:center}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:2px solid var(--surface-edge);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:700;white-space:nowrap;scroll-snap-align:start;cursor:pointer}.chip--active{border-color:var(--theme-color, var(--accent));background:color-mix(in srgb,var(--theme-color, var(--accent)) 14%,var(--surface))}.chip-rail__mode{margin-left:auto}.mode-toggle{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--surface-edge);border-radius:var(--radius);background:none;color:var(--ink-soft);font-size:var(--fs-small);white-space:nowrap;cursor:pointer}.fiche{border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface);padding:var(--sp-4)}.fiche__title{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--sp-3)}.fiche__icon{display:inline-flex}.fiche__accroche{border-left:4px solid var(--accent);padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4);font-size:1.125rem;line-height:1.45;font-weight:600}.fiche__args{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.arg{border-top:1px solid var(--surface-edge)}.arg__cue{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) 0;cursor:pointer;list-style:none}.arg__cue::-webkit-details-marker{display:none}.arg__cue:after{content:"▾";margin-left:auto;color:var(--ink-soft);transition:transform .15s}.arg[open]>.arg__cue:after{transform:rotate(180deg)}.arg__num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:color-mix(in srgb,var(--theme-color, var(--accent)) 18%,var(--surface));color:var(--ink);font-weight:900;font-size:var(--fs-small)}.arg__cue-text{font-size:var(--fs-cue);font-weight:700;text-transform:uppercase;line-height:1.2}.arg__body{margin:var(--sp-2) 0;padding-left:calc(1.75rem + var(--sp-3))}.arg__source{display:inline-flex;align-items:center;min-height:2.75rem;margin-left:calc(1.75rem + var(--sp-3));margin-bottom:var(--sp-2);padding:0 var(--sp-3);border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--bg);color:var(--ink-soft);font-size:var(--fs-small);text-decoration:none}.fiches-screen__provenance{margin-top:var(--sp-4);font-size:var(--fs-small);color:var(--ink-soft)}.panic-bar{position:fixed;left:0;right:0;bottom:calc(var(--tap) + env(safe-area-inset-bottom,0px));z-index:30;min-height:var(--tap-panic);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);border:none;background:var(--accent);color:var(--accent-ink);font-size:var(--fs-cue);font-weight:900;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.panic-bar:active{background:color-mix(in srgb,var(--accent) 82%,var(--charbon))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);min-height:calc(var(--tap) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--bg);border-top:1px solid var(--surface-edge)}.bottom-nav__item{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink-soft);font-weight:700;font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.03em}.bottom-nav__item--active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.bottom-nav__item:active{background:color-mix(in srgb,var(--ink) 8%,transparent)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;display:flex;align-items:flex-end;animation:backdrop-in .2s ease-out}.sheet-backdrop--closing{background:transparent;transition:background .18s ease-in}@keyframes backdrop-in{0%{background:transparent}}.sheet{width:100%;max-width:var(--content-max);margin:0 auto;max-height:82vh;max-height:82dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;padding:var(--sp-2) var(--sp-4) var(--sp-4);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet__grip{touch-action:none;cursor:grab}.sheet__handle{width:2.5rem;height:.25rem;margin:var(--sp-1) auto var(--sp-2);border-radius:999px;background:var(--surface-edge)}.sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.sheet__title{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em;margin:0}.sheet__close{min-width:var(--tap);min-height:var(--tap);border:none;background:none;color:var(--ink);font-size:1.25rem;cursor:pointer}.sheet__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.objection{width:100%;min-height:var(--tap-panic);padding:var(--sp-2) var(--sp-4);border:2px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--fs-body);font-weight:700;text-align:left;cursor:pointer}.objection--open{border-color:var(--accent)}.objection__answer{padding:var(--sp-3) var(--sp-4)}.objection__answer p{margin:0 0 var(--sp-2)}.objection__stat{font-weight:700;border-left:4px solid var(--accent);padding-left:var(--sp-3)}.objection__origin{font-size:var(--fs-small);color:var(--ink-soft)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4) var(--sp-2);padding:var(--sp-4);border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface)}.stat-grid .stat-tile{min-width:0}.stat-grid .stat-tile__value{font-size:clamp(1.375rem,6vw,2.25rem)}.profil-screen__caption{font-size:var(--fs-small);color:var(--ink-soft)}.profil-screen__priorities h2{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em}.profil-screen__priorities ol{font-weight:700;font-size:var(--fs-cue)}.map{margin:var(--sp-4) 0;padding:var(--sp-3);border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface)}.map__metrics{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-2)}.map__metric{min-height:2.75rem;padding:0 var(--sp-3);border:1px solid var(--surface-edge);border-radius:999px;background:none;color:var(--ink-soft);font-size:var(--fs-small);white-space:nowrap;cursor:pointer}.map__metric--active{border-color:var(--ink);color:var(--ink);font-weight:700}.map__viewport{position:relative}.map__svg{width:100%;height:auto;display:block;background:var(--creme);border-radius:calc(var(--radius) - 2px)}.map__bv{stroke:#8a8c85;stroke-width:.6;vector-effect:non-scaling-stroke;cursor:pointer}@media(hover:hover){.map__bv:hover{stroke:var(--ink);stroke-width:1.6}}.map__bv:focus-visible{stroke:var(--ink);stroke-width:1.6}.map__bv--selected{stroke:var(--accent);stroke-width:2}.map__label{font-size:calc(8px / var(--map-scale, 1));fill:var(--charbon);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fffcf4bf;stroke-width:calc(2px / var(--map-scale, 1))}.map__controls{position:absolute;top:var(--sp-2);right:var(--sp-2);display:grid;gap:var(--sp-1)}.map__ctrl{width:2.75rem;height:2.75rem;border:1px solid var(--surface-edge);border-radius:var(--radius);background:#fffcf4e0;color:var(--charbon);font-size:1.25rem;font-weight:700;line-height:1;cursor:pointer}.map__ctrl:disabled{opacity:.4;cursor:default}.map__legend{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;font-size:var(--fs-small);color:var(--ink-soft)}.map__legend-ramp{flex:1;height:10px;border-radius:5px;border:1px solid var(--surface-edge)}.map__legend-label{font-weight:700}.map__hint{margin:var(--sp-2) 0 0;font-size:var(--fs-small);color:var(--ink-soft)}.locate{margin-bottom:var(--sp-4)}.locate__btn{min-height:var(--tap);padding:0 var(--sp-4);border:2px solid var(--violet);border-radius:var(--radius);background:var(--surface);color:var(--link);font-weight:700;cursor:pointer}.locate__btn:disabled{opacity:.6}.locate__message{margin:var(--sp-2) 0 0;font-weight:700}.locate__privacy{margin:var(--sp-1) 0 0;font-size:var(--fs-small);color:var(--ink-soft)}.bv-stats{margin:0;display:grid;gap:var(--sp-1)}.bv-stats__row{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) 0;border-bottom:1px solid var(--surface-edge)}.bv-stats__row dt{color:var(--ink-soft)}.bv-stats__row dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.bv-priorities{font-size:var(--fs-small)}.bv-cta{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none}.apropos section{margin-bottom:var(--sp-4)}.apropos h2{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em}.apropos__version{font-size:var(--fs-small);color:var(--ink-soft)}.theme-toggle{min-width:2.75rem;min-height:2.75rem;border:1px solid var(--surface-edge);border-radius:50%;background:none;color:var(--ink);font-size:1rem;cursor:pointer}.zone-switcher{display:none;min-height:2.75rem;border:1px solid var(--surface-edge);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;padding:0 var(--sp-2)}.fiches-screen__canvass{font-size:var(--fs-small)}.bv-list{display:none}.bv-list__title{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em}.bv-list__table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.bv-list__table th,.bv-list__table td{text-align:left;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--surface-edge);font-variant-numeric:tabular-nums}.bv-list__open{border:none;background:none;color:var(--link);font-weight:700;cursor:pointer;padding:0}.zone-card:active,.chip:active,.mode-toggle:active,.objection:active,.retry-btn:active,.install-hint__install:active,.install-hint__close:active,.locate__btn:active,.bv-cta:active,.map__metric:active,.map__ctrl:active:not(:disabled),.theme-toggle:active,.sheet__close:active{transform:scale(.97)}.arg__cue:active,.arg__source:active{background:color-mix(in srgb,var(--ink) 6%,transparent)}@media(min-width:64rem){.main{max-width:72rem;padding-top:var(--sp-6)}.zone-switcher{display:block;margin-left:auto}.top-bar__zone{display:none}.zone-switcher+.top-bar__zone+.theme-toggle,.theme-toggle{margin-left:var(--sp-2)}.zone-list{grid-template-columns:repeat(3,1fr)}.accueil,.apropos{max-width:var(--content-max);margin:0 auto}.fiches-screen{display:grid;grid-template-columns:20rem 1fr;grid-template-areas:"ctx fiche" "rail fiche" "meta fiche" "canvass fiche";gap:0 var(--sp-6);align-items:start}.fiches-screen>.ctx{grid-area:ctx}.fiches-screen>.ctx .stat-tile__value{font-size:1.375rem}.fiches-screen>.ctx .stat-tile__label{font-size:.6875rem}.fiches-screen>.chip-rail{grid-area:rail;flex-direction:column;align-items:stretch;overflow-x:visible}.fiches-screen>.chip-rail .chip{justify-content:flex-start}.fiches-screen>.chip-rail .chip-rail__mode{margin-left:0}.fiches-screen>.fiche{grid-area:fiche}.fiches-screen>.fiches-screen__provenance{grid-area:meta}.fiches-screen>.fiches-screen__canvass{grid-area:canvass}.profil-screen{display:grid;grid-template-columns:minmax(24rem,1fr) 1.2fr;grid-template-areas:"ctx ctx" "title title" "stats map" "caption map" "locate bvlist" "priorities bvlist";gap:0 var(--sp-6);align-items:start}.profil-screen>.ctx{grid-area:ctx}.profil-screen>.screen-title{grid-area:title}.profil-screen>.stat-grid{grid-area:stats;grid-template-columns:repeat(2,1fr)}.profil-screen>.stat-grid .stat-tile__value{font-size:1.625rem}.profil-screen>.profil-screen__caption{grid-area:caption}.profil-screen>.map,.profil-screen>.screen-message{grid-area:map;margin-top:0}.profil-screen>.locate{grid-area:locate}.profil-screen>.profil-screen__priorities{grid-area:priorities;margin-top:var(--sp-6)}.bv-list{display:block;grid-area:bvlist;max-height:24rem;overflow-y:auto}}@media print{.top-bar,.bottom-nav,.panic-bar,.chip-rail,.install-hint,.theme-toggle,.zone-switcher,.map__metrics,.locate,.bv-list{display:none!important}body{background:#fff;color:#000}.main{padding:0;max-width:none}.fiche,.ctx,.stat-grid{border:1px solid #999;break-inside:avoid}.arg__source:after{content:" — " attr(href);font-size:10px;color:#333}}
