
:root{
  --u-bg:#03101b;
  --u-panel:#061827;
  --u-panel-2:#071d2d;
  --u-line:#0fdcf4;
  --u-line-soft:rgba(15,220,244,.34);
  --u-cyan:#18e7ff;
  --u-pink:#ff3f88;
  --u-green:#77e89b;
  --u-yellow:#ffcc57;
  --u-text:#edf8ff;
  --u-muted:#a8bdcb;
  --u-shadow:0 18px 55px rgba(0,0,0,.32);
}
body.stable-univers{
  margin:0;
  color:var(--u-text);
  background:
    radial-gradient(circle at 8% 14%,rgba(0,229,255,.08),transparent 23%),
    radial-gradient(circle at 92% 26%,rgba(255,46,136,.07),transparent 25%),
    #020b14;
}
.stable-univers .site-header{position:relative;z-index:30}
.univers-shell{
  width:min(1280px,calc(100% - 28px));
  margin:0 auto;
  padding:18px 0 34px;
}
.univers-shell *{box-sizing:border-box}
.univers-shell svg{stroke-linecap:round;stroke-linejoin:round}
.univers-kicker,.u-code,.u-num,.u-status-head,.u-status-meta,.u-head{
  font-family:"Space Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.univers-hero{
  position:relative;
  min-height:455px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:18px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--u-line-soft);
  border-radius:18px;
  background:#04111d;
  box-shadow:var(--u-shadow);
  isolation:isolate;
}
.univers-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(2,9,16,.98) 0%,rgba(2,9,16,.92) 30%,rgba(2,9,16,.26) 59%,rgba(2,9,16,.18) 100%),
    url('/assets/images/univers/hero-city-v182.webp') 58% center/cover no-repeat;
}
.univers-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent 70%,rgba(3,14,24,.76)),
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(24,231,255,.022) 80px);
}
.univers-hero-copy{
  max-width:675px;
  padding:34px 28px 28px 34px;
  align-self:center;
}
.univers-kicker{margin:0 0 9px;color:var(--u-cyan);font-size:.72rem;font-weight:700}
.univers-hero h1{
  margin:0;
  color:#f6fbff;
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(4rem,8vw,6.8rem);
  line-height:.84;
  letter-spacing:.015em;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  text-shadow:0 0 24px rgba(24,231,255,.25);
}
.univers-hero-sub{
  margin:10px 0 10px;
  color:#c8d8ff;
  font:800 clamp(1.15rem,2vw,1.6rem)/1.2 Inter,sans-serif;
}
.univers-hero-intro{max-width:64ch;margin:0;color:#d8e4ec;line-height:1.58;font-size:.92rem}
.u-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.u-stat{display:grid;grid-template-columns:30px 1fr;gap:0 10px;align-items:center}
.u-stat svg{grid-row:1/3;width:23px;height:23px;stroke:var(--u-cyan);fill:none}
.u-stat small{color:#8daab9;font-size:.7rem}
.u-stat span{font-size:.88rem;color:#fff}
.u-scroll{position:absolute;right:14px;bottom:16px;color:var(--u-cyan);font:.62rem "Space Mono",monospace;writing-mode:vertical-rl;letter-spacing:.1em}
.u-hero-status{
  align-self:center;
  margin:24px 24px 24px 0;
  padding:16px;
  border:1px solid rgba(24,231,255,.5);
  border-radius:12px;
  background:rgba(3,18,31,.82);
  backdrop-filter:blur(6px);
  box-shadow:0 0 28px rgba(0,0,0,.24);
}
.u-status-head{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--u-cyan);font-size:.74rem}
.u-num{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:24px;
  padding:0 7px;
  border:1px solid currentColor;
  border-radius:6px;
  font-size:.68rem;
}
.u-status-row{margin:12px 0}
.u-status-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:#eafaff;font-size:.65rem}
.u-status-meta small{color:#90b3c1}
.u-status-track{height:7px;background:#123b54;border-radius:999px;overflow:hidden}
.u-status-track span{display:block;width:var(--p);height:100%;background:linear-gradient(90deg,var(--u-cyan),#32f0f9);box-shadow:0 0 12px rgba(24,231,255,.5)}
.u-status-row:nth-of-type(4) .u-status-track span{background:linear-gradient(90deg,var(--u-pink),#ff63aa)}
.u-status-quote{
  margin:15px 0 0;
  padding:12px 10px 4px;
  border-top:1px solid rgba(24,231,255,.22);
  color:#9feaff;
  font:600 .9rem/1.35 "Dancing Script",cursive;
  text-align:center;
}
.u-grid{display:grid;grid-template-columns:1.58fr .92fr;gap:12px;margin-top:12px}
.u-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.u-module{
  position:relative;
  border:1px solid var(--u-line-soft);
  border-radius:14px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(7,26,42,.97),rgba(4,14,25,.98)),
    #071624;
  box-shadow:0 10px 35px rgba(0,0,0,.2);
}
.u-module::before{content:"";position:absolute;left:0;top:24px;width:2px;height:34px;background:var(--u-cyan);box-shadow:0 0 12px var(--u-cyan)}
.u-module-inner{padding:15px 17px 17px}
.u-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--u-cyan);font-size:.72rem;font-weight:700}
.u-head h2{margin:0;font:700 .78rem/1.15 "Space Mono",monospace;letter-spacing:.05em;text-transform:uppercase}
.u-head .u-code{color:#6ba6b7;font-size:.58rem}
.u-skill-wrap{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:12px}
.u-skill-branch{position:relative;padding:3px 0 3px 8px}
.u-skill-branch h3{margin:0 0 11px;color:#f6fbff;font-size:.85rem}
.u-skill{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;margin:10px 0}
.u-skill-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:8px;color:var(--u-cyan);background:rgba(24,231,255,.04)}
.u-skill-icon svg{width:25px;height:25px;stroke:currentColor;fill:none}
.u-skill strong{font-size:.78rem}
.u-skill small{display:block;color:#9eb5c3;font-size:.65rem;line-height:1.3}
.u-terminal{padding:12px;border:1px solid rgba(24,231,255,.38);border-radius:9px;background:#00131d;font:500 .68rem/1.5 "Space Mono",monospace;color:#dff8f2}
.u-terminal-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#a6d8e6}
.u-terminal-dots{display:flex;gap:5px}.u-terminal-dots i{width:8px;height:8px;border-radius:50%;background:#ff5b6d}.u-terminal-dots i:nth-child(2){background:#ffd55b}.u-terminal-dots i:nth-child(3){background:#6eea86}
.u-terminal code{display:block;white-space:pre-wrap}.u-terminal .cmd{color:#7ff3a9}
.u-quest{display:grid;grid-template-rows:150px 1fr;border-color:rgba(24,231,255,.42)}
.u-quest-visual{position:relative;min-height:150px;background:linear-gradient(180deg,rgba(4,16,27,.05),rgba(4,16,27,.92)),url('/assets/images/univers/trail-sentier.webp') center/cover no-repeat}
.u-quest-visual strong{position:absolute;left:18px;bottom:14px;font:800 1.65rem/1.05 Montserrat,sans-serif}
.u-copy{color:#c5d4dd;line-height:1.48;font-size:.82rem}
.u-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:12px 0 0;padding:0;list-style:none}
.u-checks li{position:relative;padding-left:24px;font-size:.75rem;color:#d9e7ee}
.u-checks li::before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:17px;height:17px;border-radius:4px;background:var(--u-green);color:#052013;font-weight:900;font-size:.68rem}
.u-about-notes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.u-about-note{padding:10px 11px;border:1px solid rgba(24,231,255,.18);border-radius:8px;background:rgba(24,231,255,.03)}
.u-about-note h3{margin:0 0 5px;color:#b9f6ff;font:.7rem "Space Mono",monospace;text-transform:uppercase}
.u-about-note p{margin:0;color:#9fb4c1;font-size:.68rem;line-height:1.45}
.u-world{margin-top:12px}
.u-world-layout{display:grid;grid-template-columns:1.05fr 1.5fr .68fr;gap:20px;align-items:stretch;min-height:330px}
.u-world-copy h3{margin:0 0 14px;font:800 clamp(1.9rem,2.7vw,2.8rem)/1 Montserrat,sans-serif;overflow-wrap:normal;word-break:normal;max-width:12ch}
.u-world-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.u-world-copy p{margin:0;color:#c6d5de;line-height:1.58;font-size:.84rem;overflow-wrap:normal;word-break:normal}
.u-map{position:relative;min-height:300px;border:1px solid rgba(24,231,255,.13);border-radius:12px;overflow:hidden;background:radial-gradient(circle at 55% 45%,rgba(24,231,255,.1),transparent 34%),linear-gradient(rgba(24,231,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(24,231,255,.025) 1px,transparent 1px);background-size:auto,22px 22px,22px 22px}
.u-map svg{position:absolute;inset:0;width:100%;height:100%}.u-map path{fill:none;stroke:#2c7181;stroke-width:1}.u-map-route{stroke:var(--u-green)!important;stroke-width:2.3!important;stroke-dasharray:5 5;fill:none;filter:drop-shadow(0 0 6px rgba(119,232,155,.55))}.u-map-node{fill:#06111c;stroke:var(--u-cyan);stroke-width:3}.u-map-node.al{stroke:var(--u-green)}.u-map-label{position:absolute;padding:6px 9px;border:1px solid rgba(24,231,255,.48);border-radius:5px;background:#061522;color:#eafcff;font:.69rem "Space Mono",monospace;white-space:nowrap;overflow-wrap:normal;word-break:normal}.u-map-label.fr{left:23%;top:40%}.u-map-label.al{right:18%;top:55%;border-color:rgba(119,232,155,.52);color:#a4ffc0}
.u-pin{position:absolute;padding:5px 8px;border:1px solid rgba(24,231,255,.5);border-radius:5px;background:#063047;color:#dffcff;font:.62rem "Space Mono",monospace}.u-pin.fr{left:27%;top:42%}.u-pin.al{right:19%;top:50%;border-color:rgba(119,232,155,.55);color:#bcffd1}
.u-world-note{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:14px 12px;border-left:1px solid rgba(24,231,255,.18);color:#a9becb;font-size:.76rem;line-height:1.5}
.u-world-note strong{display:block;color:var(--u-green);margin-bottom:7px}
.u-world-note ul{margin:0;padding-left:17px}.u-world-note li{margin:6px 0}
.u-games{border-color:rgba(24,231,255,.38)}
.u-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.u-game{display:flex;flex-direction:column;min-height:190px;padding:12px;border:1px solid rgba(24,231,255,.26);border-radius:9px;color:inherit;text-decoration:none;background:linear-gradient(180deg,rgba(24,231,255,.07),rgba(255,255,255,.015));transition:transform .2s ease,border-color .2s ease}
.u-game:hover,.u-game:focus-visible{transform:translateY(-3px);border-color:var(--u-cyan)}
.u-game svg{width:52px;height:52px;stroke:var(--u-cyan);fill:none;margin-bottom:auto}
.u-game strong{margin-top:12px;font-size:.78rem}.u-game small{margin-top:4px;color:#a7bbc7;font-size:.65rem;line-height:1.35}.u-ext{margin-top:8px;color:var(--u-cyan);font-size:.6rem}
.u-music{border-color:rgba(255,63,136,.46);background:radial-gradient(circle at 18% 20%,rgba(179,0,27,.16),transparent 38%),linear-gradient(145deg,#160b14,#08111d 65%)}
.u-music::before{background:var(--u-pink);box-shadow:0 0 12px var(--u-pink)}
.u-music .u-head,.u-music .u-num{color:#ff7eac}
.u-track-list{display:grid;gap:6px}
.u-track-row{display:grid;grid-template-columns:1fr auto;gap:6px}
.u-track{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;width:100%;padding:7px 8px;border:1px solid rgba(255,63,136,.2);border-radius:8px;color:inherit;text-align:left;background:rgba(255,63,136,.035);font:inherit;cursor:pointer}
.u-track.is-active,.u-track:hover,.u-track:focus-visible{border-color:var(--u-pink);background:rgba(255,63,136,.09)}
.u-play{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,63,136,.55);border-radius:50%;color:#ff9aba;font-size:.65rem}
.u-track strong{font-size:.74rem}.u-track small{display:block;margin-top:1px;color:#c7aeb7;font-size:.62rem}.u-track-action{font-size:.56rem;color:#ff9aba;white-space:nowrap}
.u-track-open{display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid rgba(255,63,136,.2);border-radius:8px;color:#e9c8d4;text-decoration:none;font-size:.6rem;white-space:nowrap}
.u-spotify-player{margin-top:8px;border:1px solid rgba(255,63,136,.26);border-radius:9px;background:#090b12;overflow:hidden}
.u-spotify-hint{margin:0;padding:9px 10px;color:#c6afb8;font-size:.66rem;line-height:1.4}
.u-spotify-slot iframe{display:block;width:100%;height:152px;border:0;background:#121212}
.u-trail{margin-top:12px;border-color:rgba(119,232,155,.46);background:#071813}
.u-trail::before{background:var(--u-green);box-shadow:0 0 12px var(--u-green)}
.u-trail-layout{display:grid;grid-template-columns:1.03fr .95fr .62fr;gap:12px}
.u-trail-copy{position:relative;min-height:235px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:10px;padding:18px}
.u-trail-copy::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,18,13,.93),rgba(5,18,13,.25)),url('/assets/images/univers/trail-sentier.webp') center/cover no-repeat}
.u-trail-copy>*{position:relative}.u-trail-copy h3{margin:0 0 8px;font:800 clamp(1.7rem,2.6vw,2.5rem)/1.04 Montserrat,sans-serif}.u-trail-copy p{margin:0;color:#c3d6ca;line-height:1.5;font-size:.8rem}
.u-trail-info{display:grid;gap:7px}.u-trail-stat{padding:8px 10px;border:1px solid rgba(119,232,155,.22);border-radius:8px;background:rgba(119,232,155,.035)}.u-trail-stat small{display:block;color:#9bc7a9;font-size:.62rem}.u-trail-stat strong{font-size:.82rem}
.u-elev{padding:9px;border:1px solid rgba(119,232,155,.2);border-radius:8px}.u-elev svg{width:100%;height:80px}.u-elev polyline{fill:rgba(119,232,155,.07);stroke:var(--u-green);stroke-width:2}
.u-badges{display:grid;gap:7px}.u-badge{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid rgba(119,232,155,.22);border-radius:8px;background:rgba(119,232,155,.03)}.u-badge-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(119,232,155,.5);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:rgba(119,232,155,.12);color:var(--u-green)}.u-badge strong{font-size:.72rem}.u-badge small{display:block;margin-top:2px;color:#9fc8ac;font-size:.62rem}
.u-save{margin-top:12px}
.u-save-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.u-save-link{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid rgba(24,231,255,.33);border-radius:9px;color:inherit;text-decoration:none}
.u-save-link:hover,.u-save-link:focus-visible{border-color:var(--u-cyan);transform:translateY(-2px)}
.u-save-link.coffee{border-color:rgba(255,63,136,.5);background:rgba(255,63,136,.05)}
.u-save-icon{display:grid;place-items:center;width:41px;height:41px;border:1px solid rgba(24,231,255,.32);border-radius:8px;font-size:1.2rem}.coffee .u-save-icon{border-color:rgba(255,63,136,.45);color:#ff7fad}
.u-save-link strong{display:block;font-size:.78rem}.u-save-link small{display:block;margin-top:2px;color:#9fb4c1;font-size:.63rem;line-height:1.35}.u-arrow{color:var(--u-cyan);font-size:1.1rem}.coffee .u-arrow{color:var(--u-pink)}
.u-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 11px;border:1px solid rgba(24,231,255,.45);border-radius:7px;color:#e9fdff;text-decoration:none;background:rgba(24,231,255,.05);font-weight:700;font-size:.72rem}
.u-reveal{opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease}.u-reveal.is-visible{opacity:1;transform:none}
.u-hero-entry{animation:u-hero-entry .45s ease-out both}
@keyframes u-hero-entry{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:980px){
  .univers-hero{grid-template-columns:1fr;min-height:auto}
  .u-hero-status{margin:0 24px 24px}
  .univers-hero-copy{padding-bottom:18px}
  .u-grid,.u-two{grid-template-columns:1fr}
  .u-skill-wrap{grid-template-columns:1fr 1fr}.u-terminal{grid-column:1/-1}
  .u-world-layout{grid-template-columns:1fr 1.35fr;min-height:0}.u-world-copy h3{max-width:none}.u-world-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(24,231,255,.2)}
  .u-trail-layout{grid-template-columns:1fr 1fr}.u-badges{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .u-save-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .univers-shell{width:min(100% - 18px,1280px);padding-top:10px}
  .univers-hero::before{background:linear-gradient(180deg,rgba(2,9,16,.97) 0%,rgba(2,9,16,.82) 62%,rgba(2,9,16,.48)),url('/assets/images/univers/hero-city-v182.webp') 68% center/cover no-repeat}
  .univers-hero-copy{padding:28px 18px 18px}
  .univers-hero h1{font-size:clamp(2.8rem,16vw,4.8rem);line-height:.92}
  .u-stats{grid-template-columns:1fr;gap:8px}
  .u-hero-status{margin:0 14px 14px}
  .u-head .u-code{display:none}
  .u-skill-wrap,.u-world-layout,.u-trail-layout{grid-template-columns:1fr;min-height:0}
  .u-about-notes{grid-template-columns:1fr}
  .u-checks{grid-template-columns:1fr}
  .u-game-grid{grid-template-columns:1fr 1fr}
  .u-world-note{grid-column:auto}
  .u-badges{grid-column:auto;grid-template-columns:1fr}
  .u-track-row{grid-template-columns:1fr}.u-track-open{min-height:34px}.u-track-action{display:none}
  .u-scroll{display:none}
}
@media(max-width:430px){
  .u-game-grid{grid-template-columns:1fr}
  .univers-hero h1{font-size:clamp(2.6rem,17vw,4.1rem)}
}
@media(prefers-reduced-motion:reduce){
  .u-reveal{opacity:1;transform:none;transition:none}
  .u-hero-entry{animation:none}
  .u-game,.u-save-link{transition:none}
}


/* V184 : intégration des visuels découpés depuis la maquette validée */
.univers-hero::before{
  background:
    linear-gradient(90deg,rgba(2,9,16,.98) 0%,rgba(2,9,16,.91) 31%,rgba(2,9,16,.28) 59%,rgba(2,9,16,.16) 100%),
    var(--u-hero-img,url('/assets/images/univers/v184/hero-scene.webp')) center/cover no-repeat!important;
}
.u-skill-icon{padding:0;overflow:hidden;background:#061522}
.u-skill-icon img{display:block;width:100%;height:100%;object-fit:cover}
.u-quest-visual{
  background:
    linear-gradient(180deg,rgba(4,16,27,.02),rgba(4,16,27,.78)),
    var(--u-quest-img,url('/assets/images/univers/v184/quest-trail.webp')) center/cover no-repeat!important;
}
.u-map.u-map-image{
  min-height:300px;
  border-color:rgba(24,231,255,.25);
  background:
    linear-gradient(180deg,rgba(3,16,27,.02),rgba(3,16,27,.12)),
    url('/assets/images/univers/v184/world-map.webp') center/cover no-repeat!important;
}
.u-map-image .u-map-label{
  z-index:2;
  box-shadow:0 3px 14px rgba(0,0,0,.35);
}
.u-map-image .u-map-label.fr{left:17%;top:38%}
.u-map-image .u-map-label.al{right:8%;top:48%}
.u-world-note{display:flex;flex-direction:column}
.u-world-photo{display:block;width:100%;height:122px;object-fit:cover;border:1px solid rgba(24,231,255,.28);border-radius:8px;margin-bottom:10px}
.u-game{padding:7px}
.u-game-art{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:7px;
  border:1px solid rgba(24,231,255,.25);
  box-shadow:0 8px 22px rgba(0,0,0,.26);
}
.u-game strong{margin-top:8px}
.u-music-layout{display:grid;grid-template-columns:minmax(145px,.82fr) minmax(0,1.25fr);gap:10px;align-items:start}
.u-music-visual{height:100%;min-height:250px;overflow:hidden;border:1px solid rgba(255,63,136,.28);border-radius:9px}
.u-music-visual img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover}
.u-music-content{min-width:0}
.u-trail-copy::before{
  background:
    linear-gradient(90deg,rgba(5,18,13,.91),rgba(5,18,13,.20)),
    var(--u-trail-img,url('/assets/images/univers/v184/trail-scene.webp')) center/cover no-repeat!important;
}
.u-badge-icon{padding:0;overflow:hidden;background:#061a13}
.u-badge-icon img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:980px){
  .u-music-layout{grid-template-columns:.72fr 1.28fr}
}
@media(max-width:700px){
  .univers-hero::before{
    background:
      linear-gradient(180deg,rgba(2,9,16,.96) 0%,rgba(2,9,16,.82) 62%,rgba(2,9,16,.48)),
      var(--u-hero-img,url('/assets/images/univers/v184/hero-scene.webp')) 62% center/cover no-repeat!important;
  }
  .u-music-layout{grid-template-columns:1fr}
  .u-music-visual{min-height:180px}
  .u-music-visual img{min-height:180px;max-height:230px}
  .u-world-photo{height:170px}
}


/* V185 : la carte monde prend toute la ligne */
.u-world{grid-column:1/-1}

/* V186 : carte géographique exacte Nantes -> Albanie */
.u-map.u-map-image{
  background:
    linear-gradient(180deg,rgba(3,16,27,.02),rgba(3,16,27,.08)),
    url('/assets/images/univers/v186/world-map-accurate.webp') center/cover no-repeat!important;
  min-height:320px;
}
.u-map-image .u-map-label.fr{
  left:49.62%;
  top:20.80%;
  transform:translate(-108%,-115%);
}
.u-map-image .u-map-label.al{
  left:55.04%;
  right:auto;
  top:24.39%;
  transform:translate(12%,-115%);
}
@media(max-width:700px){
  .u-map.u-map-image{min-height:250px}
  .u-map-image .u-map-label.fr{transform:translate(-96%,-112%)}
  .u-map-image .u-map-label.al{transform:translate(8%,-112%)}
}

/* V187 : PHP, ASP.NET et Python dans les compétences DEV */
.u-skill-col:first-child .u-skill{margin:7px 0}
.u-skill-added .u-skill-icon{border-color:rgba(24,231,255,.42)}
.u-skill-added .u-skill-icon img{object-fit:contain;background:#071827}
@media(min-width:1180px){
  .u-skill-col:first-child{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:10px;
    align-content:start;
  }
  .u-skill-col:first-child>h3{grid-column:1/-1}
}

/* V189 : ASP.NET retiré des compétences DEV */

/* V190 : échanges culturels depuis la nouvelle maquette */
.u-world-layout{
  grid-template-columns:minmax(250px,.82fr) minmax(520px,1.65fr) minmax(190px,.62fr);
  gap:16px;
}
.u-map.u-map-exchanges{
  position:relative;
  min-height:330px;
  overflow:hidden;
  border:1px solid rgba(24,231,255,.24);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(3,16,27,.01),rgba(3,16,27,.06)),
    url('/assets/images/univers/v190/world-routes.webp') center/cover no-repeat!important;
}
.u-map-exchanges .u-map-label{
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:165px;
  padding:5px 8px;
  border:1px solid rgba(24,231,255,.6);
  border-radius:6px;
  background:rgba(3,19,31,.94);
  color:#eafcff;
  font:700 .64rem/1.1 "Space Mono",monospace;
  white-space:nowrap;
  box-shadow:0 4px 18px rgba(0,0,0,.38);
  transform:none;
}
.u-map-exchanges .u-map-flag{font-size:.9rem;line-height:1}
.u-map-exchanges .usa{left:8%;top:45%}
.u-map-exchanges .uk{left:42%;top:17%}
.u-map-exchanges .de{left:67%;top:20%}
.u-map-exchanges .fr{left:41%;top:51%}
.u-map-exchanges .al{left:75%;top:53%;border-color:rgba(119,232,155,.65);color:#baffd0}

.u-world-note{
  justify-content:flex-start;
  padding:0 0 0 12px;
}
.u-world-photo{
  width:100%;
  height:152px;
  object-fit:cover;
  margin:0 0 12px;
  border:1px solid rgba(119,232,155,.35);
  border-radius:8px;
}
.u-zones-title{
  margin:0 0 8px;
  color:var(--u-cyan)!important;
  font:700 .66rem "Space Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.u-zones-list{
  display:grid;
  gap:7px;
  margin:0!important;
  padding:0!important;
  list-style:none;
}
.u-zones-list li{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:8px;
  align-items:center;
  margin:0!important;
  color:#c8d7df;
  font-size:.72rem;
}
.u-zone-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  color:#dffcff;
  font-size:1rem;
}

@media(max-width:1100px){
  .u-world-layout{grid-template-columns:minmax(220px,.8fr) minmax(400px,1.45fr)}
  .u-world-note{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr;gap:14px;border-left:0;border-top:1px solid rgba(24,231,255,.18);padding:14px 0 0}
  .u-world-photo{height:120px;margin:0;grid-row:1/3}
}
@media(max-width:700px){
  .u-world-layout{grid-template-columns:1fr}
  .u-map.u-map-exchanges{min-height:255px}
  .u-map-exchanges .u-map-label{font-size:.54rem;padding:4px 6px}
  .u-map-exchanges .usa{left:5%;top:45%}
  .u-map-exchanges .uk{left:39%;top:16%}
  .u-map-exchanges .de{left:63%;top:19%}
  .u-map-exchanges .fr{left:38%;top:51%}
  .u-map-exchanges .al{left:72%;top:54%}
  .u-world-note{grid-template-columns:1fr}
  .u-world-photo{grid-row:auto;height:170px}
}

/* V191 : correction de l'intégration de la carte d'échanges */
.u-map.u-map-exchanges{
  background:
    linear-gradient(180deg,rgba(3,16,27,.01),rgba(3,16,27,.04)),
    url('/assets/images/univers/v204/world-routes-canada-final.webp') center/cover no-repeat!important;
}
.u-map-exchanges .u-map-label{display:none!important}
