/* Veillée — plein cadre de l'image d'un lieu (voir plein-cadre.js). Thème clair.
   L'image occupe toute la fenêtre ; --pc-gauche et --pc-bas valent le bord de la barre quand elle est « à côté », 0 quand
   elle est « sur l'image ». Le cadrage du lieu (adapter, remplir, étirer, centrer, manuel) s'applique alors à toute la zone. */
html[data-plein-image] .vw-locations .sw-card.vw-card-active .sw-stage,
html[data-plein-image] .location-stage:has(>.stage-plein-outils){position:fixed!important;inset:var(--pc-haut,0px) 0 var(--pc-bas,0px) var(--pc-gauche,0px)!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;transform:none!important;margin:0!important;border:0!important;border-radius:0!important;z-index:24}
/* Le carrousel des lieux décale ses cartes (transform), sert de conteneur de mesure, a une perspective et pose la carte active à son propre étage : sans cela, l'image
   « fixe » resterait dans la carte et sous les colonnes voisines. Même chose quand la colonne des réglages est ouverte. */
html[data-plein-image] .vw-locations .vc-rail,.vw-locations.vw-settings-focus .vc-rail{transform:none!important;will-change:auto}
html[data-plein-image] .vw-locations .vc-unfold,.vw-locations.vw-settings-focus .vc-unfold{container-type:normal;perspective:none}
html[data-plein-image] .vw-locations .vc-slide.vc-active{z-index:24}
/* La colonne de gauche et la barre du bas restent au-dessus ; « sur l'image » : fond translucide, l'image se voit dessous. */
html[data-plein-image]:not([data-rail=folded]) .rail{position:relative;z-index:26}
html[data-plein-image] .audio-dock{z-index:26}
html[data-plein-image][data-plein-gauche=dessus]:not([data-rail=folded]) .rail{background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html[data-plein-image][data-plein-bas=dessus] .audio-dock{background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* Réglages du lieu ouverts (sans plein cadre) : l'image remplit toute la zone à droite de la colonne des réglages. */
.vw-settings-focus .sw-card .sw-stage{top:54px;bottom:calc(var(--pc-dock,30px) + 8px);left:calc(var(--pc-reglages,340px) + 12px);right:12px;width:auto;height:auto;max-height:none;aspect-ratio:auto;transform:none}
/* Outils posés sur l'image : « Barres » (plein cadre seulement) et ⤢/⤡. */
.stage-plein-outils{position:absolute;top:6px;right:6px;z-index:46;display:flex;align-items:flex-start;gap:6px}
.stage-plein-outils .stage-plein{position:static}
.stage-plein-outils .pc-barres{display:none;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;cursor:pointer;opacity:.85}
html[data-plein-image] .stage-plein-outils .pc-barres{display:inline-flex;align-items:center}
.stage-plein-outils .pc-barres:hover,.stage-plein-outils .pc-barres:focus-visible,.stage-plein-outils .pc-barres[aria-expanded=true]{opacity:1;border-color:var(--green);color:var(--green)}
.pc-menu{position:absolute;top:36px;right:0;display:grid;gap:10px;width:max-content;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #292d2726;color:var(--ink);font-size:12px}
.pc-menu[hidden]{display:none}
.pc-choix{display:grid;grid-template-columns:auto auto;gap:4px 6px;align-items:center}
.pc-choix>span{grid-column:1/-1;font-weight:600}
.pc-choix .pc-opt{min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.pc-choix .pc-opt[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.pc-choix .pc-opt:hover:not([aria-pressed=true]){border-color:var(--green);color:var(--green)}
/* Réglages ouverts sans plein cadre : l'image touche le bord droit, où se trouve le ⚙ des outils de la page ; ⤢ passe à gauche. */
html:not([data-plein-image]) .vw-settings-focus .sw-stage .stage-plein-outils{right:auto;left:6px}
/* Table du joueur : le même bouton ⤢ (masqué jusque-là sur la table) ; en plein cadre, les pastilles flottantes s'effacent. */
html[data-page=table] .player-layout #workspace .stage-plein-outils .stage-plein{display:grid}
/* Onglet ou fenêtre d'une tuile sortie : un retour toujours visible, et l'image occupe toute la hauteur. */
.vw-popup-retour{position:fixed;top:8px;left:8px;z-index:1000;min-height:30px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;box-shadow:0 4px 14px #292d2722}
.vw-popup-retour:hover,.vw-popup-retour:focus-visible{border-color:var(--green);color:var(--green)}
.vw-panel-popup .vpt-tile[data-frame="image-scene"] .location-stage{height:calc(100dvh - 24px);max-height:none;aspect-ratio:auto!important}
html[data-plein-image][data-page=table] .player-layout #workspace .location-stage.vfr-manual{width:auto!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important}
/* Dans une tuile (table du joueur) la barre de la tuile, invisible hors survol, occupe le coin haut-droit : ⤢ passe dessous,
   sinon un clic sur « agrandir » ouvrait l’image dans un onglet sans barres (constat de Benoit, 30/10). En plein cadre, la barre de la tuile s’efface. */
html:not([data-plein-image]) .vpt-tile .stage-plein-outils{top:40px}
html[data-plein-image] .vpt-tile[data-frame="image-scene"] .vw-panel-bar{display:none}
/* Plein écran partagé par le meneur (réglage stage_fullscreen, interaction.css) : même géométrie que le plein cadre. L'image
   remplit l'écran, la colonne de gauche et la barre du bas restent visibles et cliquables (à côté ou sur l'image) au-dessus ; ⤢ n'y fait plus passer l'image sous ce fond (page blanche constatée par Benoit, 30/10). */
:root[data-player-fullscreen] .location-stage:has(>.stage-plein-outils){left:var(--pc-gauche,0px)!important;top:var(--pc-haut,0px)!important;right:0!important;bottom:var(--pc-bas,0px)!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;transform:none!important;aspect-ratio:auto!important;z-index:8000!important}
/* Table du joueur en plein écran (partagé par le meneur ou ⤢) : seulement l'image du meneur et le filigrane du personnage autour
   (Benoit, 30/10) ; bandeau du haut et pastilles de la table masqués. Les autres pages gardent tout leur contenu. */
:root[data-page=table]:is([data-player-fullscreen],[data-plein-image]):has(.player-layout) .topbar,
:root[data-page=table]:is([data-player-fullscreen],[data-plein-image]) .player-layout #workspace>:not(:has(.location-stage)){visibility:hidden}
:root[data-player-fullscreen]:not([data-rail=folded]) .rail{position:relative;z-index:8100}
:root[data-player-fullscreen][data-rail=folded] .rail,:root[data-player-fullscreen] .audio-dock{z-index:8100}
:root[data-player-fullscreen][data-plein-gauche=dessus]:not([data-rail=folded]) .rail,:root[data-player-fullscreen][data-plein-bas=dessus] .audio-dock{background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* Plein écran = écran plein (Benoit, 30/10 : « grandes bandes à gauche et droite de l'image… on est loin du plein écran ») :
   en plein cadre ou en plein écran partagé, l'image couvre toute la zone sans déformation (bords rognés). « Étirer pour
   remplir » et le cadrage manuel du meneur sont gardés tels quels. */
:root:is([data-player-fullscreen],[data-plein-image]) .location-stage:not(.vfr-manual) .stage-backdrop:not([style*="object-fit: fill"]):not([style*="100% 100%"]),
html[data-plein-image] .vw-card-active .sw-stage:not(.vfr-manual) .sw-backdrop:not([style*="object-fit: fill"]):not([style*="100% 100%"]){object-fit:cover!important;background-size:cover!important;background-position:center!important;object-position:center!important}
