:root{--constellation-gold:#d7b66d;--constellation-paper:#f0dfb8;--constellation-bg:rgba(7,8,15,.92);--constellation-line:rgba(215,182,109,.34)}

/* Retour textuel conservé en haut de chaque module. */
#constellation-top-return.constellation-top-return{
  position:relative!important;
  z-index:8990!important;
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:calc(100% - 24px)!important;
  margin:10px 12px 4px!important;
  padding:5px 9px!important;
  border:1px solid rgba(215,182,109,.24)!important;
  border-radius:999px!important;
  background:rgba(7,8,15,.62)!important;
  color:rgba(240,223,184,.86)!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:.02em!important;
  font:500 12px/1.2 Georgia,serif!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px)!important;
}
#constellation-top-return.constellation-top-return:hover,
#constellation-top-return.constellation-top-return:focus-visible{
  color:#fff2ce!important;
  border-color:rgba(215,182,109,.55)!important;
  outline:2px solid rgba(215,182,109,.3)!important;
  outline-offset:2px!important;
}
#constellation-top-return.constellation-top-return-embedded{
  position:fixed!important;
  top:max(8px,env(safe-area-inset-top))!important;
  left:max(8px,env(safe-area-inset-left))!important;
  margin:0!important;
  z-index:2147483000!important;
}
/* PHASE 33 — navigation réellement arrimée au bas visible de l’écran.
   Le conteneur occupe toute la largeur du viewport visible ; les trois
   commandes sont rangées au bord inférieur, sans dépendre de la mise en page
   propre au module. Les variables --constellation-vv-* sont synchronisées
   par JavaScript avec VisualViewport afin de suivre les barres du navigateur. */
#constellation-global-nav{
  all:initial!important;
  box-sizing:border-box!important;
  position:fixed!important;
  top:auto!important;
  right:auto!important;
  bottom:var(--constellation-vv-bottom-gap,0px)!important;
  left:var(--constellation-vv-left,0px)!important;
  z-index:2147482000!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  height:calc(46px + max(10px,env(safe-area-inset-bottom)))!important;
  min-height:calc(46px + max(10px,env(safe-area-inset-bottom)))!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:0!important;
  isolation:isolate!important;
  pointer-events:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}
#constellation-global-nav.constellation-nav-deferred{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px)!important;
}
#constellation-global-nav :is(a,button){
  all:unset!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  flex:0 0 46px!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(215,182,109,.46)!important;
  border-radius:999px!important;
  background:rgba(7,8,15,.97)!important;
  color:var(--constellation-paper)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.025)!important;
  overflow:hidden!important;
  cursor:pointer!important;
  text-decoration:none!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  pointer-events:auto!important;
  transform:none!important;
}
#constellation-global-nav :is(a,button):hover,
#constellation-global-nav :is(a,button):focus-visible{
  background:rgba(38,31,20,.98)!important;
  border-color:rgba(229,199,127,.78)!important;
  color:#fff1c9!important;
  outline:2px solid rgba(215,182,109,.48)!important;
  outline-offset:2px!important;
}
#constellation-global-nav .constellation-nav-icon{
  all:unset!important;
  box-sizing:border-box!important;
  display:block!important;
  flex:none!important;
  width:23px!important;
  min-width:23px!important;
  max-width:23px!important;
  height:23px!important;
  min-height:23px!important;
  max-height:23px!important;
  color:inherit!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:none!important;
}
#constellation-global-nav .constellation-nav-icon *{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.72!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
#constellation-global-nav .constellation-archives .constellation-nav-icon{transform:scale(.92)!important}
#constellation-global-nav .constellation-top .constellation-nav-icon{transform:translateY(-.4px) scale(.94)!important}
#constellation-global-nav .constellation-portal .constellation-nav-icon{transform:scale(.94)!important}
#constellation-global-nav .constellation-compass-trigger{border-color:rgba(116,212,236,.62)!important;background:linear-gradient(145deg,rgba(15,35,52,.98),rgba(26,20,42,.98))!important}
#constellation-global-nav .constellation-compass-trigger .constellation-nav-icon{color:#d9f4f8!important}
@media(max-width:1100px){
  #constellation-global-nav{
    background:transparent!important;
    border-top:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}
@media(max-width:380px){
  #constellation-global-nav{
    gap:6px!important;
    padding-left:max(9px,env(safe-area-inset-left))!important;
    padding-bottom:max(9px,env(safe-area-inset-bottom))!important;
    height:calc(46px + max(9px,env(safe-area-inset-bottom)))!important;
    min-height:calc(46px + max(9px,env(safe-area-inset-bottom)))!important;
  }
}
/* Toute interface de lecture ou de dialogue prioritaire prend temporairement
   la place du dock : le texte ne peut plus passer sous les trois boutons. */
html.constellation-tcia-open #constellation-global-nav,
html.constellation-interface-open #constellation-global-nav,
body:has(dialog[open]) #constellation-global-nav,
body:has(.modal.open) #constellation-global-nav,
body:has(.modal.show) #constellation-global-nav,
body:has(.lightbox.open) #constellation-global-nav,
body:has(.atlas-viewer.open) #constellation-global-nav,
body:has(.constellation-image-viewer.open) #constellation-global-nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* PHASE 46 — Boussole permanente et cartographie synthétique. */
.constellation-compass{position:fixed;inset:0;z-index:2147483100;display:none;color:#eee1c4;font-family:Georgia,serif}
.constellation-compass.open{display:block}
.constellation-compass-backdrop{all:unset!important;position:absolute!important;z-index:0!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;background:rgba(1,2,6,.76)!important;backdrop-filter:blur(5px)!important;cursor:pointer!important}
.constellation-compass-sheet{box-sizing:border-box;position:absolute;z-index:1;top:0;right:0;width:min(450px,94vw);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 75% 8%,rgba(98,63,151,.19),transparent 31%),radial-gradient(circle at 18% 74%,rgba(50,157,184,.12),transparent 34%),linear-gradient(155deg,#0d1220,#080a12 54%,#120d1b);border-left:1px solid rgba(215,182,109,.42);box-shadow:-28px 0 90px rgba(0,0,0,.64),inset 1px 0 rgba(255,255,255,.025);overflow:hidden}
.constellation-compass-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:calc(22px + env(safe-area-inset-top)) 22px 18px;border-bottom:1px solid rgba(215,182,109,.2)}
.constellation-compass-sheet>header span{display:block;color:#f1d89f;font-size:1.2rem;letter-spacing:.025em}.constellation-compass-sheet>header p{margin:.55rem 0 0;color:rgba(238,225,196,.66);font-size:.76rem;line-height:1.5}.constellation-compass-sheet>header strong{color:#d9edf0;font-weight:400}
.constellation-compass-close{all:unset!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;border:1px solid rgba(215,182,109,.32)!important;border-radius:50%!important;color:#f0dfb8!important;background:rgba(255,255,255,.03)!important;font:26px/1 Georgia,serif!important;cursor:pointer!important}
.constellation-compass-sheet>nav{overflow:auto;padding:14px 14px 22px}
.constellation-compass-group{--group-glow:116,212,236;margin:0 0 10px;border:1px solid rgba(var(--group-glow),.24);border-radius:15px;background:linear-gradient(115deg,rgba(var(--group-glow),.13),rgba(14,14,28,.78) 58%,rgba(215,182,109,.055));box-shadow:inset 0 1px rgba(255,255,255,.035),0 9px 22px rgba(0,0,0,.18);overflow:hidden}.constellation-compass-group:nth-child(2){--group-glow:163,119,218}.constellation-compass-group:nth-child(3){--group-glow:215,182,109}.constellation-compass-group:nth-child(4){--group-glow:92,185,166}.constellation-compass-group:nth-child(5){--group-glow:202,112,151}.constellation-compass-group summary{list-style:none;cursor:pointer;padding:15px 15px;color:#f3e2bc;font-size:.98rem;letter-spacing:.018em;text-shadow:0 1px 12px rgba(var(--group-glow),.2)}.constellation-compass-group summary::-webkit-details-marker{display:none}.constellation-compass-group summary::after{content:'＋';float:right;color:rgb(var(--group-glow));font-family:system-ui,sans-serif;font-size:.9rem}.constellation-compass-group[open] summary{border-bottom:1px solid rgba(var(--group-glow),.17);background:linear-gradient(90deg,rgba(var(--group-glow),.1),transparent)}.constellation-compass-group[open] summary::after{content:'−'}
.constellation-compass-links{display:grid;gap:7px;padding:10px}.constellation-compass-links a{display:block;padding:11px 12px;border:1px solid rgba(var(--group-glow),.11);border-radius:10px;background:linear-gradient(100deg,rgba(var(--group-glow),.085),rgba(255,255,255,.018));color:rgba(244,232,205,.82);text-decoration:none;font-size:.84rem;line-height:1.35;transition:background .18s ease,border-color .18s ease,transform .18s ease}.constellation-compass-links a:hover,.constellation-compass-links a:focus-visible{background:linear-gradient(100deg,rgba(var(--group-glow),.19),rgba(215,182,109,.08));border-color:rgba(var(--group-glow),.34);color:#fff0c7;outline:none;transform:translateX(2px)}.constellation-compass-links a[aria-current="page"]{background:linear-gradient(90deg,rgba(var(--group-glow),.23),rgba(215,182,109,.09));color:#fff0c7;border-color:rgba(var(--group-glow),.38);box-shadow:inset 3px 0 rgb(var(--group-glow))}
.constellation-compass-sheet>footer{position:relative!important;z-index:3!important;display:flex!important;gap:8px!important;padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;border-top:1px solid rgba(215,182,109,.18)!important;background:rgba(4,5,9,.92)!important;pointer-events:auto!important}.constellation-compass-sheet>footer a{box-sizing:border-box!important;position:relative!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 0!important;min-height:44px!important;padding:10px 8px!important;border:1px solid rgba(215,182,109,.32)!important;border-radius:999px!important;background:rgba(215,182,109,.055)!important;color:#f2dfb6!important;text-align:center!important;text-decoration:none!important;font:600 .74rem/1.25 Georgia,serif!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important}
html.constellation-compass-open #constellation-global-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:560px){.constellation-compass-sheet{width:100%}.constellation-compass-sheet>header{padding-left:16px;padding-right:14px}.constellation-compass-sheet>nav{padding-left:10px;padding-right:10px}}
@media print{#constellation-top-return,#constellation-global-nav,.constellation-compass,.constellation-actions,.constellation-archive-modal,.constellation-image-viewer{display:none!important}}

.constellation-actions[hidden]{display:none!important}
.constellation-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.25rem 0;padding:.85rem;border:1px solid var(--constellation-line);border-radius:14px;background:rgba(7,8,15,.38)}
.constellation-actions button{width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;border:1px solid rgba(215,182,109,.32)!important;border-radius:999px!important;background:rgba(215,182,109,.08)!important;color:var(--constellation-paper)!important;padding:.62rem .86rem!important;font:600 .72rem/1.1 Georgia,serif!important;letter-spacing:.04em!important;cursor:pointer!important;white-space:normal!important}
.constellation-actions button:hover,.constellation-actions button:focus-visible{background:rgba(215,182,109,.18)!important;outline:2px solid rgba(215,182,109,.38)!important;outline-offset:2px!important}
.constellation-actions-status{flex-basis:100%;min-height:1.25em;color:rgba(240,223,184,.82);font:italic .8rem/1.4 Georgia,serif}
@media(max-width:560px){.constellation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.constellation-actions button{display:block!important;width:100%!important;padding:.65rem .55rem!important;font-size:.68rem!important}.constellation-actions-status{grid-column:1/-1}}

.constellation-archive-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.82)}
.constellation-archive-modal.open{display:flex}.constellation-archive-card{width:min(850px,100%);max-height:min(82vh,900px);display:flex;flex-direction:column;border:1px solid var(--constellation-line);border-radius:22px;background:#0a0d15;color:#eee1c4;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:hidden;font-family:Georgia,serif}.constellation-archive-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--constellation-line)}.constellation-archive-head h2{margin:0;font-size:1.35rem;font-weight:400}.constellation-archive-close{width:auto!important;border:1px solid var(--constellation-line)!important;border-radius:999px!important;background:transparent!important;color:inherit!important;padding:8px 11px!important;cursor:pointer!important}.constellation-archive-list{overflow:auto;padding:14px}.constellation-archive-empty{padding:24px;text-align:center;color:rgba(238,225,196,.65)}.constellation-archive-item{border:1px solid rgba(215,182,109,.22);border-radius:14px;padding:14px;margin-bottom:10px;background:rgba(255,255,255,.025)}.constellation-archive-item h3{margin:0 0 6px;font-size:1rem;color:#f1d89f}.constellation-archive-meta{font-size:.78rem;color:rgba(238,225,196,.62);margin-bottom:10px}.constellation-archive-preview{white-space:pre-wrap;max-height:6.2em;overflow:hidden;font-size:.84rem;line-height:1.45;color:rgba(238,225,196,.82)}.constellation-archive-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.constellation-archive-actions button{width:auto!important;border:1px solid rgba(215,182,109,.25)!important;border-radius:999px!important;background:rgba(215,182,109,.07)!important;color:inherit!important;padding:7px 10px!important;cursor:pointer!important;font:600 .7rem Georgia,serif!important}

.constellation-image-viewer{position:fixed;inset:0;z-index:11000;display:none;grid-template-rows:auto 1fr auto;background:rgba(2,2,4,.97);color:#f2dfb5;touch-action:none}.constellation-image-viewer.open{display:grid}.constellation-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--constellation-line);background:rgba(8,8,13,.96)}.constellation-viewer-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1rem Georgia,serif}.constellation-viewer-toolbar button{box-sizing:border-box!important;display:grid!important;place-items:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;padding:0!important;border:1px solid var(--constellation-line)!important;border-radius:50%!important;background:transparent!important;color:inherit!important;font:24px/1 Georgia,serif!important;cursor:pointer!important}.constellation-viewer-stage{position:relative;overflow:hidden;cursor:grab;touch-action:none}.constellation-viewer-stage.dragging{cursor:grabbing}.constellation-viewer-stage img{position:absolute;left:50%;top:50%;max-width:none!important;max-height:none!important;transform-origin:center;user-select:none;-webkit-user-drag:none}.constellation-viewer-help{text-align:center;padding:7px 10px;border-top:1px solid var(--constellation-line);font:italic .76rem Georgia,serif;color:rgba(242,223,181,.65)}.constellation-zoomable{cursor:zoom-in}.constellation-zoom-wrap{position:relative}.constellation-zoom-badge{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--constellation-line);border-radius:50%;background:rgba(4,5,8,.82);color:#f1d89f;pointer-events:none;font:700 18px Georgia,serif}
@media(max-width:560px){.constellation-viewer-title{font-size:.86rem}.constellation-viewer-help{font-size:.68rem}.constellation-viewer-toolbar button{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important}}
@media(prefers-reduced-motion:reduce){#constellation-global-nav,.constellation-image-viewer *{transition:none!important;animation:none!important}}
body:has(dialog[open]) #constellation-global-nav,
body:has(.modal.show) #constellation-global-nav,
body:has(.modal.open) #constellation-global-nav,
body:has(.lightbox.open) #constellation-global-nav,
body:has(.atlas-viewer.open) #constellation-global-nav,
body:has(.standalone-modal.open) #constellation-global-nav,
body:has(.constellation-image-viewer.open) #constellation-global-nav,
body:has(.constellation-archive-modal.open) #constellation-global-nav{opacity:0!important;pointer-events:none!important}

/* PHASE 43 — dispositif harmonisé de conservation, contact et réouverture. */
.constellation-working-modal{position:fixed;inset:0;z-index:10060;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.84)}
.constellation-working-modal.open{display:flex}.constellation-working-card{width:min(860px,100%);max-height:88vh;overflow:auto;padding:20px;border:1px solid var(--constellation-line);border-radius:22px;background:#0a0d15;color:#eee1c4;font-family:Georgia,serif;box-shadow:0 30px 100px rgba(0,0,0,.7)}.constellation-working-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.constellation-working-head h2{margin:0;font-weight:400}.constellation-working-card label{display:grid;gap:7px;margin-top:14px}.constellation-working-card input,.constellation-working-card textarea{box-sizing:border-box;width:100%;border:1px solid rgba(215,182,109,.3);border-radius:12px;background:rgba(255,255,255,.035);color:#f6e8c9;padding:11px 12px;font:inherit}.constellation-working-card textarea{min-height:240px;resize:vertical}.constellation-working-actions,.constellation-reflection-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.constellation-working-actions button,.constellation-working-head button,.constellation-reflection-actions button{border:1px solid rgba(215,182,109,.32)!important;border-radius:999px!important;background:rgba(215,182,109,.08)!important;color:inherit!important;padding:10px 13px!important;cursor:pointer!important;font:600 .76rem Georgia,serif!important}.constellation-working-note{font-size:.78rem;color:rgba(238,225,196,.65)}
.constellation-reflection{box-sizing:border-box;width:min(1120px,calc(100% - 28px));margin:48px auto 30px;padding:1px;color:#eee1c4;font-family:Georgia,serif}.constellation-reflection-inner{border:1px solid rgba(215,182,109,.3);border-radius:24px;padding:clamp(18px,4vw,34px);background:linear-gradient(145deg,rgba(12,15,25,.96),rgba(6,8,14,.96));box-shadow:0 24px 70px rgba(0,0,0,.28)}.constellation-reflection-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:24px;align-items:end}.constellation-reflection-kicker{color:#d7b66d;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}.constellation-reflection h2{margin:.35rem 0 0;color:#f1d89f;font-weight:400;font-size:clamp(1.65rem,4vw,2.5rem)}.constellation-reflection-heading p{margin:0;color:rgba(238,225,196,.72);line-height:1.65}.constellation-reflection-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.constellation-reflection-grid label{display:grid;gap:7px;font-size:.86rem}.constellation-reflection-grid .full{grid-column:1/-1}.constellation-reflection input,.constellation-reflection textarea{box-sizing:border-box;width:100%;border:1px solid rgba(215,182,109,.26);border-radius:12px;background:rgba(255,255,255,.035);color:#f6e8c9;padding:11px 12px;font:inherit}.constellation-reflection textarea{min-height:150px;resize:vertical}.constellation-reflection-consent{display:flex;align-items:flex-start;gap:8px;margin-top:15px;color:rgba(238,225,196,.68);font-size:.8rem}.constellation-reflection-note{font-size:.78rem;color:rgba(238,225,196,.62)}
@media(max-width:700px){.constellation-reflection-heading,.constellation-reflection-grid{grid-template-columns:1fr}.constellation-reflection-grid .full{grid-column:auto}.constellation-reflection-actions,.constellation-working-actions{display:grid;grid-template-columns:1fr 1fr}.constellation-reflection-actions button,.constellation-working-actions button{width:100%!important}}
@media(max-width:430px){.constellation-reflection-actions,.constellation-working-actions{grid-template-columns:1fr}}
body:has(.constellation-working-modal.open) #constellation-global-nav{opacity:0!important;pointer-events:none!important}

/* PHASE 44 — mentions légales toujours complètes, contrastées et dégagées du dock. */
footer.constellation-legal-footer{
  all:revert!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:10!important;
  display:block!important;
  width:min(1000px,calc(100% - 24px))!important;
  max-width:1000px!important;
  min-height:0!important;
  height:auto!important;
  margin:48px auto calc(74px + env(safe-area-inset-bottom))!important;
  padding:22px 18px!important;
  overflow:visible!important;
  border:1px solid rgba(215,182,109,.32)!important;
  border-radius:16px!important;
  background:rgba(5,7,13,.96)!important;
  color:#f0dfb8!important;
  text-align:center!important;
  font:500 15px/1.65 Georgia,serif!important;
  letter-spacing:0!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:0 14px 40px rgba(0,0,0,.28)!important;
  isolation:isolate!important;
}
footer.constellation-legal-footer .constellation-legal-links{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px 18px!important;
}
footer.constellation-legal-footer a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  max-width:100%!important;
  padding:7px 10px!important;
  color:#f4d58f!important;
  background:rgba(215,182,109,.08)!important;
  border:1px solid rgba(215,182,109,.24)!important;
  border-radius:999px!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  opacity:1!important;
  visibility:visible!important;
}
footer.constellation-legal-footer a:hover,
footer.constellation-legal-footer a:focus-visible{
  color:#fff6dc!important;
  background:rgba(215,182,109,.18)!important;
  border-color:rgba(244,213,143,.62)!important;
  outline:2px solid rgba(244,213,143,.38)!important;
  outline-offset:2px!important;
}
@media(max-width:560px){
  footer.constellation-legal-footer{
    width:calc(100% - 16px)!important;
    margin-top:34px!important;
    padding:14px 10px!important;
    font-size:14px!important;
  }
  footer.constellation-legal-footer .constellation-legal-links{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  footer.constellation-legal-footer a{width:100%!important}
}
@media print{footer.constellation-legal-footer{display:none!important}}

/* PHASE 51 — isolation totale de la Boussole.
   Plusieurs modules emploient volontairement des règles globales sur nav,
   aside, footer, details, summary, a ou button. Le composant commun neutralise
   désormais cet héritage afin de conserver exactement la même géométrie,
   la même orientation et le même contenu depuis chaque page. */
#constellation-compass.constellation-compass{
  all:initial!important;
  box-sizing:border-box!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483100!important;
  display:none!important;
  width:100vw!important;
  height:100dvh!important;
  overflow:hidden!important;
  color:#eee1c4!important;
  font:16px/1.4 Georgia,serif!important;
  direction:ltr!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  isolation:isolate!important;
}
#constellation-compass.constellation-compass.open{display:block!important}
#constellation-compass .constellation-compass-backdrop{
  all:unset!important;
  box-sizing:border-box!important;
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:rgba(1,2,6,.76)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  backdrop-filter:blur(5px)!important;
  cursor:pointer!important;
}
#constellation-compass .constellation-compass-sheet{
  all:initial!important;
  box-sizing:border-box!important;
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  width:min(450px,94vw)!important;
  min-width:0!important;
  max-width:94vw!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-left:1px solid rgba(215,182,109,.42)!important;
  border-radius:0!important;
  background:radial-gradient(circle at 75% 8%,rgba(98,63,151,.19),transparent 31%),radial-gradient(circle at 18% 74%,rgba(50,157,184,.12),transparent 34%),linear-gradient(155deg,#0d1220,#080a12 54%,#120d1b)!important;
  color:#eee1c4!important;
  box-shadow:-28px 0 90px rgba(0,0,0,.64),inset 1px 0 rgba(255,255,255,.025)!important;
  font:16px/1.4 Georgia,serif!important;
  direction:ltr!important;
  writing-mode:horizontal-tb!important;
}
#constellation-compass .constellation-compass-sheet>header{
  all:initial!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
  margin:0!important;
  padding:calc(22px + env(safe-area-inset-top)) 22px 18px!important;
  border:0!important;
  border-bottom:1px solid rgba(215,182,109,.2)!important;
  background:transparent!important;
  color:#eee1c4!important;
  font:16px/1.4 Georgia,serif!important;
}
#constellation-compass .constellation-compass-sheet>header>div{all:initial!important;display:block!important;min-width:0!important;color:#eee1c4!important;font:16px/1.4 Georgia,serif!important}
#constellation-compass .constellation-compass-sheet>header span{all:initial!important;display:block!important;color:#f1d89f!important;font:1.2rem/1.25 Georgia,serif!important;letter-spacing:.025em!important;writing-mode:horizontal-tb!important}
#constellation-compass .constellation-compass-sheet>header p{all:initial!important;display:block!important;margin:.55rem 0 0!important;color:rgba(238,225,196,.66)!important;font:.76rem/1.5 Georgia,serif!important;writing-mode:horizontal-tb!important}
#constellation-compass .constellation-compass-sheet>header strong{all:initial!important;color:#d9edf0!important;font:inherit!important;writing-mode:horizontal-tb!important}
#constellation-compass .constellation-compass-close{
  all:unset!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(215,182,109,.32)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.03)!important;
  color:#f0dfb8!important;
  font:26px/1 Georgia,serif!important;
  cursor:pointer!important;
}
#constellation-compass .constellation-compass-sheet>nav{
  all:initial!important;
  box-sizing:border-box!important;
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:14px 14px 22px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border:0!important;
  background:transparent!important;
  color:#eee1c4!important;
  font:16px/1.4 Georgia,serif!important;
  direction:ltr!important;
  writing-mode:horizontal-tb!important;
  scrollbar-gutter:stable!important;
}
#constellation-compass .constellation-compass-group{
  all:initial!important;
  --group-glow:116,212,236;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(var(--group-glow),.24)!important;
  border-radius:15px!important;
  background:linear-gradient(115deg,rgba(var(--group-glow),.13),rgba(14,14,28,.78) 58%,rgba(215,182,109,.055))!important;
  color:#eee1c4!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 9px 22px rgba(0,0,0,.18)!important;
  font:16px/1.4 Georgia,serif!important;
  writing-mode:horizontal-tb!important;
}
#constellation-compass .constellation-compass-group:nth-child(2){--group-glow:163,119,218}
#constellation-compass .constellation-compass-group:nth-child(3){--group-glow:215,182,109}
#constellation-compass .constellation-compass-group:nth-child(4){--group-glow:92,185,166}
#constellation-compass .constellation-compass-group:nth-child(5){--group-glow:202,112,151}
#constellation-compass .constellation-compass-group>summary{
  all:initial!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:15px!important;
  border:0!important;
  background:transparent!important;
  color:#f3e2bc!important;
  font:.98rem/1.4 Georgia,serif!important;
  letter-spacing:.018em!important;
  text-align:left!important;
  text-shadow:0 1px 12px rgba(var(--group-glow),.2)!important;
  list-style:none!important;
  cursor:pointer!important;
  writing-mode:horizontal-tb!important;
}
#constellation-compass .constellation-compass-group>summary::-webkit-details-marker{display:none!important}
#constellation-compass .constellation-compass-group>summary::after{content:'＋'!important;float:right!important;color:rgb(var(--group-glow))!important;font:.9rem/1.4 system-ui,sans-serif!important}
#constellation-compass .constellation-compass-group[open]>summary{border-bottom:1px solid rgba(var(--group-glow),.17)!important;background:linear-gradient(90deg,rgba(var(--group-glow),.1),transparent)!important}
#constellation-compass .constellation-compass-group[open]>summary::after{content:'−'!important}
#constellation-compass .constellation-compass-links{
  all:initial!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
  padding:10px!important;
  color:#eee1c4!important;
  font:16px/1.4 Georgia,serif!important;
  writing-mode:horizontal-tb!important;
}
#constellation-compass .constellation-compass-links a{
  all:initial!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid rgba(var(--group-glow),.11)!important;
  border-radius:10px!important;
  background:linear-gradient(100deg,rgba(var(--group-glow),.085),rgba(255,255,255,.018))!important;
  color:rgba(244,232,205,.82)!important;
  font:.84rem/1.35 Georgia,serif!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer!important;
  writing-mode:horizontal-tb!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
#constellation-compass .constellation-compass-links a:hover,
#constellation-compass .constellation-compass-links a:focus-visible{background:linear-gradient(100deg,rgba(var(--group-glow),.19),rgba(215,182,109,.08))!important;border-color:rgba(var(--group-glow),.34)!important;color:#fff0c7!important;outline:none!important;transform:translateX(2px)!important}
#constellation-compass .constellation-compass-links a[aria-current="page"]{background:linear-gradient(90deg,rgba(var(--group-glow),.23),rgba(215,182,109,.09))!important;color:#fff0c7!important;border-color:rgba(var(--group-glow),.38)!important;box-shadow:inset 3px 0 rgb(var(--group-glow))!important}
#constellation-compass .constellation-compass-sheet>footer{
  all:initial!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;
  border:0!important;
  border-top:1px solid rgba(215,182,109,.18)!important;
  background:rgba(4,5,9,.92)!important;
  color:#eee1c4!important;
  font:16px/1.4 Georgia,serif!important;
  pointer-events:auto!important;
  writing-mode:horizontal-tb!important;
}
#constellation-compass .constellation-compass-sheet>footer a{
  all:initial!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 0!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 8px!important;
  border:1px solid rgba(215,182,109,.32)!important;
  border-radius:999px!important;
  background:rgba(215,182,109,.055)!important;
  color:#f2dfb6!important;
  font:600 .74rem/1.25 Georgia,serif!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  writing-mode:horizontal-tb!important;
}
@media(max-width:560px){
  #constellation-compass .constellation-compass-sheet{width:100vw!important;max-width:100vw!important}
  #constellation-compass .constellation-compass-sheet>header{padding-left:16px!important;padding-right:14px!important}
  #constellation-compass .constellation-compass-sheet>nav{padding-left:10px!important;padding-right:10px!important}
}

/* PHASE 24AB — barre de conservation visible et lisible sur tablette dans la Chambre de résonance. */
#chamberActionsMount{margin:.2rem 0 1rem}
#chamberActionsMount:empty{display:none}
@media(max-width:900px){
  #chamberActionsMount .constellation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  #chamberActionsMount .constellation-actions button{display:block!important;width:100%!important;padding:.72rem .58rem!important}
  #chamberActionsMount .constellation-actions-status{grid-column:1/-1}
}
@media(max-width:430px){#chamberActionsMount .constellation-actions{grid-template-columns:1fr}}


/* PHASE 24AF — robustesse tactile et contrôles dynamiques. */
a,button,[role="button"],input[type="button"],input[type="submit"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(221,187,105,.18);
}
button,[role="button"]{max-width:100%}
.constellation-actions button,#constellation-global-nav button,#constellation-global-nav a,
.constellation-top-return,.constellation-archive-actions button,.constellation-viewer-toolbar button{
  min-height:42px;
}
@media(pointer:coarse){
  .constellation-actions button,#constellation-global-nav button,#constellation-global-nav a,
  .constellation-top-return,.constellation-archive-actions button,.constellation-viewer-toolbar button{
    min-height:44px;
  }
}
.constellation-visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}


/* PHASE 24AG — sécurité anti-déformation des images responsives. */
img.constellation-preserve-ratio{height:auto!important;object-fit:contain!important}

/* PHASE 34 — visionneuse stable, commandes toujours réunies et déplacement borné. */
html.constellation-viewer-open,
html.constellation-viewer-open body{
  overscroll-behavior:none!important;
}
.constellation-image-viewer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  z-index:11000!important;
  display:none!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  overflow:hidden!important;
  background:rgba(2,2,4,.985)!important;
  color:#f2dfb5!important;
  touch-action:none!important;
  overscroll-behavior:none!important;
  box-sizing:border-box!important;
}
.constellation-image-viewer.open{display:grid!important}
.constellation-viewer-header{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  align-items:center!important;
  gap:10px!important;
  padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important;
  border-bottom:1px solid var(--constellation-line)!important;
  background:rgba(8,8,13,.97)!important;
  box-sizing:border-box!important;
}
.constellation-viewer-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font:1rem/1.2 Georgia,serif!important;
}
.constellation-viewer-header button,
.constellation-viewer-controls button{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  min-width:46px!important;
  width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(217,183,109,.42)!important;
  border-radius:50%!important;
  background:rgba(217,183,109,.07)!important;
  color:#f4ddb0!important;
  font:700 25px/1 system-ui,sans-serif!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  flex:none!important;
}
.constellation-viewer-header button:focus-visible,
.constellation-viewer-controls button:focus-visible{
  outline:2px solid rgba(99,216,232,.85)!important;
  outline-offset:2px!important;
}
.constellation-viewer-controls button:disabled{
  opacity:.34!important;
  cursor:default!important;
}
.constellation-viewer-stage{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  cursor:grab!important;
  touch-action:none!important;
  overscroll-behavior:contain!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(217,183,109,.045),transparent 58%),
    #020204!important;
}
.constellation-viewer-stage.dragging{cursor:grabbing!important}
.constellation-viewer-stage img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  transform-origin:center center!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  will-change:transform!important;
  touch-action:none!important;
}
.constellation-viewer-controls{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:46px minmax(82px,1fr) 62px 46px!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  padding:9px 10px!important;
  border-top:1px solid var(--constellation-line)!important;
  background:rgba(8,8,13,.98)!important;
  box-sizing:border-box!important;
  touch-action:manipulation!important;
}
.constellation-viewer-controls [data-v="fit"]{
  width:100%!important;
  max-width:none!important;
  border-radius:999px!important;
  padding:0 12px!important;
  font:700 .72rem/1 system-ui,sans-serif!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.constellation-viewer-scale{
  display:grid!important;
  place-items:center!important;
  min-width:0!important;
  height:38px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.035)!important;
  color:rgba(242,223,181,.78)!important;
  font:700 .74rem/1 system-ui,sans-serif!important;
  white-space:nowrap!important;
}
.constellation-viewer-help{
  min-height:0!important;
  padding:7px 12px calc(7px + env(safe-area-inset-bottom))!important;
  border-top:1px solid rgba(217,183,109,.16)!important;
  background:rgba(8,8,13,.98)!important;
  color:rgba(242,223,181,.62)!important;
  font:italic .72rem/1.35 Georgia,serif!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
@media(max-width:560px){
  .constellation-viewer-header{grid-template-columns:minmax(0,1fr) 44px!important;padding-left:8px!important;padding-right:8px!important}
  .constellation-viewer-title{font-size:.84rem!important}
  .constellation-viewer-header button,
  .constellation-viewer-controls button{
    min-width:44px!important;width:44px!important;max-width:44px!important;
    height:44px!important;min-height:44px!important;max-height:44px!important;
  }
  .constellation-viewer-controls{
    grid-template-columns:44px minmax(74px,1fr) 58px 44px!important;
    gap:6px!important;
    padding:8px!important;
  }
  .constellation-viewer-controls [data-v="fit"]{font-size:.66rem!important;padding:0 8px!important}
  .constellation-viewer-scale{font-size:.68rem!important}
  .constellation-viewer-help{font-size:.65rem!important;padding-left:8px!important;padding-right:8px!important}
}
@media(max-height:520px){
  .constellation-viewer-help{display:none!important}
  .constellation-viewer-header{padding-top:5px!important;padding-bottom:5px!important}
  .constellation-viewer-controls{padding-top:5px!important;padding-bottom:5px!important}
}
