:root {
  --glass-tint:rgba(20,20,20,.34);
  --glass-text:#f5f7fa;
  --glass-muted:#c1cad5;
  --glass-edge:#ffffff40;
  --glass-surface:var(--glass-tint);
  --glass-shadow:inset 0 1px 1px #ffffff55,inset 0 -1px 1px #ffffff20,0 12px 36px #0005;
  --craft-ease:cubic-bezier(.16,1,.3,1);
  --texte:var(--glass-text);
}
body {background:#050707}
html:lang(zh-Hant) {--police:'PingFang TC','Microsoft JhengHei','Noto Sans CJK TC',sans-serif;--herbik:'Songti TC','Noto Serif CJK TC',serif;--mono:'PingFang TC','Microsoft JhengHei',sans-serif}
#earth-shell:lang(zh-Hant) h1,#earth-shell:lang(zh-Hant) .signature {font-family:'Songti TC','Noto Serif CJK TC',serif}
::selection {background:#c9cbce45;color:#fff}
#titre h1 {font-weight:400;letter-spacing:-.055em}
#titre #wordmark{font-family:"TWK Lausanne",sans-serif;font-weight:300;font-size:26px;white-space:nowrap}
#v-wordmark{font-family:"TWK Lausanne",sans-serif;font-weight:300;font-size:clamp(28px,7vw,110px)}
#wordmark strong,#v-wordmark strong{font-weight:600}
#wordmark .brand-lockup,#v-wordmark .brand-lockup{display:inline-flex;align-items:baseline;gap:.18em;letter-spacing:0}
.brand-name{letter-spacing:-.04em}
.brand-year{letter-spacing:-.035em}
.brand-lockup em{font-style:normal;font-weight:300}
.creator-credit{display:grid;align-self:stretch;text-align:left}
.creator-credit p{margin:0;border-top:1px solid var(--filet);color:var(--texte)}
.creator-credit :is(p,a){display:flex;align-items:center;gap:.3em}
.creator-credit a{text-decoration:none}
@media(max-width:720px){#titre #wordmark{font-size:clamp(15px,4.6vw,22px)}}
#titre h1 em {color:var(--bleu)}
:is(#map-inspector,#dossier,#city-comparison,.pedago-carte,.language-content) {border-radius:28px}
:is(#map-inspector,#dossier,#city-comparison,#menu-reglages,#resultats,.pedago-carte,.language-content,#calque-bulle,#survol,#accroche) {backdrop-filter:blur(8px) saturate(1.5);-webkit-backdrop-filter:blur(8px) saturate(1.5)}
:is(button,summary,label,a) {-webkit-tap-highlight-color:transparent}
:is(#map-inspector,#dossier,#city-comparison,#menu-reglages,.pedago-carte,.language-content) :is(button,summary,input,a):focus-visible {outline:2px solid #d1d3d6;outline-offset:4px}

#language-dialog {background:#050606}
.language-content {animation:none}
.language-content.language-entering {overflow:visible}
.language-content {--police:"TWK Lausanne",-apple-system,sans-serif;position:relative;isolation:isolate;width:min(420px,100%);padding:32px;overflow:hidden;text-align:left}
.language-content::before {content:'';position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:220px;background:radial-gradient(ellipse at 0% 5%,#98caff38,transparent 55%),radial-gradient(ellipse at 100% 0%,#d3b4ff26,transparent 55%);filter:blur(28px);animation:glass-drift 12s ease-in-out infinite alternate}
.language-globe {display:block;width:62px;height:62px;margin:0 0 28px;opacity:1;filter:drop-shadow(0 0 18px #c6c8cb25)}
#language-title {font:300 38px/1.08 var(--police);letter-spacing:-.055em;margin-bottom:28px;max-width:300px}
#language-options {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#language-options label {padding:0 14px;border-radius:12px;color:var(--glass-muted);animation:none;transition:background .3s,border-color .3s,color .3s}
#language-options span {font-size:15px}
#language-continue {width:100%;justify-content:space-between;border-top:1px solid #ffffff16;padding-top:16px;margin-top:20px;color:#f0f1e9;font-size:14px}
#language-continue svg {background:linear-gradient(145deg,#dfe1e426,#c8cacd0a);border-color:#cdcfd24d;box-shadow:inset 0 1px #fff3}
#earth-shell #future,#explore-city .city-search-label {position:relative;min-height:48px;display:inline-flex;align-items:center;gap:24px;font:400 14px var(--police);padding:10px 0;background:none;border:0;border-radius:0;box-shadow:none}
#earth-shell #future::after,#explore-city .city-search-label::after {content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor}

#map-inspector {padding:12px;width:268px}
#map-inspector #calques {gap:4px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
body.dossier-ouvert #map-inspector * {visibility:hidden}
#map-inspector #calques .calque {border-radius:13px;padding:11px 12px;color:#b9bdb6;transition:background .3s,border-color .3s,color .3s}
#map-inspector #calques .calque.actif {background:radial-gradient(ellipse at 0% 100%,#cdcfd21f,transparent 80%),linear-gradient(130deg,#ffffff10,#ffffff03);border-color:#d8dadd38;box-shadow:inset 0 1px #fff2;color:#f2f3ea}
#map-inspector .calque .nom {font-size:12px;line-height:1.5}
#map-inspector .calque .pastille {width:8px;height:8px;flex:none}
#map-reading {padding:4px;border-radius:13px;background:#0004;border-color:#ffffff0d}
#map-reading button {border-radius:9px;transition:background .25s,box-shadow .25s}
#map-reading button[aria-pressed=true] {background:linear-gradient(145deg,#d5d7da23,#ffffff09);box-shadow:inset 0 1px #fff2,0 2px 8px #0004;color:#eceef1}
#map-inspector .map-scale i {height:4px;border-radius:4px;box-shadow:0 1px 0 #fff2}
#map-inspector .map-scale strong {font-weight:400}
#map-inspector #model-notice {border-top-color:#ffffff12}
#map-inspector #map-method summary {color:#c7cdc0}

#champ-recherche {border:1px solid #ffffff23;border-radius:16px;padding:12px 38px 12px 14px;background:linear-gradient(135deg,#ffffff0a,#ffffff02),#0c110fe6;box-shadow:inset 0 1px #e1e3e620;caret-color:#d2d4d7;transition:border-color .25s,box-shadow .25s}
#champ-recherche:focus {border-color:#d2d4d760;box-shadow:inset 0 1px #e1e3e630,0 0 0 4px #ced0d30b}
#caret-dos {display:none}
#resultats li {border:0;border-radius:12px;transition:background .2s}
#resultats li:is(.choisi,:hover) {background:linear-gradient(110deg,#ccced11c,#ffffff07)}
#resultats li .type-lieu {color:#b4b6b9;letter-spacing:.035em;font-size:10px}
#bouton-reglages {width:44px;height:44px;border:1px solid #ffffff26;border-radius:50%;background:linear-gradient(140deg,#ffffff10,#ffffff02),#101512d9;box-shadow:inset 0 1px #fff2}
#menu-reglages .bouton-ico {border-radius:12px;font-weight:400}
#menu-reglages .bouton-ico:hover {background:#ccced115}

body:not(.dossier-ouvert) #timeline .an {font-weight:300;letter-spacing:-.07em;text-shadow:0 0 32px #d0d2d527}
#timeline .regle i {transition:background .25s,box-shadow .25s}
#dossier {--fiche-ligne:#ffffff17;--fiche-secondaire:#b9bdb6}
#dossier .fiche-entete {padding-top:22px;padding-bottom:14px}
#dossier-nom {font-weight:300;font-size:36px;letter-spacing:-.055em}
#dossier-scope {letter-spacing:.02em;text-transform:none;color:#babcbf}
#dossier .score .valeur {font-size:60px;font-weight:300;letter-spacing:-.07em}
#dossier .conseil {color:var(--glass-muted)}
#dossier .fiche-corps {padding-top:18px}
#dossier .fiche-section-titre h3,#dossier .risque .nom-crit {font-family:var(--police);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}
#dossier .risque {border-radius:18px;padding:0 14px;border-color:#ffffff1c;background:radial-gradient(ellipse at 0% 0%,#c3c5c812,transparent 70%),linear-gradient(145deg,#ffffff08,#ffffff02);box-shadow:inset 0 1px #ffffff14;transition:border-color .3s,background .3s}
#dossier .risque[open] {border-color:#d0d2d549;background:linear-gradient(145deg,#d4d6d913,#ffffff03)}
#dossier .risque summary {padding:14px 0;gap:8px 10px}
#dossier .risk-reading {font-size:34px;font-weight:300}
#dossier .risk-number {font-weight:300}
#dossier .risque-chevron {border:1px solid #ffffff1c;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;line-height:1;font-size:18px}
#dossier .risque .detail {line-height:1.65}
#dossier .risque summary:hover .nom-crit {color:var(--glass-text)}
#dossier-courbe {height:78px}
#dossier-courbe .trait {stroke:#dbdde0;filter:drop-shadow(0 0 1.2px #d6d8db70)}
#dossier-courbe .point-an {fill:#f5f8ed;filter:drop-shadow(0 0 1px #eceef1)}
#grad-traj stop {stop-color:#babcbf}
#dossier .actions {gap:8px;background:#101926aa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 18px}
#dossier .actions button {border-radius:13px;font-weight:400;background:linear-gradient(145deg,#ffffff0c,#ffffff02);border-color:#ffffff20;transition:background .2s,translate .2s}
#dossier .actions #dossier-story {background:radial-gradient(ellipse at 50% 110%,#c9cbce3d,transparent 90%),linear-gradient(145deg,#d2d4d723,#ffffff06);border-color:#d0d2d543;box-shadow:inset 0 1px #e9ebee2e}
:is(#dossier-croix,.compare-close,#story-fermer) {border:1px solid #ffffff26!important;background:linear-gradient(145deg,#ffffff0d,#ffffff02)!important;border-radius:50%;opacity:1}
.compare-shell h2 {font-weight:300;font-size:38px;line-height:1.08}
.compare-eyebrow {letter-spacing:.08em;color:#b9bbbe;font-size:10px}
.compare-picker input {border-radius:16px;background:#0509075c;border-color:#ffffff24;padding:16px}
.compare-picker ul {background:#152235e8;border:0;border-radius:14px}
.compare-table-wrap thead {background:#152235e8}
.compare-table-wrap td strong {font-weight:300;font-size:32px}
.compare-time output {font-weight:300;font-size:38px}
.compare-change {color:#c9cbce}
.compare-swap {border-radius:12px;background:linear-gradient(140deg,#ffffff0c,#ffffff02)}
.pedago-carte {padding:30px}
.pedago-titre {font-weight:400;letter-spacing:-.025em}
.pedago-carte p {font-weight:300;line-height:1.6}
.entree-pedago {border-radius:14px;border:1px solid #d0d2d53b;background:linear-gradient(140deg,#cbcdd023,#ffffff04);padding:12px 18px;color:#eef3e6;letter-spacing:0;text-transform:none}
.story-opt {border-bottom:1px solid #ffffff10}
.story-opt i {border-color:#ced0d33d;background:#ffffff07;box-shadow:inset 0 1px #fff2}
.story-opt input:checked+i {background:#bcbec1;box-shadow:0 0 14px #c0c2c523}
#secours {background:#080b09;color:var(--glass-text)}
#secours h2 {font-weight:300;letter-spacing:-.04em}

@keyframes glass-drift {from{transform:translate3d(0,-6px,0);opacity:.65}to{transform:translate3d(0,22px,0);opacity:1}}
@media(hover:hover) and (pointer:fine) {
  #language-options label:hover {transform:none;border-color:#ffffff20}
  #map-inspector #calques .calque:hover {background:#d6d8db12;border-color:#ffffff20}
  #dossier .risque:hover {border-color:#c9cbce45}
  #dossier .actions button:hover,.entree-pedago:hover {background-color:#c2c4c722;translate:0 -1px}
}
@media(max-width:720px) {
  #map-inspector {width:auto;border-radius:24px;padding:8px 12px}
  #map-inspector #calques .calque {padding:11px;min-height:50px}
  #map-inspector .calque .nom {font-size:12px}
  #map-toggle {font-weight:400}
  .language-content {padding:24px;overflow-y:auto}
  #language-title {font-size:32px;margin-bottom:20px}
  .language-globe {width:48px;height:48px;margin-bottom:20px}
  #language-options label {min-height:46px}
  #language-continue {margin-top:16px;padding-top:12px}
  #dossier {border-radius:28px 28px 0 0}
  #dossier .fiche-entete {padding:16px 18px 10px}
  #dossier-nom {font-size:30px}
  #dossier .score .valeur {font-size:52px}
  #dossier .fiche-corps {padding:14px 16px}
  #dossier .risque {padding:0 12px;border-radius:16px}
  #dossier .risque .nom-crit {font-size:12px}
  #dossier .actions {padding:10px 12px max(10px,env(safe-area-inset-bottom))}
  #dossier .actions {grid-template-columns:repeat(3,minmax(0,1fr))}
  #dossier .actions button {grid-column:auto;min-height:48px;font-size:12px;padding:8px 6px}
  .compare-shell h2 {font-size:29px}
  .compare-shell header,.story-carte .pedago-titre {background:linear-gradient(#101927d9 85%,#10192700);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  .compare-shell header {margin:-16px -14px 0;padding:24px 14px 14px;border-radius:26px 26px 0 0;top:-16px}
  .story-carte .pedago-titre {margin:-16px -16px 0;padding:24px 64px 20px 16px;border-radius:26px 26px 0 0}
  .story-carte #story-fermer {top:12px;right:12px}
  .compare-table-wrap thead {background:none}
  #city-comparison .compare-table-wrap tr {gap:10px 16px;padding:20px 0}
  .compare-table-wrap td strong {font-size:30px}
  .pedago-carte {padding:24px}
  .story-carte {padding:16px}
}
@media(max-height:650px) {.language-content{padding:18px 24px}.language-globe{width:36px;height:36px;margin-bottom:12px}#language-title{font-size:28px;margin-bottom:14px}#language-options label{min-height:44px}#language-continue{margin-top:12px;padding-top:8px}}
@media(prefers-reduced-motion:reduce) {.language-content::before{animation:none}:is(#language-options label,#language-continue svg,#earth-shell #future::after,#dossier .actions button,.entree-pedago){transition:none;translate:none}}
@media(prefers-reduced-transparency:reduce) {:root{--glass-tint:#111610}}
@supports not (backdrop-filter:blur(1px)) {:root{--glass-tint:#111610}}
body #recherche,body.dossier-ouvert #recherche {padding-right:100px}
#resultats {right:100px}
#champ-recherche {background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(2px) saturate(1.5);-webkit-backdrop-filter:blur(2px) saturate(1.5)}
#menu-reglages {width:min(232px,calc(100vw - 40px));min-width:0;box-sizing:border-box;padding:8px}
#menu-reglages :is(.bouton-ico,.creator-credit p) {font:400 12px/1.4 var(--police);letter-spacing:0;text-transform:none;min-height:44px;padding:10px 12px;box-sizing:border-box}
:is(#map-inspector,#dossier,#city-comparison,#menu-reglages,#resultats,.pedago-carte) {background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--glass-shadow)}
#menu-reglages {--glass-tint:#17171799;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6)}
body:has(#menu-reglages.ouvert) #dossier {visibility:hidden;pointer-events:none}
#bouton-reglages {background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
@media(max-width:720px) {body #recherche,body.dossier-ouvert #recherche{padding-right:80px}#resultats{right:80px}#menu-reglages .bouton-ico{font-size:12px}}
@media(prefers-reduced-transparency:reduce) {:is(#map-inspector,#dossier,#city-comparison,#menu-reglages,#resultats,.pedago-carte,#champ-recherche){background:#111610}}

#globe-dock {--dock-bottom:calc(44px + env(safe-area-inset-bottom));position:fixed;z-index:22;inset:0;pointer-events:none}
body.dossier-ouvert #globe-dock {visibility:hidden}
#globe-dock > #timeline,body.pret #globe-dock > #timeline {position:absolute;left:auto;right:24px;top:auto;bottom:var(--dock-bottom);transform:none;width:200px;padding:0;pointer-events:auto}
#globe-dock #timeline .an {display:block;width:max-content;margin:0 auto;font-size:80px;line-height:1;text-align:center}
#map-inspector {position:absolute;left:24px;right:auto;top:auto;bottom:var(--dock-bottom);width:max-content;max-width:calc(100vw - 48px);min-width:0;display:flex;flex-direction:column;padding:0 16px;border-radius:24px;max-height:none;overflow:visible;pointer-events:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
#map-inspector.choix-ouvert {border-radius:28px}
#map-toggle {display:flex;order:3;align-items:center;justify-content:flex-start;gap:12px;width:auto;min-height:44px;padding:0;border-radius:22px;background:none;border:0;color:var(--glass-text);font:400 13px/1.4 var(--police);text-align:left;white-space:nowrap;touch-action:manipulation;cursor:pointer}
#map-toggle svg {width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;transform:rotate(180deg);transition:transform .2s}
#map-toggle[aria-expanded=true] svg {transform:none}
#map-inspector:not(.choix-ouvert) #calques,body.pret #map-inspector:not(.choix-ouvert) #calques,#map-inspector:not(.choix-ouvert) #model-notice {display:none}
#map-inspector #map-options {position:absolute;bottom:calc(100% + 16px);left:0;width:460px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 220px);overflow:auto;overscroll-behavior:contain;padding:12px;box-sizing:border-box;border-radius:28px;border:1px solid var(--glass-edge);background:var(--glass-surface);box-shadow:var(--glass-shadow);backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5)}
#filter-summary {position:absolute;left:24px;bottom:calc(var(--dock-bottom) + 64px);width:max-content;max-width:min(580px,calc(100vw - 300px));color:var(--glass-text);pointer-events:none;text-align:left}
#filter-summary[hidden],body:not(.pret) #filter-summary {display:none}
#filter-summary.summary-unavailable {width:200px}
#filter-summary .summary-headline {font:400 clamp(24px,2.5vw,36px)/1.12 var(--police);letter-spacing:-.035em;text-wrap:balance}
#filter-summary .summary-reference {contain:inline-size;margin-top:8px;font:400 13px/1.4 var(--police);color:var(--glass-text);text-wrap:pretty}
#filter-summary .summary-detail {contain:inline-size;margin-top:6px;font:11px/1.4 var(--police);color:var(--glass-muted);text-wrap:pretty}
#globe-dock:has(#map-inspector.choix-ouvert) #filter-summary {visibility:hidden}
#map-inspector:not(.choix-ouvert) #map-options {display:none}
#map-inspector.choix-ouvert #calques,body.pret #map-inspector.choix-ouvert #calques {display:grid;grid-template-columns:1fr 1fr;gap:4px}
#map-inspector #calques .calque {min-height:48px;background:none;border-color:transparent}
#map-inspector #calques .calque.actif {background:#ffffff1a;border-color:#ffffff33;box-shadow:inset 0 1px #fff4}
#map-inspector #model-notice {order:2;z-index:auto}
/* le lien de contact vit dans les filtres, toujours visible : il etait replie
   sous « Sources et lecture », donc invisible sans calque et sans un clic */
#map-inspector #map-contact {display:flex;align-items:center;min-height:44px;margin-top:10px;padding:4px 4px 0;border-top:1px solid #ffffff16;font-size:12px;line-height:1.4;color:var(--glass-muted);text-decoration:underline;text-decoration-color:#ffffff35;text-underline-offset:3px;transition:color .18s}
#map-inspector #map-contact:hover {color:var(--glass-text)}
@media(max-width:720px) {
 #filter-summary {left:12px;bottom:calc(var(--dock-bottom) + 96px);max-width:calc(100vw - 24px)}
 #filter-summary .summary-headline {font-size:25px;max-width:100%}
 #filter-summary .summary-detail {font-size:10px;line-height:1.3;margin-top:6px}
 #filter-summary .summary-reference {font-size:12px;margin-top:6px}
 #globe-dock {--dock-bottom:calc(32px + env(safe-area-inset-bottom))}
 #globe-dock > #timeline,body.pret #globe-dock > #timeline {left:auto;right:20px;transform:none;width:112px}
 #globe-dock #timeline .an {font-size:48px}
 #map-inspector {left:12px;right:auto;top:auto;width:max-content;max-width:calc(100vw - 184px);padding:0 12px;border-radius:24px;max-height:none}
 #map-toggle {min-height:44px;padding:6px 0}
 #map-inspector #map-options {width:calc(100vw - 32px);max-width:none;max-height:calc(100dvh - 210px);bottom:calc(100% + 24px)}
 #map-inspector #map-method summary {position:static;width:auto;height:auto;font-size:12px;display:flex;padding:8px 0;background:none;border:0}
 #map-inspector #map-method summary::after {content:none}
}
@media(max-height:500px) {#filter-summary {left:12px;bottom:calc(var(--dock-bottom) + 64px);max-width:40vw}#filter-summary .summary-headline{font-size:20px}#filter-summary .summary-reference{font-size:11px}#filter-summary .summary-detail{font-size:9px;line-height:1.2}}
@media(max-height:500px) {#map-inspector #map-options{max-height:calc(100dvh - 170px)}}
@media(prefers-reduced-motion:reduce) {#map-toggle svg {transition:none}}

#bouton-reglages {color:var(--glass-text)}
#bouton-reglages {display:grid;place-items:center;padding:0}
#bouton-reglages .rouage {width:20px;height:20px;transform-origin:center;transform-box:fill-box}
#timeline .regle,#timeline #curseur {width:72%}
#timeline .regle {height:44px;margin-top:12px}
#timeline #curseur {height:44px;margin-top:-44px;padding:0;outline:none}
#timeline .regle i {height:7px}
#globe-dock #timeline .regle {width:var(--l-an,100%);height:24px;margin:4px 0 0 var(--an-ink-left,0px)}
#globe-dock #timeline #curseur {position:absolute;left:var(--an-ink-left,0px);bottom:-20px;width:var(--l-an,100%);height:44px;margin:0;transform:none}
.compare-time {display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}
.compare-time label {grid-area:1/1;margin:0}
.compare-time .compare-swap {grid-area:1/2}
.compare-time output {grid-area:2/1/3/3;display:block;text-align:center;font:300 64px/1 var(--police);letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.compare-time .regle {grid-area:3/1/4/3;display:flex;justify-content:space-between;align-items:flex-end;height:38px;width:100%;pointer-events:none}
.compare-time .regle i {width:2px;height:10px;border-radius:1px;background:var(--texte);transform-origin:bottom;opacity:.25}
.compare-time #comparison-year {grid-area:3/1/4/3;appearance:none;-webkit-appearance:none;position:relative;z-index:2;width:100%;height:44px;margin:0;padding:0;background:transparent;cursor:ew-resize}
#curseur::-webkit-slider-runnable-track,#comparison-year::-webkit-slider-runnable-track {height:44px;border:0;background:transparent;box-shadow:none}
#curseur,#comparison-year {touch-action:none}
#dossier #timeline #curseur {width:100%}
#curseur::-moz-range-track,#comparison-year::-moz-range-track,#curseur::-moz-range-progress,#comparison-year::-moz-range-progress {border:0;background:transparent;box-shadow:none}
#curseur::-webkit-slider-thumb,#curseur:hover::-webkit-slider-thumb,body.cale-annee #curseur::-webkit-slider-thumb,#comparison-year::-webkit-slider-thumb {appearance:none;-webkit-appearance:none;width:2px;height:44px;opacity:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
#curseur::-moz-range-thumb,#comparison-year::-moz-range-thumb {width:2px;height:44px;opacity:0;border:0;background:transparent;box-shadow:none}
#timeline:has(#curseur:focus-visible) .regle {outline:1px solid var(--glass-muted);outline-offset:4px;border-radius:4px}
#story-partager.entree-pedago {font:400 13px/1.4 var(--police)}
:is(#champ-recherche,#bouton-reglages,#dossier,#city-comparison,#menu-reglages,#resultats,.pedago-carte,#map-inspector #map-options) {backdrop-filter:blur(2px) saturate(1.35);-webkit-backdrop-filter:blur(2px) saturate(1.35)}
#city-comparison::backdrop,#story-popup,#pedago {background:#02060a66;backdrop-filter:none;-webkit-backdrop-filter:none}
.language-content::before {display:none}
#map-inspector #calques .calque.actif,#map-reading button[aria-pressed=true],#resultats li:is(.choisi,:hover),#dossier .risque,#dossier .risque[open],#dossier .actions button,#dossier .actions #dossier-story,.compare-swap,.entree-pedago {background:#ffffff09}
#dossier-croix,.compare-close,#story-fermer {background:#ffffff09!important}
.compare-shell header,.story-carte .pedago-titre,.compare-table-wrap thead {background:transparent}
.compare-shell header {position:static;top:auto;margin:0 0 12px;padding:0 64px 0 0;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.compare-shell>.compare-close {position:sticky;top:14px;float:right;z-index:4;margin:0 0 -48px 12px}
.compare-table-wrap thead {position:sticky;top:0;z-index:3;background:#101923f5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.compare-table-wrap thead th:last-child {padding-right:58px}
@media(max-width:600px){#city-comparison .compare-table-wrap thead tr{padding:14px 0;min-height:72px;box-sizing:border-box;align-items:center}#city-comparison .compare-table-wrap thead th:last-child{padding-right:58px}}
body:has(#city-comparison[open],#story-popup:not([hidden])) :is(#titre,#recherche,#util,#globe-dock) {visibility:hidden;pointer-events:none}
body:has(#pedago:not([hidden]),#city-comparison[open],#story-popup:not([hidden]),#menu-reglages.ouvert) :is(#etiquettes,#survol,#filter-summary) {visibility:hidden;pointer-events:none}
/* Un seul curseur, deux etats : lentille de verre sur la Terre, point creme
   partout ailleurs (le meme point que sous les noms des villes). La taille
   est lissee en JS, ici seule la matiere change. */
.glass-cursor {position:fixed;left:0;top:0;width:50px;height:50px;will-change:transform;z-index:2147483647;pointer-events:none!important;border:1px solid #ffffff60;border-radius:999px;box-shadow:inset 0 1px 2px #ffffff40,inset 0 -1px 2px #ffffff12;background:#ffffff03;overflow:hidden;contain:layout style;transition:background-color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.glass-cursor.point {background:rgba(255,253,226,.92);border-color:transparent;box-shadow:0 0 8px rgba(255,253,226,.5)}
.glass-cursor[hidden] {display:none}
body.curseur-verre, body.curseur-verre * {cursor:none!important}
:is(#map-inspector,#dossier,#city-comparison,#menu-reglages,.pedago-carte,.language-content) :is(button,summary,input,a):focus-visible,#language-options label:has(input:focus-visible) {outline-color:#fff}
@media(prefers-reduced-motion:reduce){.glass-cursor{transition:none}}
@media(max-width:720px){#map-toggle{gap:12px;font-size:12px}#map-toggle span{display:none}#map-toggle::before{content:attr(data-short-label)}#map-toggle svg{width:12px;height:12px}.compare-time output{font-size:48px}}

/* Feedback pass: one visible control per action, with no opaque strips. */
.entree-pedago::after {content:none}
.pedago-details {margin-top:18px;font-size:12px;line-height:1.5;color:var(--glass-muted)}
.pedago-details summary {min-height:44px;align-content:center;cursor:pointer}
#pedago-details-text {font-size:12px;color:var(--glass-muted)}
#dossier .actions {background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#dossier .actions button,#dossier .actions #dossier-story,.compare-swap {background:transparent;border:0;border-bottom:1px solid #ffffff50;border-radius:0;box-shadow:none}
#dossier .actions button:hover,.compare-swap:hover,.compare-swap:active {background:transparent}
#comparison-year {outline:none}
.compare-time:has(#comparison-year:focus-visible) .regle {outline:1px solid var(--glass-muted);outline-offset:4px;border-radius:4px}
#layer-context {background:none;border-left:0;padding:0}
#map-inspector .map-hint {display:block;font-size:12px;line-height:1.5;margin:12px 0}
#explore-city {position:absolute;inset:0;z-index:4;pointer-events:auto;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:none;color:#d7dcd3;font:400 14px var(--police);cursor:pointer;white-space:nowrap;transition:opacity .2s var(--ease)}
#explore-city:hover {color:#fff}
.city-search-icon {display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
body #recherche,body.pret #recherche,body.dossier-ouvert #recherche {position:fixed;z-index:31;top:calc(10px + env(safe-area-inset-top,0px));left:auto;right:calc(100px + env(safe-area-inset-right,0px));transform:none;height:48px;max-width:calc(100vw - 140px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));padding:0;display:block;align-items:initial}
#recherche #champ-recherche {width:100%;height:48px;min-height:48px;padding:12px 18px;border-radius:16px;text-align:left;transition:opacity .2s var(--ease),border-color .25s,box-shadow .25s}
body.recherche-active #recherche #champ-recherche::placeholder {color:var(--glass-muted)}
body.loupe #champ-recherche {opacity:0;pointer-events:none}
body:not(.loupe) #explore-city {opacity:0;pointer-events:none}
#recherche #resultats {right:auto;top:0;max-width:calc(100vw - 40px)}
body.loupe #resultats {visibility:hidden}
body.entree-chrome :is(#titre,#recherche,#bouton-reglages,#map-inspector,#explore-city,#timeline .an,#timeline .regle,#curseur) {transition:none}
@media(max-width:720px) {
 body #recherche,body.pret #recherche,body.dossier-ouvert #recherche {right:calc(80px + env(safe-area-inset-right,0px));max-width:calc(100vw - 100px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 body:not(.loupe) #titre {visibility:hidden;pointer-events:none}
}
@media(max-width:720px),(pointer:coarse) and (max-height:500px) {
 #explore-city {display:grid;place-items:center;padding:0;border:1px solid var(--glass-edge);border-radius:50%;background:var(--glass-surface);box-shadow:var(--glass-shadow)}
 #explore-city .city-search-label {display:none}
 #explore-city .city-search-icon {display:block}
}
@media(prefers-reduced-motion:reduce) {#explore-city,#explore-city::after,#recherche #champ-recherche {transition:none}}
