/* Le sanctuaire et ses huit salles partagent le même repère que leurs accès. */
#screen-trials[data-trials-view="home"] { max-width: 1200px; }
#screen-trials .page-header { flex: 0 0 auto; }
#trials-body { min-height: 0; }
#trials-body > * { flex-shrink: 0; }
.trials-map-scene { position: relative; isolation: isolate; aspect-ratio: 1672 / 941; overflow: hidden; background: #111922; }
.trials-map-art { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.trial-map-landmark { position: absolute; z-index: 1; display: flex; align-items: flex-end; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 16%; background: none; color: #f8e7c7; font: inherit; cursor: pointer; touch-action: manipulation; }
.trial-map-label { display: flex; align-items: center; gap: 7px; max-width: 100%; padding: 7px 10px; border: 1px solid #b598607d; border-radius: 5px; background: linear-gradient(135deg,#15212de8,#090f18ed); box-shadow: 0 3px 12px #06101ac4; text-align: left; }
.trial-map-emblem { display: grid; place-items: center; flex-shrink: 0; width: 33px; height: 37px; filter: drop-shadow(0 2px 3px #0008); }
.trial-map-emblem :is(.faction-emblem,.vf-icon) { width: 100%; height: 100%; object-fit: contain; }
.trial-map-copy { min-width: 0; }
.trial-map-copy b { display: block; color: var(--faction-color); font: 600 clamp(11px,1.3vw,16px)/1.2 Georgia,serif; overflow-wrap: anywhere; }
.trial-map-copy small { display: block; margin-top: 3px; font-size: 10px; line-height: 1.25; }
.trial-map-availability { color: #c7dfc9; }
.trial-map-floor { color: #c1c9d3; }
.trial-map-landmark[data-tower="general"] .trial-map-label { text-align: center; border-color: #d7b76b; }
.trial-map-landmark[data-tower="general"] .trial-map-emblem { display: none; }
.trial-map-landmark[data-trial-status="closed"] .trial-map-availability { color: #cfbfe4; }
.trial-map-landmark[data-trial-status="done"] .trial-map-availability { color: #f2d991; }
.trial-map-landmark:disabled { cursor: default; }
.trial-map-landmark:disabled .trial-map-label { background: #0e1721ec; border-color: #727d8b99; }
.trial-map-landmark:disabled .trial-map-emblem { filter: grayscale(.65); opacity: .8; }
.trial-map-landmark:disabled .trial-map-availability { color: #c5c5cf; }
.trial-map-landmark:enabled:is(:hover,:focus-visible) { outline: 2px solid #e8d09b88; outline-offset: -2px; background: radial-gradient(ellipse at 50% 75%,#e0c18b26,transparent 65%); }
.trial-map-landmark:enabled:is(:hover,:focus-visible) .trial-map-label { border-color: var(--faction-color); background: #102030f5; box-shadow: 0 0 16px #e4c47e55; }
.trials-map-opening { display: flex; align-items: center; gap: 13px; padding: 12px 15px; border: 1px solid #a38c5c4d; border-radius: 7px; background: #121b26; color: #d6d8df; }
.trials-map-opening > span { flex-shrink: 0; }
.trials-map-opening .vf-icon { width: 29px; height: 33px; }
.trials-map-opening p { font-size: 13px; line-height: 1.55; }
.trials-map-opening b { color: #eed8a5; }
.trials-map-opening small { display: block; margin-top: 3px; font-size: 11px; color: #b1bdc9; }
.trials-progress-details { border: 1px solid #8f794c66; border-radius: 8px; background: #101722; }
.trials-progress-details > summary { min-height: 44px; padding: 13px 16px; color: #e4cca0; font: 600 15px/1.3 Georgia,serif; cursor: pointer; }
.trials-progress-details > summary:focus-visible { outline: 2px solid #e5c783; outline-offset: -3px; }
.trials-progress-content { display: grid; gap: 12px; padding: 4px 12px 12px; }
.trials-progress-content .event-panel { min-width: 0; margin: 0; }
.trials-progress-content .tower-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
[data-trial-heading]:focus { outline: none; }
@media (max-width: 640px) {
  .panorama-shell[data-expanded="false"] .trial-map-label { gap: 0; padding: 4px 3px; border-radius: 3px; text-align: center; }
  .panorama-shell[data-expanded="false"] .trial-map-emblem,
  .panorama-shell[data-expanded="false"] .trial-map-floor { display: none; }
  .panorama-shell[data-expanded="false"] .trial-map-copy b { font-size: 10px; }
  .panorama-shell[data-expanded="false"] .trial-map-copy small { margin-top: 2px; font-size: 8px; }
  .trials-map-opening { padding: 10px; gap: 9px; }
  .trials-map-opening p { font-size: 12px; }
  .trials-progress-content { padding: 3px 8px 8px; }
  .trials-progress-content .tower-list { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .panorama-shell[data-expanded="false"] .trial-map-copy b { font-size: 9px; }
}
