/* Interface « terminal d'agent secret », seule interface du site : les règles s'appuient sur
   html[data-interface="terminal"], posé par interface-mode.js. */
@keyframes eklipsis-blink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes eklipsis-pulse{0%{box-shadow:0 0 0 0 rgba(244,119,50,.55)}100%{box-shadow:0 0 0 12px rgba(244,119,50,0)}}

html[data-interface="terminal"]{
  --muted:#8b8d98;
  --terminal-orange:#f47732;
  --terminal-glow:0 0 8px rgba(244,119,50,.45);
  --terminal-line:rgba(255,255,255,.08);
  --terminal-dash:1px dashed rgba(255,255,255,.12);
  --terminal-corners:
    linear-gradient(var(--terminal-orange),var(--terminal-orange)) top left/10px 1px no-repeat,
    linear-gradient(var(--terminal-orange),var(--terminal-orange)) top left/1px 10px no-repeat,
    linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom right/10px 1px no-repeat,
    linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom right/1px 10px no-repeat;
}
html[data-interface="terminal"] body{background:#040405}

/* Lignes de balayage d'écran, au-dessus de tout, sans capter les clics. */
html[data-interface="terminal"] body::after{content:"";position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.022) 0 1px,transparent 1px 3px)}
@media (prefers-reduced-motion:reduce){html[data-interface="terminal"] *{animation:none!important}}

/* Contrastes : le gris secondaire #555762 devient #8b8d98 (≈ 6:1 sur noir). */
html[data-interface="terminal"] .muted,
html[data-interface="terminal"] .empty,
html[data-interface="terminal"] .panel-description,
html[data-interface="terminal"] .console-statusbar,
html[data-interface="terminal"] .map-readout span,
html[data-interface="terminal"] .console-metrics span{color:#8b8d98}

/* Titres de section : orange lumineux. */
html[data-interface="terminal"] .eyebrow{color:var(--terminal-orange);text-shadow:var(--terminal-glow);letter-spacing:.16em}

/* ── En-tête ─────────────────────────────────────────────── */
html[data-interface="terminal"] .navigation-shell .topbar{background:#040405;border-bottom:1px solid rgba(244,119,50,.28)}
html[data-interface="terminal"] .navigation-shell .brand span::after{content:var(--ekl-i18n-3be0498f96,"TERMINAL D’OBSERVATION");display:block;margin-top:4px;font:8.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.2em;color:var(--terminal-orange);white-space:nowrap}
@media (max-width:640px){html[data-interface="terminal"] .navigation-shell .brand span::after{font-size:7px;letter-spacing:.1em}}
html[data-interface="terminal"] .navigation-shell .map-search-row{background:#0a0a0c;border-color:rgba(255,255,255,.16)}
html[data-interface="terminal"] .navigation-shell .map-search-row .map-search-icon{display:none}
html[data-interface="terminal"] .navigation-shell .map-search-row::before{display:block;content:">_";left:12px;top:50%;transform:translateY(-50%);font:13px/1 var(--mono,"Departure Mono",monospace);color:var(--terminal-orange);text-shadow:var(--terminal-glow)}
html[data-interface="terminal"] .navigation-shell #mapSearchInput{font-family:var(--mono,"Departure Mono",monospace);font-size:12px;letter-spacing:.02em}
html[data-interface="terminal"] .navigation-shell #mapSearchInput::placeholder{text-transform:uppercase;color:#8b8d98}

/* Bandeau d'état sous l'en-tête : voyant de canal qui clignote. */
html[data-interface="terminal"] .navigation-shell .console-subbar{background:#050506;border-bottom:1px solid var(--terminal-line)}
html[data-interface="terminal"] .navigation-shell .console-product{color:#c9cad1;letter-spacing:.16em}
html[data-interface="terminal"] .navigation-shell .console-connection::before{display:inline-block;content:"";width:7px;height:7px;margin-right:7px;background:var(--terminal-orange);border-radius:50%;vertical-align:1px;animation:eklipsis-blink 1.6s infinite}
html[data-interface="terminal"] .navigation-shell #consoleClock{color:#c9cad1}

/* ── Rail de navigation : index 01–07 et élément actif lumineux ── */
html[data-interface="terminal"] .navigation-shell .shell-rail{counter-reset:terminal-rail;background:#040405}
html[data-interface="terminal"] .navigation-shell .shell-rail .nav-tab{position:relative;counter-increment:terminal-rail;letter-spacing:.06em}
html[data-interface="terminal"] .navigation-shell .shell-rail .nav-tab::before{display:block;content:counter(terminal-rail,decimal-leading-zero);position:absolute;top:5px;right:7px;font:8px/1 var(--mono,"Departure Mono",monospace);color:#5f616b}
html[data-interface="terminal"] .navigation-shell .shell-rail .nav-tab.active{color:var(--terminal-orange);text-shadow:var(--terminal-glow);background:rgba(244,119,50,.09);box-shadow:inset 2px 0 0 var(--terminal-orange)}
html[data-interface="terminal"] .navigation-shell .shell-rail .nav-tab.active::before{color:var(--terminal-orange)}

/* ── Panneaux : repères d'angle orange ─────────────────── */
html[data-interface="terminal"] #mapPanel,
html[data-interface="terminal"] .console-register{background:var(--terminal-corners),#08080a}
html[data-interface="terminal"] #mapPanel .panel-head h1,
html[data-interface="terminal"] .console-register h2{letter-spacing:-.01em}

/* ── Panneau de filtres de la carte ──────────────────────── */
html[data-interface="terminal"] #mapPanel .panel-description{font-family:var(--mono,"Departure Mono",monospace);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
html[data-interface="terminal"] #mapPanel h3,
html[data-interface="terminal"] #mapPanel .map-button-filter-group > p,
html[data-interface="terminal"] #mapPanel label > span:first-child{letter-spacing:.14em}
html[data-interface="terminal"] #mapPanel h3::before{content:"▌";color:var(--terminal-orange);margin-right:4px}
html[data-interface="terminal"] #mapPanel .map-secondary-filters{border-top:var(--terminal-dash)}
/* Catégories en liste : icône, libellé, barre proportionnelle, compteur. */
html[data-interface="terminal"] #mapView.active #categoryButtonFilter{grid-template-columns:minmax(0,1fr);gap:1px}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;justify-items:stretch;justify-content:stretch;gap:9px;min-height:34px;padding:4px 8px 8px;background:transparent;text-align:left}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button small{font-family:"Segoe UI",system-ui,sans-serif;font-size:12px;line-height:1.2;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button[data-count]::after{content:attr(data-count);font:9.5px/1 var(--mono,"Departure Mono",monospace);color:#8b8d98}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button[data-count]:not([data-category-option=""]):not([data-category-option="all"]){background:linear-gradient(var(--category-color,#8b8d98),var(--category-color,#8b8d98)) 35px calc(100% - 3px)/calc((100% - 70px) * var(--category-share,0)) 2px no-repeat,linear-gradient(#18181c,#18181c) 35px calc(100% - 3px)/calc(100% - 70px) 2px no-repeat}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button:hover{background-color:rgba(255,255,255,.04)}
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button.active,
html[data-interface="terminal"] #mapView.active #categoryButtonFilter button[aria-pressed="true"]{background-color:rgba(244,119,50,.09);box-shadow:inset 2px 0 0 var(--terminal-orange);color:#fff}

/* ── Carte : trame, vignettage, cadre de visée ───────────── */
html[data-interface="terminal"] #map{background:#040405}
html[data-interface="terminal"][data-map-style="dark"] #map .leaflet-tile-pane{filter:grayscale(1) contrast(1.12) brightness(.92)}
html[data-interface="terminal"] #map::after{content:"";position:absolute;inset:0;z-index:250;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 52%,rgba(0,0,0,.62) 100%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px) 0 0/14px 14px}
html[data-interface="terminal"] .navigation-shell #mapView .leaflet-marker-icon.category-marker{background:linear-gradient(currentColor,currentColor) top left/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) top left/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) top right/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) top right/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) bottom left/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) bottom left/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) bottom right/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) bottom right/1.5px 7px no-repeat,rgba(4,4,5,.78)!important;padding:3px;box-sizing:content-box}
html[data-interface="terminal"] #mapView .category-marker:hover,
html[data-interface="terminal"] #mapView .category-marker:focus-visible{filter:drop-shadow(0 0 6px currentColor)}
html[data-interface="terminal"] #mapView .category-apparition{color:#DDEBFF}
html[data-interface="terminal"] #mapView .category-lieu-hante{color:#f47732}
html[data-interface="terminal"] #mapView .category-ovni{color:#59D8D0}
html[data-interface="terminal"] #mapView .category-rituel{color:#D29AFF}
html[data-interface="terminal"] #mapView .category-disparition{color:#FF687D}
html[data-interface="terminal"] #mapView .category-cryptide{color:#A6D46C}
html[data-interface="terminal"] #mapView .category-objet{color:#FFD166}
html[data-interface="terminal"] #mapView .category-reve{color:#949CFF}
html[data-interface="terminal"] #mapView .category-psychique{color:#F07FC4}
html[data-interface="terminal"] #mapView .category-espace-temps{color:#72B9FF}
html[data-interface="terminal"] #mapView .category-nature{color:#5DC996}
html[data-interface="terminal"] #mapView .category-signal{color:#FFAD70}
html[data-interface="terminal"] #mapView .category-legende{color:#D6B889}
html[data-interface="terminal"] #mapView .category-autre{color:#B9C5D3}
/* Contrôles de la carte et lecture des coordonnées. */
html[data-interface="terminal"] #map .leaflet-bar a,
html[data-interface="terminal"] #map .leaflet-control select{background:#070708;border-color:rgba(255,255,255,.16)}
html[data-interface="terminal"] #mapView .map-readout{background:var(--terminal-corners),rgba(5,5,6,.9);border:1px solid rgba(244,119,50,.4)}
html[data-interface="terminal"] #mapView .map-readout span{color:var(--terminal-orange)}
html[data-interface="terminal"] #mapView .map-readout strong{font-family:var(--mono,"Departure Mono",monospace)}

/* Aperçu d'un dossier sur la carte : fiche de signal. */
html[data-interface="terminal"] .navigation-shell .map-tooltip-card-v1{background:#070708;border:1px solid rgba(244,119,50,.55);box-shadow:0 0 0 1px #050505,0 18px 44px rgba(0,0,0,.75),0 0 24px rgba(244,119,50,.15)}
html[data-interface="terminal"] .navigation-shell .map-tooltip-card-v1 h3{font-family:var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .navigation-shell .map-tooltip-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}

/* ── Registre (colonne de droite) ─────────────────────────── */
html[data-interface="terminal"] .console-metrics > div{background:#050506}
html[data-interface="terminal"] .console-metrics strong{text-shadow:0 0 6px rgba(255,255,255,.18)}
html[data-interface="terminal"] .console-metrics .console-total strong,
html[data-interface="terminal"] #consoleVisibleCount{color:var(--terminal-orange);text-shadow:0 0 10px rgba(244,119,50,.5)}
html[data-interface="terminal"] .console-register .map-report-row .mini-story{border:1px solid rgba(255,255,255,.07);background:#0c0c0f;transition:border-color .15s,background .15s}
html[data-interface="terminal"] .console-register .map-report-row .mini-story:hover,
html[data-interface="terminal"] .console-register .map-report-row .mini-story:focus-visible{border-color:rgba(244,119,50,.45);background:#121216;box-shadow:inset 2px 0 0 var(--terminal-orange)}
html[data-interface="terminal"] .console-register .mini-story-copy strong{font-family:var(--mono,"Departure Mono",monospace);font-weight:400}
html[data-interface="terminal"] .console-register .mini-story-preview{position:relative}
html[data-interface="terminal"] .console-register .mini-story-preview::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.28) 0 1px,transparent 1px 3px)}
html[data-interface="terminal"] .console-register .map-feed-tabs button.active{color:var(--terminal-orange);box-shadow:inset 0 -2px 0 var(--terminal-orange)}

/* ── Chronologie ─────────────────────────────────────────── */
html[data-interface="terminal"] #mapYearSliderShell{background:#070708;border-top:1px solid rgba(244,119,50,.28)}
html[data-interface="terminal"] #mapYearSliderShell .map-year-slider-head > span:first-child{letter-spacing:.18em}
html[data-interface="terminal"] #mapYearSliderShell .map-year-slider-head > span:first-child::before{content:"▌";color:var(--terminal-orange);margin-right:4px}
html[data-interface="terminal"] #mapYearSliderShell .map-timeline-selection{box-shadow:0 0 10px rgba(244,119,50,.45)}

/* ── Boutons ─────────────────────────────────────────────── */
html[data-interface="terminal"] .primary-btn,
html[data-interface="terminal"] #newStoryButton{box-shadow:0 0 16px rgba(244,119,50,.3)}

/* ── Barre d'état du bas et bascule d'interface ──────────── */
html[data-interface="terminal"] .navigation-shell .console-statusbar{background:#040405;border-top:1px solid rgba(244,119,50,.22)}

/* ── Carte : filtres en sections A–G (terminal-map.js) ───── */
html[data-interface="terminal"] .terminal-filter-status{margin:12px 0 6px;padding:10px 12px;background:var(--terminal-corners),#050506;border:1px solid var(--terminal-line)}
html[data-interface="terminal"] .tfst-line{display:flex;align-items:baseline;gap:8px;font-family:var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .tfst-count{font-size:22px;line-height:1;color:var(--terminal-orange);text-shadow:0 0 10px rgba(244,119,50,.5)}
html[data-interface="terminal"] .tfst-label{font-size:9px;letter-spacing:.12em;color:#c9cad1}
html[data-interface="terminal"] .tfst-filters{margin-left:auto;font-size:9px;letter-spacing:.1em;color:#8b8d98;white-space:nowrap}
html[data-interface="terminal"] .tfst-bar{display:flex;gap:1px;height:6px;margin-top:8px;background:#16161a}
html[data-interface="terminal"] .tfst-caption{margin-top:6px;font:8.5px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;color:#8b8d98}
html[data-interface="terminal"] .terminal-filters{display:flex;flex-direction:column;margin-bottom:10px;border-bottom:var(--terminal-dash)}
html[data-interface="terminal"] .terminal-filter-section{border-top:var(--terminal-dash)}
html[data-interface="terminal"] .terminal-filter-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;background:none;border:0;color:#f2f2f2;text-align:left;cursor:pointer}
html[data-interface="terminal"] .terminal-filter-toggle:hover .tfs-title{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.25)}
html[data-interface="terminal"] .tfs-letter{flex:0 0 20px;height:20px;display:grid;place-items:center;border:1px solid rgba(244,119,50,.6);color:var(--terminal-orange);font:10px/1 var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .tfs-title{flex:1;font:10px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.14em}
html[data-interface="terminal"] .tfs-value{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;color:#c9cad1}
html[data-interface="terminal"] .tfs-value.is-active{color:var(--terminal-orange);text-shadow:var(--terminal-glow)}
html[data-interface="terminal"] .tfs-sign{flex:0 0 14px;text-align:center;font-family:var(--mono,"Departure Mono",monospace);color:#8b8d98}
html[data-interface="terminal"] .terminal-filter-body{padding:0 0 12px}
html[data-interface="terminal"] .terminal-filter-body > .map-button-filter-group > span:first-child,
html[data-interface="terminal"] .terminal-filter-body > .map-language-filter > span:first-child,
html[data-interface="terminal"] .terminal-filter-body > .discovery-panel > h3,
html[data-interface="terminal"] .terminal-filter-body > .map-exact-filters > h3{display:none}
html[data-interface="terminal"] .terminal-filter-body > .map-button-filter-group,
html[data-interface="terminal"] .terminal-filter-body > .discovery-panel,
html[data-interface="terminal"] .terminal-filter-body > .map-exact-filters{margin:0;padding:0;border:0;background:none}
html[data-interface="terminal"] #mapPanel .map-secondary-filters:not(:has(> :not(h3))),
html[data-interface="terminal"] #mapPanel .map-button-filters:not(:has(button,select,input)){display:none}

/* ── Fiche du dossier dans le registre ────────────────────── */
html[data-interface="terminal"] .terminal-dossier{margin:12px 0;background:#08080a;border:1px solid rgba(244,119,50,.45);box-shadow:0 0 22px rgba(244,119,50,.12);outline:none}
html[data-interface="terminal"] .terminal-dossier:focus-visible{outline:2px solid var(--terminal-orange);outline-offset:2px}
html[data-interface="terminal"] .td-band{padding:4px 6px;text-align:center;background:repeating-linear-gradient(135deg,rgba(244,119,50,.22) 0 7px,transparent 7px 14px);font:8px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.12em;color:#f2f2f2}
html[data-interface="terminal"] .td-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;background:rgba(244,119,50,.12);border-bottom:1px solid rgba(244,119,50,.3);font:9px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;color:var(--terminal-orange)}
html[data-interface="terminal"] .td-close{flex:0 0 32px;height:32px;background:none;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:16px;cursor:pointer}
html[data-interface="terminal"] .td-category{display:flex;align-items:center;gap:7px;margin:12px 12px 0;font:9.5px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.08em}
html[data-interface="terminal"] .terminal-dossier .category-symbol{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-interface="terminal"] .td-title{margin:6px 12px 10px;font:400 16px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:0;text-transform:none;color:#f2f2f2}
html[data-interface="terminal"] .td-rows{display:flex;flex-direction:column;gap:6px;margin:0 12px;font:9.5px/1.35 var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .td-rows div{display:flex;justify-content:space-between;align-items:baseline;background:linear-gradient(to right,rgba(255,255,255,.25) 50%,transparent 0) 0 calc(100% - 3px)/4px 1px repeat-x}
html[data-interface="terminal"] .td-rows dt{padding-right:6px;background:#08080a;color:#8b8d98;letter-spacing:.1em}
html[data-interface="terminal"] .td-rows dd{max-width:66%;margin:0;padding-left:6px;background:#08080a;color:#f2f2f2;text-align:right}
html[data-interface="terminal"] .td-claims{display:flex;flex-direction:column;gap:6px;margin:12px}
html[data-interface="terminal"] .td-claims section{position:relative;padding:10px;background:#0d0d10;border:1px solid rgba(255,255,255,.1)}
html[data-interface="terminal"] .td-claims .td-unproven{border-color:rgba(244,119,50,.42)}
html[data-interface="terminal"] .td-claims h4{margin:0 0 6px;font:9px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;color:#e4e4e8}
html[data-interface="terminal"] .td-claims .td-unproven h4{color:var(--terminal-orange)}
html[data-interface="terminal"] .td-claims p{margin:0;font:12px/1.5 "Segoe UI",system-ui,sans-serif;color:#c9cad1}
html[data-interface="terminal"] .td-stamp{position:absolute;top:8px;right:8px;padding:2px 6px;border:2px solid var(--terminal-orange);color:var(--terminal-orange);font:9px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;transform:rotate(-5deg);opacity:.9}
html[data-interface="terminal"] .td-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 12px;font:9px/1.4 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;color:#8b8d98}
html[data-interface="terminal"] .td-meta strong{font-weight:400;color:#f2f2f2}
html[data-interface="terminal"] .td-actions{display:flex;gap:6px;margin:12px}
html[data-interface="terminal"] .td-open{flex:1;min-height:42px;display:grid;place-items:center;background:var(--terminal-orange);color:#050505;text-decoration:none;font:10.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;box-shadow:0 0 16px rgba(244,119,50,.3)}
html[data-interface="terminal"] .td-center{min-height:42px;padding:0 12px;background:none;border:1px solid rgba(255,255,255,.2);color:#fff;font:10px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em;cursor:pointer}
html[data-interface="terminal"] .td-near{margin:0 12px 8px}
html[data-interface="terminal"] .td-near h4{margin:0 0 4px;font:9px/1.2 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;color:#8b8d98}
html[data-interface="terminal"] .td-near button{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 0;background:none;border:0;border-top:1px solid rgba(255,255,255,.07);color:#f2f2f2;text-align:left;font:12px/1.3 "Segoe UI",system-ui,sans-serif;cursor:pointer}
html[data-interface="terminal"] .td-near button:hover span{color:var(--terminal-orange)}
html[data-interface="terminal"] .td-near span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-interface="terminal"] .td-near small{font:9px/1 var(--mono,"Departure Mono",monospace);color:#8b8d98;white-space:nowrap}
html[data-interface="terminal"] .td-note{margin:0 12px 12px;font:9px/1.4 var(--mono,"Departure Mono",monospace);color:#8b8d98}
html[data-interface="terminal"] .navigation-shell #mapView .leaflet-marker-icon.terminal-locked{z-index:1000!important;outline:2px solid var(--terminal-orange);outline-offset:5px;animation:eklipsis-pulse 1.6s infinite}

/* ── Journal de bord ───────────────────────────────────────── */
html[data-interface="terminal"] .terminal-journal{margin:12px 0 0;padding:10px 12px;background:#050506;border:1px solid var(--terminal-line);font:9.5px/1.75 var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .terminal-journal header{display:flex;justify-content:space-between;letter-spacing:.14em;color:var(--terminal-orange)}
html[data-interface="terminal"] .terminal-journal header span:last-child{color:#8b8d98}
html[data-interface="terminal"] .terminal-journal ol{list-style:none;margin:2px 0 0;padding:0}
html[data-interface="terminal"] .terminal-journal li{display:flex;gap:10px;color:#8b8d98;white-space:nowrap;overflow:hidden}
html[data-interface="terminal"] .terminal-journal li span{overflow:hidden;text-overflow:ellipsis}
html[data-interface="terminal"] .terminal-journal time{flex-shrink:0;color:#5f616b}
html[data-interface="terminal"] .terminal-journal li.is-latest{color:var(--terminal-orange)}
html[data-interface="terminal"] .terminal-journal li.is-latest::after{content:"▮";margin-left:-4px;animation:eklipsis-blink 1.1s steps(1) infinite}

/* ── Coque (terminal-shell.js) : en-tête unique, Ctrl K, « À propos », barre mobile ── */
@media (min-width:761px) and (hover:hover),(min-width:1025px){
  html.terminal-header-merged[data-interface="terminal"] .navigation-shell{--header-height:64px}
  html.terminal-header-merged[data-interface="terminal"] .navigation-shell .console-subbar{display:none}
  html.terminal-header-merged[data-interface="terminal"] .navigation-shell .topbar{grid-template-columns:auto minmax(0,1fr) auto auto}
  html.terminal-header-merged[data-interface="terminal"] .navigation-shell .topbar .terminal-status{grid-column:3;grid-row:1}
  html.terminal-header-merged[data-interface="terminal"] .navigation-shell .topbar .top-actions{grid-column:4;grid-row:1}
}
html[data-interface="terminal"] .terminal-status{display:flex;align-items:center;gap:12px;padding-left:14px;border-left:1px solid rgba(255,255,255,.1)}
html[data-interface="terminal"] .terminal-status-lines{display:flex;flex-direction:column;gap:3px;font:9px/1.25 var(--mono,"Departure Mono",monospace);letter-spacing:.12em;color:#8b8d98;white-space:nowrap}
html[data-interface="terminal"] .terminal-status-lines .console-connection{display:flex;align-items:center;gap:6px;color:#e4e4e8}
html[data-interface="terminal"] .terminal-status-lines #consoleClock{color:#c9cad1}
html[data-interface="terminal"] .terminal-status .statistics-link{height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.14);background:none;color:#e4e4e8;font:10.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em;text-transform:uppercase}
html[data-interface="terminal"] .terminal-status .statistics-link:hover{border-color:rgba(244,119,50,.6);color:#fff}
html[data-interface="terminal"] .navigation-shell .brand-cluster .terminal-breadcrumb{display:block;margin-left:14px;padding-left:14px;border-left:1px solid rgba(255,255,255,.1);font:9px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;color:#8b8d98;white-space:nowrap}
html[data-interface="terminal"] .navigation-shell .brand-cluster .terminal-breadcrumb span{display:block;color:#5f616b}
html[data-interface="terminal"] .terminal-kbd{position:absolute;right:90px;top:50%;transform:translateY(-50%);padding:2px 6px;border:1px solid rgba(255,255,255,.18);font:9.5px/1.2 var(--mono,"Departure Mono",monospace);color:#8b8d98;pointer-events:none}
html[data-interface="terminal"] .navigation-shell .shell-rail .terminal-more,html[data-interface="terminal"] .terminal-more-sheet{display:none}
@media (max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){
  html[data-interface="terminal"] .terminal-kbd{display:none}
  html[data-interface="terminal"] .navigation-shell .shell-rail{grid-template-columns:repeat(5,minmax(44px,1fr))}
  html[data-interface="terminal"] .navigation-shell .shell-rail .nav-tab::before{display:none}
  html[data-interface="terminal"] .navigation-shell .shell-rail :is([data-view="training"],[data-view="messages"],[data-view="equipment"]){display:none}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="map"]{order:1}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="contests"]{order:2}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="lab"]{order:3}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="desktop"]{order:4}
  html[data-interface="terminal"] .navigation-shell .shell-rail .terminal-more{display:flex;order:5;flex-direction:column;align-items:center;justify-content:center;background:none;border:0;color:#8b8d98}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="lab"] svg{display:none}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="lab"] > span{display:flex;flex-direction:column;align-items:center;gap:4px}
  html[data-interface="terminal"] .navigation-shell .shell-rail [data-view="lab"] > span::before{content:"+";width:46px;height:46px;margin-top:-22px;display:grid;place-items:center;background:var(--terminal-orange);color:#050505;font:26px/1 var(--mono,"Departure Mono",monospace);box-shadow:0 0 0 4px #040405,0 0 22px rgba(244,119,50,.45)}
  html[data-interface="terminal"] .terminal-more-sheet:not([hidden]){display:grid;position:fixed;left:0;right:0;bottom:var(--mobile-nav-height);z-index:700;gap:2px;padding:12px 16px 14px;background:#070708;border-top:1px solid rgba(244,119,50,.45);box-shadow:0 -18px 40px rgba(0,0,0,.7)}
  html[data-interface="terminal"] .terminal-more-sheet p{margin:0 0 6px;font:9px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.16em;color:var(--terminal-orange)}
  html[data-interface="terminal"] .terminal-more-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;background:#0c0c0f;border:1px solid rgba(255,255,255,.08);color:#f2f2f2;font:12px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em;text-transform:uppercase;text-align:left}
  html[data-interface="terminal"] .terminal-more-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
}

/* ── Carte mobile : filtres plein écran et fiche en feuille glissante ── */
html[data-interface="terminal"] .terminal-filter-apply{display:none}
@media (max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){
  html[data-interface="terminal"] .navigation-shell #mapView.active .map-panel{inset:var(--header-height) 0 var(--mobile-nav-height) 0;max-width:none;margin:0;padding:18px 16px 0;border:0;border-top:1px solid rgba(244,119,50,.35);box-shadow:none;background:#08080a}
  html[data-interface="terminal"] .terminal-filter-apply{display:block;position:sticky;bottom:0;z-index:3;margin:12px -16px 0;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#08080a;border-top:1px solid rgba(244,119,50,.3)}
  html[data-interface="terminal"] .terminal-filter-apply button{width:100%;min-height:50px;background:var(--terminal-orange);border:0;color:#050505;font:12px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;box-shadow:0 0 16px rgba(244,119,50,.35)}
  html[data-interface="terminal"] .terminal-filter-toggle{min-height:48px}
  html[data-interface="terminal"] .terminal-sheet{position:fixed;left:0;right:0;bottom:var(--mobile-nav-height);z-index:640;display:flex;flex-direction:column;max-height:52dvh;background:#070708;border-top:1px solid rgba(244,119,50,.45);box-shadow:0 -18px 40px rgba(0,0,0,.7);outline:none}
  html[data-interface="terminal"] .terminal-sheet[data-state="open"]{max-height:calc(100dvh - var(--header-height) - var(--mobile-nav-height) - 12px)}
  html[data-interface="terminal"] .terminal-sheet .ts-handle{flex:0 0 28px;display:grid;place-items:center;width:100%;background:none;border:0;cursor:pointer}
  html[data-interface="terminal"] .terminal-sheet .ts-handle::before{content:"";width:42px;height:3px;background:rgba(244,119,50,.7)}
  html[data-interface="terminal"] .terminal-sheet .ts-body{flex:1;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;border:0;box-shadow:none;background:none}
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-band,
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-claims,
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-meta,
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-near,
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-note,
  html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-rows div:nth-child(n+4){display:none}
  html[data-interface="terminal"] .terminal-sheet .td-close{flex-basis:44px;height:44px}
  html[data-interface="terminal"] .terminal-sheet .td-open,
  html[data-interface="terminal"] .terminal-sheet .td-center{min-height:48px}
}

/* ── Carte : reproduction de la maquette (terminal-map.js) ── */
/* Catégories : case à cocher, icône, libellé et barre proportionnelle, compteur. */
html[data-interface="terminal"] .navigation-shell #mapView.active #categoryButtonFilter button{grid-template-columns:14px 18px minmax(0,1fr) auto}
html[data-interface="terminal"] .navigation-shell #mapView.active #categoryButtonFilter button::before{display:block;content:"";width:12px;height:12px;border:1px solid rgba(255,255,255,.3);border-radius:0;background:none;font:9px/12px var(--mono,"Departure Mono",monospace);color:#050505;text-align:center}
html[data-interface="terminal"] .navigation-shell #mapView.active #categoryButtonFilter button:is(.active,[aria-pressed="true"])::before{content:"✓";background:var(--terminal-orange);border-color:var(--terminal-orange)}
html[data-interface="terminal"] .navigation-shell #mapView.active #categoryButtonFilter button[data-count]:not([data-category-option=""]):not([data-category-option="all"]){background:linear-gradient(var(--category-color,#8b8d98),var(--category-color,#8b8d98)) 58px calc(100% - 3px)/calc((100% - 95px) * var(--category-share,0)) 2px no-repeat,linear-gradient(#18181c,#18181c) 58px calc(100% - 3px)/calc(100% - 95px) 2px no-repeat}
/* Pied du panneau : réinitialiser (avec le nombre de filtres actifs) ; « Afficher N cibles » seulement sur mobile. */
html[data-interface="terminal"] #mapPanel .terminal-filter-apply{display:flex;gap:6px;position:sticky;bottom:0;z-index:3;margin:auto -18px 0;padding:12px 18px;background:#08080a;border-top:1px solid rgba(244,119,50,.28)}
html[data-interface="terminal"] #mapPanel .terminal-filter-apply #mapResetFilters{flex:1;min-height:40px;margin:0;background:none;border:1px solid rgba(255,255,255,.18);color:#e4e4e8;font:10px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em;text-transform:uppercase}
html[data-interface="terminal"] #mapPanel .terminal-filter-apply #mapResetFilters[data-count]:not([data-count="0"])::after{content:" · " attr(data-count);color:var(--terminal-orange)}
html[data-interface="terminal"] #mapPanel .terminal-filter-apply .terminal-apply{display:none}
@media (max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){
  html[data-interface="terminal"] #mapPanel .terminal-filter-apply{margin:12px -16px 0;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  html[data-interface="terminal"] #mapPanel .terminal-filter-apply #mapResetFilters{flex:1;min-height:50px}
  html[data-interface="terminal"] #mapPanel .terminal-filter-apply .terminal-apply{display:block;flex:2;min-height:50px;background:var(--terminal-orange);border:0;color:#050505;font:12px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.08em;box-shadow:0 0 16px rgba(244,119,50,.35)}
}
/* Pastilles en haut de la carte. */
html[data-interface="terminal"] .terminal-chips{position:absolute;top:14px;left:236px;right:76px;z-index:800;display:flex;flex-wrap:wrap;align-items:center;gap:6px;pointer-events:none}
html[data-interface="terminal"] .terminal-chips > *{pointer-events:auto}
html[data-interface="terminal"] .terminal-chip-count{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 10px;background:#070708;border:1px solid rgba(244,119,50,.5);color:#f2f2f2;font:10.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em}
html[data-interface="terminal"] .terminal-chip-count i{width:8px;height:8px;background:var(--terminal-orange);animation:eklipsis-blink 1.2s infinite}
html[data-interface="terminal"] .terminal-chip-count strong{font-weight:400;color:var(--terminal-orange);text-shadow:var(--terminal-glow)}
html[data-interface="terminal"] .terminal-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;background:#070708;border:1px solid var(--terminal-orange);color:#f2f2f2;font:10px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.04em;cursor:pointer}
html[data-interface="terminal"] .terminal-chip b{font-weight:400;color:#8b8d98}
html[data-interface="terminal"] .terminal-chip:hover b{color:var(--terminal-orange)}
@media (max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse){
  html[data-interface="terminal"] .terminal-chips{top:12px;left:12px;right:112px}
  html[data-interface="terminal"] #map .terminal-tools{display:none}
  html[data-interface="terminal"] .navigation-shell .story-quick-preview{inset:auto 0 var(--mobile-nav-height);max-height:62vh;padding:26px 18px 18px;border:0;border-top:1px solid rgba(244,119,50,.55);background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) center 10px/44px 3px no-repeat,#070708!important;box-shadow:0 -18px 44px rgba(0,0,0,.75)}
  html[data-interface="terminal"] #mapYearSliderShell .map-year-slider-head:has(.terminal-periods){min-width:0;max-width:100%}
  html[data-interface="terminal"] #mapYearSliderShell .terminal-periods{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:0;flex:1 1 100%;min-width:0;max-width:100%}
  html[data-interface="terminal"] #mapYearSliderShell .terminal-periods button{flex:0 0 auto;white-space:nowrap;min-height:28px}
}
/* Sélecteur de fonds en vignettes (le menu déroulant d'origine reste branché, masqué). */
html[data-interface="terminal"] #map .terminal-layer-host{position:relative;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html[data-interface="terminal"] #map .terminal-layer-host > select{display:none}
html[data-interface="terminal"] .terminal-layer-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 12px 4px 4px;background:#070708;border:1px solid rgba(255,255,255,.18);color:#fff;text-align:left;cursor:pointer}
html[data-interface="terminal"] .terminal-layer-button:hover,html[data-interface="terminal"] .terminal-layer-button[aria-expanded="true"]{border-color:rgba(244,119,50,.6)}
html[data-interface="terminal"] .terminal-layer-button::after{content:"▾";color:#8b8d98;font-size:11px}
html[data-interface="terminal"] .terminal-layer-text{display:flex;flex-direction:column;gap:2px;line-height:1.2}
html[data-interface="terminal"] .terminal-layer-text small{font:8.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.16em;color:#8b8d98}
html[data-interface="terminal"] .terminal-layer-text strong{font:11.5px/1 var(--mono,"Departure Mono",monospace);font-weight:400}
html[data-interface="terminal"] .terminal-layer-panel{position:absolute;top:calc(100% + 6px);left:0;width:372px;max-width:calc(100vw - 32px);max-height:min(560px,70vh);overflow-y:auto;padding:14px;background:#070708;border:1px solid rgba(244,119,50,.45);box-shadow:0 24px 60px rgba(0,0,0,.8)}
html[data-interface="terminal"] .terminal-layer-title{margin:0 0 10px;font:9.5px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.16em;color:var(--terminal-orange)}
html[data-interface="terminal"] .terminal-layer-group{margin:10px 0 6px;font:9px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.16em;color:#8b8d98}
html[data-interface="terminal"] .terminal-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
html[data-interface="terminal"] .terminal-layer-tile{display:flex;flex-direction:column;gap:5px;padding:4px;background:#0d0d10;border:1px solid rgba(255,255,255,.08);color:#c9cad1;text-align:left;font:10.5px/1.2 "Segoe UI",system-ui,sans-serif;cursor:pointer}
html[data-interface="terminal"] .terminal-layer-tile[aria-pressed="true"]{border-color:var(--terminal-orange);color:#fff}
html[data-interface="terminal"] .terminal-layer-tile .terminal-swatch{width:100%;height:44px}
html[data-interface="terminal"] .terminal-swatch{display:block;width:34px;height:34px;background:linear-gradient(135deg,#1b1b20,#0c0c0f)}
html[data-interface="terminal"] .terminal-swatch[data-style="dark"]{background:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.2px) 0 0/6px 6px,linear-gradient(135deg,#1d1d22,#0b0b0e)}
html[data-interface="terminal"] .terminal-swatch[data-style="night"]{background:linear-gradient(135deg,#17284d,#0a1328)}
html[data-interface="terminal"] .terminal-swatch[data-style="standard"]{background:linear-gradient(135deg,#ecebe6,#c9d6dc)}
html[data-interface="terminal"] .terminal-swatch[data-style="contrast"]{background:repeating-linear-gradient(45deg,#fff 0 2px,#000 2px 7px)}
html[data-interface="terminal"] .terminal-swatch[data-style="grayscale"]{background:linear-gradient(135deg,#d0d0d0,#858585)}
html[data-interface="terminal"] .terminal-swatch[data-style="sepia"]{background:linear-gradient(135deg,#ecdcbc,#b49567)}
html[data-interface="terminal"] .terminal-swatch[data-style="terrain"]{background:linear-gradient(135deg,#dfe7cc,#9fb684)}
html[data-interface="terminal"] .terminal-swatch[data-style="terrain-dark"]{background:linear-gradient(135deg,#323b2b,#141a11)}
html[data-interface="terminal"] .terminal-swatch[data-style="terrain-mono"]{background:linear-gradient(135deg,#c4c4c4,#686868)}
html[data-interface="terminal"] .terminal-swatch[data-style="terrain-contrast"]{background:linear-gradient(135deg,#f4f4f4,#3c3c3c)}
html[data-interface="terminal"] .terminal-swatch[data-style="elevation"]{background:linear-gradient(135deg,#2e7d32,#c0ca33 40%,#f9a825 70%,#8d6e63)}
html[data-interface="terminal"] .terminal-swatch[data-style="satellite"]{background:linear-gradient(135deg,#3d5a3a,#1c3328)}
html[data-interface="terminal"] .terminal-swatch[data-style="satellite-gray"]{background:linear-gradient(135deg,#585858,#262626)}
html[data-interface="terminal"] .terminal-swatch[data-style="satellite-contrast"]{background:linear-gradient(135deg,#6a8f3e,#0f2a1d)}
/* Barre d'outils d'analyse. */
html[data-interface="terminal"] .terminal-tools{display:flex;flex-direction:column;margin-top:52px!important;background:#070708;border:1px solid rgba(255,255,255,.16)}
html[data-interface="terminal"] .terminal-tools button{width:42px;height:40px;display:grid;place-items:center;padding:0;background:none;border:0;color:#c9cad1;cursor:pointer}
html[data-interface="terminal"] .terminal-tools button + button{border-top:1px solid rgba(255,255,255,.1)}
html[data-interface="terminal"] .terminal-tools button:hover,html[data-interface="terminal"] .terminal-tools button[aria-pressed="true"]{color:var(--terminal-orange)}
html[data-interface="terminal"] .terminal-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Échelle et lecture des coordonnées, ramenées dans la carte. */
html[data-interface="terminal"] #map .leaflet-control-scale-line{background:rgba(5,5,6,.7);border-color:#c9cad1;color:#c9cad1;font:9px/1.4 var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] #map .map-readout.terminal-readout{position:absolute!important;inset:auto 12px 22px auto!important;width:auto!important;z-index:800}
/* Visée de la cible verrouillée. */
@keyframes terminal-sweep{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
html[data-interface="terminal"] .terminal-lock{position:absolute;inset:0;z-index:450;overflow:hidden;pointer-events:none}
html[data-interface="terminal"] .terminal-lock .tl-v{position:absolute;left:var(--x);top:0;bottom:0;width:1px;background:repeating-linear-gradient(to bottom,rgba(244,119,50,.55) 0 3px,transparent 3px 8px)}
html[data-interface="terminal"] .terminal-lock .tl-h{position:absolute;top:var(--y);left:0;right:0;height:1px;background:repeating-linear-gradient(to right,rgba(244,119,50,.55) 0 3px,transparent 3px 8px)}
html[data-interface="terminal"] .terminal-lock .tl-ring{position:absolute;left:var(--x);top:var(--y);width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(-50%,-50%);border:1px dashed rgba(244,119,50,.45);border-radius:50%}
html[data-interface="terminal"] .terminal-lock .tl-ring[data-km="50"]{border-color:rgba(244,119,50,.6)}
html[data-interface="terminal"] .terminal-lock .tl-ring[data-km="200"]{border-color:rgba(244,119,50,.3)}
html[data-interface="terminal"] .terminal-lock .tl-ring b{position:absolute;top:-7px;left:50%;transform:translateX(-50%);padding:0 4px;background:#050505;color:var(--terminal-orange);font:400 8.5px/1.2 var(--mono,"Departure Mono",monospace);white-space:nowrap}
html[data-interface="terminal"] .terminal-lock .tl-sweep{position:absolute;left:var(--x);top:var(--y);width:calc(var(--sweep) * 2);height:calc(var(--sweep) * 2);border-radius:50%;background:conic-gradient(from 0deg,rgba(244,119,50,.3),rgba(244,119,50,0) 42deg,transparent);animation:terminal-sweep 4.5s linear infinite;transform:translate(-50%,-50%)}
html[data-interface="terminal"] .terminal-lock .tl-box{position:absolute;left:var(--x);top:var(--y);width:72px;height:72px;transform:translate(-50%,-50%);background:linear-gradient(var(--terminal-orange),var(--terminal-orange)) top left/12px 2px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) top left/2px 12px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) top right/12px 2px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) top right/2px 12px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom left/12px 2px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom left/2px 12px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom right/12px 2px no-repeat,linear-gradient(var(--terminal-orange),var(--terminal-orange)) bottom right/2px 12px no-repeat}
html[data-interface="terminal"] .terminal-lock .tl-tag{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:2px 6px;background:var(--terminal-orange);color:#050505;font:9px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.1em;white-space:nowrap}
html[data-interface="terminal"] .terminal-lock .tl-lat{position:absolute;top:var(--y);left:12px;transform:translateY(calc(-100% - 5px));padding:2px 6px;background:#050505;border:1px solid rgba(244,119,50,.5);color:var(--terminal-orange);font:10px/1.3 var(--mono,"Departure Mono",monospace)}
html[data-interface="terminal"] .terminal-lock .tl-lng{position:absolute;left:var(--x);top:64px;transform:translateX(6px);padding:2px 6px;background:#050505;border:1px solid rgba(244,119,50,.5);color:var(--terminal-orange);font:10px/1.3 var(--mono,"Departure Mono",monospace)}
/* Chronologie : périodes en un clic et journal accolé. */
html[data-interface="terminal"] .terminal-periods{display:flex;flex-wrap:wrap;gap:4px;margin-left:12px}
html[data-interface="terminal"] #mapYearSliderTicks:has(.terminal-periods){flex-wrap:wrap;row-gap:8px}
html[data-interface="terminal"] #mapYearSliderTicks .map-timeline-dates{flex:0 0 auto}
html[data-interface="terminal"] #mapYearSliderTicks .terminal-periods{flex:1 0 100%;order:-1;margin-left:0;flex-wrap:wrap;row-gap:4px}
html[data-interface="terminal"] #mapYearSliderTicks .terminal-periods button{min-height:24px;padding:0 7px;white-space:nowrap}
html[data-interface="terminal"] .terminal-periods button{min-height:28px;padding:0 9px;background:none;border:1px solid rgba(255,255,255,.14);color:#c9cad1;font:10px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.04em;cursor:pointer}
html[data-interface="terminal"] .terminal-periods button[aria-pressed="true"]{background:rgba(244,119,50,.14);border-color:var(--terminal-orange);color:var(--terminal-orange)}
html[data-interface="terminal"] #mapYearSliderShell .map-year-slider-head{flex-wrap:wrap}
html[data-interface="terminal"] #mapYearSliderShell.terminal-dock{grid-template-columns:minmax(0,1fr) 300px;column-gap:16px}
html[data-interface="terminal"] #mapYearSliderShell.terminal-dock > *{grid-column:1}
html[data-interface="terminal"] #mapYearSliderShell.terminal-dock > .terminal-journal{grid-column:2;grid-row:1 / span 6;margin:0;align-self:stretch;overflow:hidden}
/* Registre : code dossier et coordonnées. */
html[data-interface="terminal"] .terminal-row-code{display:block;margin-top:4px;font:9.5px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.04em;color:#8b8d98}
/* Fiche : navigation entre fiches et couverture. */
html[data-interface="terminal"] .td-nav{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08)}
html[data-interface="terminal"] .td-nav .td-close{flex:0 0 auto;width:auto;height:34px;padding:0 8px;background:none;border:0;color:#e4e4e8;font:10px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.06em;cursor:pointer}
html[data-interface="terminal"] .td-nav .td-pos{margin-left:auto;font:9.5px/1 var(--mono,"Departure Mono",monospace);color:#8b8d98}
html[data-interface="terminal"] .td-nav :is(.td-prev,.td-next){width:34px;height:34px;background:none;border:1px solid rgba(255,255,255,.14);color:#fff;font:12px/1 var(--mono,"Departure Mono",monospace);cursor:pointer}
html[data-interface="terminal"] .td-nav :is(.td-prev,.td-next):disabled{opacity:.35;cursor:default}
html[data-interface="terminal"] .td-cover{position:relative;margin:12px 12px 0;aspect-ratio:600/315;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#111114}
html[data-interface="terminal"] .td-cover img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) contrast(1.1)}
html[data-interface="terminal"] .td-cover::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
html[data-interface="terminal"] .td-cover figcaption{position:absolute;left:8px;bottom:8px;z-index:1;padding:2px 6px;background:#050505;font:8.5px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.12em;color:#c9cad1}
html[data-interface="terminal"] .terminal-sheet[data-state="peek"] .td-cover{display:none}
/* Aperçu au survol : bandeau « signal ». */
html[data-interface="terminal"] .navigation-shell .map-tooltip-card-v1::before{content:var(--ekl-i18n-41793f4f6c,"▌SIGNAL DÉTECTÉ");display:block;padding:5px 10px;background:rgba(244,119,50,.14);border-bottom:1px solid rgba(244,119,50,.35);font:9px/1.3 var(--mono,"Departure Mono",monospace);letter-spacing:.14em;color:var(--terminal-orange)}
html[lang^="en"][data-interface="terminal"] .navigation-shell .map-tooltip-card-v1::before{content:var(--ekl-i18n-41793f4f6c,"▌SIGNAL DETECTED")}

/* Barre d'état : tous les liens d'information sur une seule ligne, en resserrant l'écart sur les écrans plus étroits. */
@media (min-width:761px) and (max-width:1400px){
  html[data-interface="terminal"] .navigation-shell .console-statusbar .site-information{gap:8px}
}
@media (min-width:761px) and (max-width:1180px){
  html[data-interface="terminal"] .navigation-shell .console-statusbar .site-information{gap:3px}
  html[data-interface="terminal"] .navigation-shell .console-statusbar .site-information a{font-size:8px;letter-spacing:-.02em}
}

/* ── Colonnes latérales (terminal-panels.js) : poignées de largeur, repli, languettes de redéploiement ── */
html[data-interface="terminal"] .terminal-resize{position:fixed;top:var(--header-height);bottom:var(--status-height,28px);z-index:660;width:9px;cursor:col-resize;touch-action:none}
html[data-interface="terminal"] .terminal-resize[data-side="left"]{left:calc(var(--rail-width) + var(--context-width) - 5px)}
html[data-interface="terminal"] .terminal-resize[data-side="right"]{right:calc(var(--right-rail) - 4px)}
html[data-interface="terminal"] .terminal-resize::before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent;transition:background .15s}
html[data-interface="terminal"] .terminal-resize:is(:hover,:focus-visible)::before,html.terminal-resizing[data-interface="terminal"] .terminal-resize::before{background:var(--terminal-orange);box-shadow:0 0 8px rgba(244,119,50,.6)}
html[data-interface="terminal"] .terminal-resize:focus-visible{outline:none}
html[data-interface="terminal"] .terminal-collapse{position:absolute;top:50%;left:50%;width:18px;height:44px;padding:0;transform:translate(-50%,-50%);background:#070708;border:1px solid rgba(255,255,255,.22);color:#c9cad1;font:14px/1 var(--mono,"Departure Mono",monospace);cursor:pointer}
html[data-interface="terminal"] .terminal-collapse:is(:hover,:focus-visible){border-color:var(--terminal-orange);color:var(--terminal-orange);outline:none}
html.terminal-resizing[data-interface="terminal"],html.terminal-resizing[data-interface="terminal"] *{cursor:col-resize!important;user-select:none!important}
html[data-interface="terminal"] .terminal-reopen{position:fixed;top:50%;z-index:660;display:flex;flex-direction:column;align-items:center;gap:8px;width:26px;padding:10px 0;transform:translateY(-50%);background:#070708;border:1px solid rgba(244,119,50,.5);color:var(--terminal-orange);font:9px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 18px rgba(0,0,0,.6)}
html[data-interface="terminal"] .terminal-reopen[data-side="left"]{left:var(--rail-width);border-left:0}
html[data-interface="terminal"] .terminal-reopen[data-side="right"]{right:0;border-right:0}
html[data-interface="terminal"] .terminal-reopen:is(:hover,:focus-visible){background:rgba(244,119,50,.14);outline:none}
html[data-interface="terminal"] .terminal-reopen-label{writing-mode:vertical-rl}
html[data-interface="terminal"] .terminal-reopen[data-side="left"] .terminal-reopen-label{transform:rotate(180deg)}
html[data-interface="terminal"] :is(.terminal-resize,.terminal-reopen)[hidden]{display:none}
html.terminal-register-closed[data-interface="terminal"] .navigation-shell .console-register{display:none!important}
@media (max-width:1050px){html[data-interface="terminal"] :is(.terminal-resize,.terminal-reopen){display:none}}

/* Bouton Connexion de l'en-tête : plein orange, invite de terminal. */
html[data-interface="terminal"] .navigation-shell #authButton:not(.auth-trigger-user){display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;background:var(--terminal-orange);border:1px solid var(--terminal-orange);color:#050505;font:700 11px/1 var(--mono,"Departure Mono",monospace);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 18px rgba(244,119,50,.35);transition:background .15s,box-shadow .15s}
html[data-interface="terminal"] .navigation-shell #authButton:not(.auth-trigger-user)::before{content:">_";font-weight:400;letter-spacing:0}
html[data-interface="terminal"] .navigation-shell #authButton:not(.auth-trigger-user):is(:hover,:focus-visible){background:#ff8a4c;border-color:#ff8a4c;color:#050505;box-shadow:0 0 26px rgba(244,119,50,.6)}
/* Registre replié : les commandes de droite de la carte laissent la place à la languette de redéploiement. */
html.terminal-register-closed[data-interface="terminal"] #mapView #map .leaflet-right{margin-right:28px}
html.terminal-register-closed[data-interface="terminal"] #mapView .console-north{margin-right:28px}
