/* Session release: remove obsolete decisions, not the tactile paper language. */
html[data-session-release] .zine-stage [hidden] { display:none !important; }
html[data-session-release] #zineSettingsPanel .settings-scroll { justify-content:center; }
html[data-session-release] #zineSettingsPanel .mode-hint { max-width:30ch; margin-inline:auto; }
html[data-session-release] #zineSettingsSummary { text-transform:none; }
.session-participant { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin-bottom:10px; font:400 21px/1.15 var(--print-face); }
.session-participant select { max-width:260px; border:0; border-bottom:2px solid currentColor; border-radius:0; padding:8px 30px 8px 10px; background:transparent; color:inherit; font:900 28px/1.1 var(--print-face); }
.session-attempt-name { margin:0 0 8px; font:900 25px/1.1 var(--print-face); }
@media(min-width:901px) and (min-height:561px) {
  html[data-session-release] #zineApp[data-press-build="platen"][data-phase="idle"] .session-participant { grid-column:1 / -1; grid-row:3; justify-self:start; margin:0; }
  html[data-session-release] #zineApp[data-press-build="platen"]:is([data-phase="ending"],[data-phase="ended"]) .scene-title { grid-column:1; }
  html[data-session-release] #zineApp[data-press-build="platen"]:is([data-phase="ending"],[data-phase="ended"]) .session-attempt-name { grid-column:2; grid-row:1; align-self:center; margin:0; max-width:100%; overflow-wrap:anywhere; font-size:clamp(26px,3.6cqw,42px); }
  html[data-session-release] #zineApp[data-press-build="platen"]:is([data-phase="ending"],[data-phase="ended"]) .session-participant { grid-column:1 / -1; grid-row:4; justify-self:start; margin:0; }
}
#royaleSessionRoster { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 18px; margin:12px auto; max-width:850px; }
#royaleSessionRoster > span { padding:12px 24px; color:#201e21; background:#f5e8cd var(--stock) center/460px; font:900 clamp(25px,2.5vw,40px)/1.05 var(--print-face); clip-path:polygon(1% 3%,98% 0,100% 96%,2% 100%,0 39%); }
#royaleSessionRoster > p { font:400 25px/1.2 var(--print-face); }
.session-edit-group { font:400 21px/1.2 var(--print-face); background:none; color:inherit; border:0; border-bottom:2px solid currentColor; padding:8px 3px; min-height:44px; cursor:pointer; }
#zineRoyaleApp .royale-setup-scroll > .session-edit-group { margin:2px auto 20px; }
#zineRoyaleApp .royale-word-slot[data-hard='true']::after { content:'✦'; color:currentColor; position:absolute; right:3px; top:8%; font:900 21px/1 var(--print-face); }
#zineSessionOpen { cursor:pointer; }
#zineSessionOpen:disabled { cursor:default; opacity:.5; }
.session-people-icon { display:block; width:22px; height:20px; fill:currentColor; }
.game-gallery .game-poster-sandbox { --poster-field:#276451; --poster-accent:#edb794; }
.game-gallery .game-poster-estafette { --poster-field:#9b691f; --poster-accent:#ffe592; }
#zineUtilities { display:flex; flex-wrap:wrap; gap:8px; }
#zineGameMenu #zineUtilities { position:static; display:flex; flex-wrap:wrap; align-items:center; left:auto; bottom:auto; }
#zineGameMenu .gallery-footer { min-height:44px; }
#zineUtilities #zineSessionOpen { border:0; font:400 16px/1 var(--print-face); text-transform:none; }
#zineSessionOpen .session-people-icon { flex-shrink:0; }
#zineGameMenu[data-gallery-scene='sandbox'] .gallery-feature { --feature-color:#276451; }
#zineGameMenu[data-gallery-scene='estafette'] .gallery-feature { --feature-color:#d4a52e; }
.poster-art-book { background:url('assets/nachtzine/gallery-square-2026-09-13/sandbox-gallery-square-v2.webp') center/cover no-repeat; }
.poster-art-post { background:url('assets/nachtzine/gallery-square-2026-09-13/estafette-gallery-square-v2.webp') center/cover no-repeat; }
@media(min-width:1000px) and (min-height:561px) {
  #zineGameMenu .gallery-games { grid-template-rows:repeat(6,minmax(0,1fr)); gap:12px; max-height:720px; }
  #zineGameMenu .game-poster { padding:9px 20px 9px 70px; }
  #zineGameMenu .game-poster .poster-name { font-size:clamp(28px,3vw,42px); }
  #zineGameMenu .game-poster-royale .poster-name { max-width:none; font-size:clamp(25px,2.6vw,38px); }
  #zineGameMenu .game-poster::after { left:18px; font-size:32px; }
  #zineGameMenu .game-poster .poster-format { font-size:clamp(15px,1.2vw,18px); }
  #zineGameMenu .gallery-feature { max-height:670px; }
}
@media(min-width:1000px) and (max-height:800px) and (min-height:561px) {
  #zineGameMenu .gallery-inner { grid-template-rows:85px minmax(0,1fr) 48px; gap:12px; padding-bottom:24px; }
  #zineGameMenu .gallery-games { gap:8px; }
  #zineGameMenu .game-poster .poster-name { font-size:29px; }
  #zineGameMenu .game-poster-royale .poster-name { font-size:26px; }
  #zineGameMenu .game-poster { padding-block:7px; }
}
@media(max-width:999px),(max-height:560px) {
  #zineGameMenu .gallery-games { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .session-participant { font-size:18px; }
  .session-participant select { font-size:23px; }
}
/* With six games and the phone utility, full labels need a little more room
   than the old sound-only corner. Keep them out of the main action's path. */
@media(min-width:901px) and (max-width:1599px) and (min-height:561px) {
  html:not([data-game-menu="open"]) #zineUtilities button { width:44px; min-width:44px; padding:0; justify-content:center; }
  html:not([data-game-menu="open"]) #zineUtilities :is([data-session-label],[data-sound-label],[data-remote-label]) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  html:not([data-game-menu="open"]) #zineUtilities button:is(:hover,:focus-visible) :is([data-session-label],[data-sound-label],[data-remote-label]) { bottom:calc(100% + 8px); left:0; width:max-content; height:auto; padding:8px 10px; overflow:visible; clip-path:none; pointer-events:none; background:var(--release-ink); color:var(--release-paper); }
}
@media(forced-colors:active) {
  #royaleSessionRoster > span { background:Canvas; color:CanvasText; clip-path:none; border:1px solid; }
  .session-participant select,.session-edit-group { border:1px solid; background:Canvas; color:CanvasText; }
}
