:root{color-scheme:dark;--crust: #11111b;--mantle: #181825;--base: #1e1e2e;--surface0: #313244;--surface1: #45475a;--surface2: #585b70;--overlay1: #7f849c;--overlay2: #9399b2;--subtext0: #a6adc8;--subtext1: #bac2de;--text: #cdd6f4;--mauve: #cba6f7;--lavender: #b4befe;--blue: #89b4fa;--sky: #89dceb;--teal: #94e2d5;--green: #a6e3a1;--yellow: #f9e2af;--peach: #fab387;--red: #f38ba8;--pink: #f5c2e7;--bg: var(--base);--bg-raised: var(--mantle);--bg-sunken: var(--crust);--ink: var(--text);--ink-soft: var(--subtext0);--ink-faint: var(--overlay1);--rule: var(--surface0);--rule-strong: var(--surface1);--accent: var(--mauve);--accent-ink: var(--mauve);--accent-soft: color-mix(in srgb, var(--mauve) 14%, transparent);--conf-high: var(--green);--conf-medium: var(--yellow);--conf-low: var(--peach);--alert: var(--red);--alert-soft: color-mix(in srgb, var(--red) 12%, transparent);--radius: 4px;--measure: 78ch;--gutter: 20px;--mono: "JetBrains Mono", "Fira Code", "IBM Plex Mono", "Cascadia Code", "SF Mono", Menlo, Consolas, ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.65;font-variant-ligatures:none;-webkit-font-smoothing:antialiased}.num,.figure{font-variant-numeric:tabular-nums}h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em;font-weight:700}h1{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.1rem);color:var(--text)}h2{font-size:1.15rem;margin-top:2.6em;color:var(--lavender)}h3{font-size:1rem;margin-top:1.8em;color:var(--subtext1)}h4{font-size:.95rem}.page h1:before,h2:before{font-weight:400;margin-right:.5em}.page h1:before{content:"❯";color:var(--green)}h2:before{content:"#";color:var(--surface2)}p{margin:0 0 1em}a{color:var(--blue);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--blue) 35%,transparent)}a:hover{color:var(--sky);border-bottom-color:var(--sky)}:focus-visible{outline:2px solid var(--mauve);outline-offset:2px;border-radius:2px}.wrap{width:100%;max-width:960px;margin:0 auto;padding:0 var(--gutter)}.prose{max-width:var(--measure)}.prose li{margin-bottom:.4em}.prose ul{padding-left:1.4em}.prose li::marker{color:var(--surface2)}.site-header{background:var(--mantle);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:10}.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:46px;flex-wrap:wrap;font-size:.86rem}.brand{color:var(--base);background:var(--mauve);padding:3px 10px;border-radius:3px;font-weight:700;text-decoration:none;border:none;white-space:nowrap}.brand:hover{background:var(--lavender);color:var(--base);border:none}.brand span{opacity:.7}.site-nav{display:flex;gap:6px;flex-wrap:wrap}.site-nav a{color:var(--overlay2);text-decoration:none;border:none;padding:3px 9px;border-radius:3px}.site-nav a:before{content:attr(data-index) ":";color:var(--surface2);margin-right:.35em}.site-nav a:hover{color:var(--text);background:var(--surface0);border:none}.site-nav a[aria-current=page]{color:var(--base);background:var(--blue);font-weight:700}.site-nav a[aria-current=page]:before{color:color-mix(in srgb,var(--base) 55%,transparent)}.site-footer{margin-top:64px;background:var(--mantle);border-top:1px solid var(--rule);padding:14px 0;color:var(--ink-faint);font-size:.78rem}.site-footer .wrap{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.site-footer b{color:var(--teal);font-weight:400}.credit{margin-left:auto;white-space:nowrap}.credit a{color:var(--mauve);border-bottom-color:color-mix(in srgb,var(--mauve) 35%,transparent)}.credit a:hover{color:var(--lavender);border-bottom-color:var(--lavender)}.site-footer a{color:var(--overlay2);border:none}.site-footer a:hover{color:var(--sky)}.coffee{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--surface1);border-radius:3px;color:var(--peach);text-decoration:none;white-space:nowrap}.coffee:hover{background:var(--surface0);color:var(--peach);border-color:var(--peach)}.card{position:relative;background:var(--mantle);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:22px 20px 20px}.card[data-label]:before{content:attr(data-label);position:absolute;top:-.72em;left:14px;padding:0 8px;background:var(--mantle);color:var(--mauve);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.grid{display:grid;gap:12px}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.role-card{display:block;text-decoration:none;color:inherit;background:var(--mantle);border:1px solid var(--rule);border-left:3px solid var(--surface2);border-radius:var(--radius);padding:13px 15px;transition:border-color .12s,background .12s}.role-card:hover{border-color:var(--rule-strong);border-left-color:var(--mauve);background:var(--surface0)}.role-card h3{margin:0 0 3px;font-size:.86rem;color:var(--subtext0);font-weight:400}.role-card h3:before{content:none}.role-card .figure{font-size:1.4rem;font-weight:700;color:var(--green);display:block}.role-card small{color:var(--ink-faint);font-size:.76rem}.headline-figure{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:2px 0 6px}.headline-figure .figure{font-size:clamp(2.1rem,1.4rem + 3vw,3.1rem);font-weight:700;color:var(--green);line-height:1.1;letter-spacing:-.02em}.headline-figure .figure:after{content:"█";color:var(--surface2);margin-left:.12em;animation:blink 1.2s steps(1) infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.headline-figure .figure:after{animation:none;opacity:.35}}.headline-figure .unit{color:var(--ink-faint);font-size:.82rem}.spread{margin:20px 0 4px}.spread-track{position:relative;height:14px;background:var(--crust);border:1px solid var(--surface0);border-radius:2px}.spread-fill{position:absolute;inset-block:0;background:color-mix(in srgb,var(--mauve) 22%,transparent);border-left:1px solid var(--surface2);border-right:1px solid var(--surface2)}.spread-needle{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--green);transform:translate(-1px);box-shadow:0 0 6px color-mix(in srgb,var(--green) 60%,transparent)}.spread-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.74rem;color:var(--ink-faint)}.spread-labels b{display:block;color:var(--subtext1);font-weight:700}.table-scroll{overflow-x:auto;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{text-align:left;padding:7px 12px;border-bottom:1px solid var(--rule)}thead th{font-weight:400;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--overlay1);border-bottom:1px solid var(--rule-strong);background:var(--mantle)}td.num,th.num{text-align:right}td strong{color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface0)}.tag{display:inline-flex;align-items:center;font-size:.72rem;padding:1px 8px;border-radius:2px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 10%,transparent);white-space:nowrap}.tag:before{content:"[";opacity:.55;margin-right:1px}.tag:after{content:"]";opacity:.55;margin-left:1px}.tag--high{color:var(--conf-high)}.tag--medium{color:var(--conf-medium)}.tag--low{color:var(--conf-low)}.tag--plain{color:var(--overlay1);background:transparent}.banner{border:1px solid;border-left-width:3px;border-radius:var(--radius);padding:11px 14px;font-size:.82rem;line-height:1.55;margin:0 0 24px}.banner--alert{background:var(--alert-soft);border-color:var(--alert);color:var(--subtext1)}.banner--note{background:var(--mantle);border-color:var(--surface1);border-left-color:var(--yellow);color:var(--ink-soft)}.banner strong{color:var(--text)}.banner p{margin:0 0 .6em}.banner p:last-child{margin-bottom:0}.fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--overlay1)}.field label:before{content:"--";color:var(--surface2);margin-right:.35em}.field select{font:inherit;font-size:.85rem;padding:7px 10px;border-radius:3px;border:1px solid var(--surface1);background:var(--crust);color:var(--text);width:100%}.field select:hover{border-color:var(--mauve)}.breakdown{border:1px solid var(--rule);border-radius:var(--radius);background:var(--crust);margin:20px 0 0}.breakdown>summary{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;padding:9px 14px;cursor:pointer;font-size:.82rem;color:var(--subtext1);list-style:none}.breakdown>summary::-webkit-details-marker{display:none}.breakdown>summary:before{content:"▸";color:var(--mauve);transition:transform .15s;display:inline-block}.breakdown[open]>summary:before{transform:rotate(90deg)}.breakdown>summary:hover{color:var(--text)}.breakdown-hint{color:var(--ink-faint);font-size:.76rem;margin-left:auto}.breakdown-body{padding:12px 14px;border-top:1px solid var(--rule)}.breakdown-body table{font-size:.8rem}.breakdown-body thead th,.breakdown-body tbody tr:hover{background:transparent}.breakdown-body tfoot th,.breakdown-body tfoot td{border-top:1px solid var(--rule-strong);border-bottom:none;padding-top:9px;color:var(--text)}.breakdown-body tfoot th{text-align:left;font-size:.8rem;text-transform:none;letter-spacing:0;font-weight:700}.share{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.share-bar{flex:0 0 56px;height:9px;background:var(--surface0);border-radius:1px;position:relative;overflow:hidden}.share-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--share);background:var(--mauve)}.share-value{min-width:3.6em;text-align:right;color:var(--subtext0)}.factsheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 22px;margin:0}.factsheet div{min-width:0}.factsheet dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--overlay1);margin-bottom:2px}.factsheet dd{margin:0;font-size:.88rem;color:var(--subtext1)}.chip-row{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}.chip{font-size:.78rem;padding:3px 10px;border-radius:3px;border:1px solid var(--surface1);text-decoration:none;color:var(--subtext0);background:var(--mantle)}.chip:hover{border-color:var(--mauve);color:var(--text);background:var(--surface0)}.chip[aria-current=page]{border-color:var(--mauve);color:var(--mauve)}.chip--strong{border-color:var(--green);color:var(--green)}.chip--strong:hover{border-color:var(--green);color:var(--base);background:var(--green)}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:.78rem}.lede{font-size:.95rem;color:var(--ink-soft);max-width:var(--measure)}.crumbs{font-size:.78rem;color:var(--ink-faint);margin:22px 0 8px}.crumbs a{color:var(--overlay2);border:none}.crumbs a:hover{color:var(--sky)}.page{padding-top:30px}.source-item{padding:16px 0;border-bottom:1px solid var(--rule)}.source-item:last-child{border-bottom:none}.source-item h3{margin:0 0 3px;color:var(--text)}.source-item h3:before{content:none}.source-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.76rem;color:var(--ink-faint);margin-bottom:7px}code{background:var(--crust);border:1px solid var(--rule);border-radius:2px;padding:1px 5px;font-size:.88em;color:var(--peach)}@media(max-width:560px){body{font-size:14px}.site-header .wrap{min-height:42px;gap:10px}.site-nav{width:100%;margin-left:0;padding-bottom:6px}}.keyhint{display:inline-flex;align-items:center;gap:4px;color:var(--overlay1)}.keyhint kbd{font:inherit;font-size:.72rem;line-height:1;padding:2px 5px;border:1px solid var(--surface1);border-bottom-width:2px;border-radius:3px;background:var(--crust);color:var(--subtext0)}.keyhint kbd+kbd{margin-left:-2px}@media(max-width:720px){.keyhint{display:none}}.cmdk-trigger{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.8rem;padding:3px 9px;border:1px solid var(--surface1);border-radius:3px;background:var(--crust);color:var(--overlay2);cursor:pointer}.cmdk-trigger{margin-left:auto}.cmdk-trigger:hover{border-color:var(--mauve);color:var(--text)}.cmdk-trigger kbd{font:inherit;font-size:.68rem;padding:1px 4px;border:1px solid var(--surface1);border-radius:2px;background:var(--mantle);color:var(--overlay1)}.cmdk[hidden]{display:none}.cmdk{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:clamp(40px,12vh,140px) var(--gutter) var(--gutter)}.cmdk-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--crust) 82%,transparent);backdrop-filter:blur(2px)}.cmdk-panel{position:relative;width:100%;max-width:620px;max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--mantle);border:1px solid var(--surface2);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--rule)}.cmdk-prompt{color:var(--green)}.cmdk-input input{flex:1;min-width:0;font:inherit;font-size:.95rem;background:transparent;border:none;color:var(--text);padding:0}.cmdk-input input:focus{outline:none}.cmdk-input input::placeholder{color:var(--overlay1)}.cmdk-esc{font:inherit;font-size:.68rem;padding:2px 6px;border:1px solid var(--surface1);border-radius:2px;color:var(--overlay1)}.cmdk-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.cmdk-list li{display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:3px;cursor:pointer;font-size:.85rem}.cmdk-list li.is-active{background:var(--surface0)}.cmdk-list li.is-active .cmdk-kind{color:var(--mauve);border-color:var(--mauve)}.cmdk-kind{flex:0 0 auto;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--overlay1);border:1px solid var(--surface1);border-radius:2px;padding:1px 5px;min-width:5.2em;text-align:center}.cmdk-title{flex:1;min-width:0;color:var(--text)}.cmdk-sub{color:var(--ink-faint);font-size:.78rem}.cmdk-value{flex:0 0 auto;color:var(--green);font-weight:700}.cmdk-empty{padding:18px 12px;color:var(--ink-faint);font-size:.84rem;cursor:default}.cmdk-foot{display:flex;gap:14px;align-items:center;padding:8px 14px;border-top:1px solid var(--rule);background:var(--crust);color:var(--ink-faint);font-size:.72rem}.cmdk-foot kbd{font:inherit;font-size:.68rem;padding:1px 5px;border:1px solid var(--surface1);border-radius:2px;margin-right:3px;color:var(--overlay1)}.cmdk-count{margin-left:auto}@media(max-width:720px){.cmdk-trigger-label,.cmdk-trigger kbd{display:none}.cmdk-foot span:not(.cmdk-count){display:none}}@media(max-width:560px){.cmdk-kind{display:none}.site-nav{order:1}.cmdk-trigger{margin-left:auto;padding:4px 8px}.site-header .wrap{row-gap:0}}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 10px}.filters .chip{font:inherit;cursor:pointer}.filters .chip[aria-pressed=true]{border-color:var(--mauve);color:var(--mauve);background:var(--accent-soft);font-weight:700}.source-item[hidden]{display:none}:root{--zone-france: #398ad6;--zone-paris: #b27a00;--zone-province: #bc61a0}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 18px;font-size:.78rem;color:var(--ink-soft)}.chart-legend span[role=listitem]{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.history-grid{display:grid;gap:18px 26px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.history-panel{margin:0;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--mantle)}.history-panel figcaption{font-size:.82rem;font-weight:700;color:var(--subtext1);margin-bottom:9px}.history-panel figcaption .faint{font-weight:400}.echart{width:100%;height:200px}.history-panel .echart:empty{min-height:200px}.has-tip{cursor:help}.has-tip:focus-visible{outline:2px solid var(--mauve);outline-offset:2px}.tip{position:fixed;z-index:120;max-width:34ch;padding:9px 12px;border:1px solid var(--surface2);border-radius:var(--radius);background:var(--crust);color:var(--subtext1);font-size:.76rem;line-height:1.5;box-shadow:0 8px 24px #00000080;pointer-events:none}.tip[hidden]{display:none}.support{margin:40px 0 0}.support p{font-size:.88rem;max-width:var(--measure)}.support p:last-of-type{margin-bottom:16px}.coffee--lg{font-size:.9rem;padding:7px 16px;border-color:var(--peach)}.coffee--lg:hover{background:var(--peach);color:var(--base);border-color:var(--peach)}body:has(.support) .site-footer .coffee{display:none}.rawlabel{display:block;font-size:.74rem;color:var(--peach)}.rawlabel:before{content:"↳ ";color:var(--surface2)}
