/* The photography tools keep the RPG frame and ordinary readable HTML copy. */
#gs-collection-game-root .gs-photo-overlay {position:fixed;inset:var(--gs-admin-bar-height,0px) 0 0;z-index:350;display:flex;align-items:center;justify-content:center;padding:10px;background:#08070bdd;box-sizing:border-box;}
#gs-collection-game-root .gs-photo-app {width:min(1080px,100%);height:min(780px,calc(100dvh - var(--gs-admin-bar-height,0px) - 20px));max-height:100%;min-height:0;display:flex;flex-direction:column;border:9px solid transparent;border-image:url('../img/ui/rpg/panel-frame.svg') 12 / 9px / 0 stretch;background:#1b1518;color:#f0e7d2;box-sizing:border-box;overflow:hidden;}
#gs-collection-game-root .gs-photo-app * {box-sizing:border-box;}
#gs-collection-game-root .gs-photo-header {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#2d1c21;border-bottom:2px solid #927456;flex:0 0 auto;}
#gs-collection-game-root .gs-photo-header small {display:block;font:11px/1.4 Arial,sans-serif;color:#dfca91;}
#gs-collection-game-root .gs-photo-header h1 {margin:3px 0 0;font:bold 20px/1.3 'Courier New',monospace;color:#f0e7d2;}
#gs-collection-game-root .gs-photo-body {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);min-height:0;flex:1 1 auto;overflow:hidden;}
#gs-collection-game-root .gs-photo-body.is-album {display:block;}
#gs-collection-game-root .gs-photo-camera {min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10px;background:#100e11;}
#gs-collection-game-root .gs-photo-viewfinder {position:relative;flex:0 1 auto;min-height:0;max-height:100%;border:2px solid #927456;background:#100e11;overflow:hidden;line-height:0;}
#gs-collection-game-root .gs-photo-viewfinder.is-landscape {width:100%;aspect-ratio:3/2;}
#gs-collection-game-root .gs-photo-viewfinder.is-portrait {height:100%;aspect-ratio:4/5;max-width:100%;}
#gs-collection-game-root .gs-photo-viewfinder[data-photo-viewfinder] {touch-action:none;cursor:grab;}
#gs-collection-game-root .gs-photo-viewfinder[data-photo-viewfinder]:active {cursor:grabbing;}
#gs-collection-game-root .gs-photo-viewfinder:focus-visible {outline:3px solid #dfca91;outline-offset:-3px;}
#gs-collection-game-root .gs-photo-viewfinder svg,#gs-collection-game-root .gs-photo-thumbnail svg {display:block;width:100%;height:100%;image-rendering:pixelated;}
#gs-collection-game-root .gs-photo-grid {pointer-events:none;position:absolute;inset:0;background:linear-gradient(to right,transparent 33%,#f0e7d230 33%,#f0e7d230 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#f0e7d230 66%,#f0e7d230 calc(66% + 1px),transparent calc(66% + 1px)),linear-gradient(to bottom,transparent 33%,#f0e7d230 33%,#f0e7d230 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#f0e7d230 66%,#f0e7d230 calc(66% + 1px),transparent calc(66% + 1px));}
#gs-collection-game-root .gs-photo-flash {pointer-events:none;position:absolute;inset:0;z-index:2;background:#fff8e9;opacity:0;animation:gs-photo-shutter-flash 180ms ease-out;}
@keyframes gs-photo-shutter-flash {from{opacity:.75}to{opacity:0}}
#gs-collection-game-root .gs-photo-caption {width:100%;display:flex;justify-content:space-between;gap:8px;margin-top:7px;font:12px/1.4 Arial,sans-serif;color:#dfca91;flex:0 0 auto;}
#gs-collection-game-root .gs-photo-panel {min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:16px;font:14px/1.5 Arial,sans-serif;outline:none;}
#gs-collection-game-root .gs-photo-body.is-album .gs-photo-panel {height:100%;}
#gs-collection-game-root .gs-photo-panel p {font:14px/1.5 Arial,sans-serif;letter-spacing:0;margin:8px 0 14px;color:#f0e7d2;}
#gs-collection-game-root .gs-photo-panel h2 {font:bold 20px/1.3 'Courier New',monospace;color:#dfca91;}
#gs-collection-game-root .gs-photo-guide {padding-left:21px;color:#c9bebb;}
#gs-collection-game-root .gs-photo-guide li {margin:8px 0;}
#gs-collection-game-root .gs-photo-dialogue {display:flex;gap:11px;margin:4px 0 12px;padding:10px;border:3px solid #927456;background:#251b1f;}
#gs-collection-game-root .gs-photo-dialogue>span {flex:0 0 58px;height:66px;overflow:hidden;border:1px solid #927456;background:#100e11;}
#gs-collection-game-root .gs-photo-dialogue img {width:100%;height:auto;max-width:none;image-rendering:pixelated;transform:scale(1.55);transform-origin:50% 12%;}
#gs-collection-game-root .gs-photo-dialogue>div {min-width:0;}
#gs-collection-game-root .gs-photo-dialogue strong {font:bold 15px/1.4 'Courier New',monospace;color:#dfca91;}
#gs-collection-game-root .gs-photo-dialogue p {margin:5px 0 0;}
#gs-collection-game-root .gs-photo-live-status {display:flex;align-items:center;justify-content:space-between;gap:8px;font:13px/1.4 Arial,sans-serif;padding:10px;border:1px solid #756366;color:#dfca91;}
#gs-collection-game-root .gs-photo-live-status b {white-space:nowrap;font:bold 17px/1.4 'Courier New',monospace;}
#gs-collection-game-root .gs-photo-actions {flex:0 0 auto;padding:8px 10px;border-top:2px solid #927456;background:#151013;}
#gs-collection-game-root .gs-photo-camera-controls {display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:5px;margin-bottom:6px;}
#gs-collection-game-root .gs-photo-main-actions {display:flex;gap:7px;}
#gs-collection-game-root .gs-photo-main-actions .gs-photo-button {flex:1 1 0;min-width:0;}
#gs-collection-game-root .gs-photo-button {appearance:none;min-height:44px;border:2px solid #756366;border-radius:0;background:#332227;color:#f0e7d2;padding:8px 12px;font:bold 14px/1.35 'Courier New',monospace;letter-spacing:0;text-shadow:none;box-shadow:inset 0 0 0 1px #100e11;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;}
#gs-collection-game-root .gs-photo-camera-controls .gs-photo-button {padding:5px;}
#gs-collection-game-root .gs-photo-camera-controls [data-photo-zoom-direction] {flex-direction:column;gap:0;}
#gs-collection-game-root .gs-photo-camera-controls [data-photo-zoom-direction] span {font-size:10px;line-height:1.3;white-space:nowrap;}
#gs-collection-game-root .gs-photo-button:disabled {opacity:.45;cursor:default;}
#gs-collection-game-root .gs-photo-button.is-primary {background:#54303a;border-color:#b6a078;}
#gs-collection-game-root .gs-photo-button:hover {border-color:#dfca91;}
#gs-collection-game-root .gs-photo-button:focus-visible {outline:3px solid #dfca91;outline-offset:2px;}
#gs-collection-game-root .gs-photo-button svg {flex:0 0 24px;pointer-events:none;}
#gs-collection-game-root .gs-photo-verdict {display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #927456;padding:10px;margin:10px 0;color:#dfca91;}
#gs-collection-game-root .gs-photo-verdict strong {font:bold 19px/1.4 'Courier New',monospace;}
#gs-collection-game-root .gs-photo-recap {display:grid;gap:8px;padding:12px;border:1px solid #927456;margin:12px 0;}
#gs-collection-game-root .gs-photo-recap>span,#gs-collection-game-root .gs-photo-recap>strong {display:flex;justify-content:space-between;gap:10px;}
#gs-collection-game-root .gs-photo-recap>strong {padding-top:8px;border-top:1px solid #756366;color:#dfca91;}
#gs-collection-game-root .gs-photo-album {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
#gs-collection-game-root .gs-photo-album figure {margin:0;padding:7px;border:1px solid #756366;background:#100e11;min-width:0;}
#gs-collection-game-root .gs-photo-thumbnail {height:120px;background:#100e11;overflow:hidden;}
#gs-collection-game-root .gs-photo-thumbnail.is-portrait {width:96px;max-width:100%;margin:auto;}
#gs-collection-game-root .gs-photo-album figcaption {font:12px/1.4 Arial,sans-serif;margin-top:6px;color:#f0e7d2;}
#gs-collection-game-root .gs-photo-album figcaption b {display:block;color:#dfca91;}
#gs-collection-game-root .gs-photo-archive {margin:12px 0;}
#gs-collection-game-root .gs-photo-archive summary {min-height:44px;padding:12px 8px;cursor:pointer;color:#dfca91;font:bold 14px/1.4 'Courier New',monospace;}
#gs-collection-game-root .gs-photo-archive summary:focus-visible {outline:2px solid #dfca91;}
@media(max-width:700px) {
  #gs-collection-game-root .gs-photo-overlay {padding:5px;}
  #gs-collection-game-root .gs-photo-app {height:calc(100dvh - var(--gs-admin-bar-height,0px) - 10px);border-width:7px;border-image-width:7px;}
  #gs-collection-game-root .gs-photo-header {padding:7px 8px;gap:6px;}
  #gs-collection-game-root .gs-photo-header h1 {font-size:16px;}
  #gs-collection-game-root .gs-photo-header small {font-size:10px;}
  #gs-collection-game-root .gs-photo-header .gs-photo-button {padding:5px;font-size:12px;flex:0 0 auto;}
  #gs-collection-game-root .gs-photo-body {display:flex;flex-direction:column;}
  #gs-collection-game-root .gs-photo-camera {flex:0 0 auto;height:min(32dvh,270px);padding:6px 9px;}
  #gs-collection-game-root .gs-photo-viewfinder.is-landscape {width:auto;height:calc(100% - 22px);max-width:100%;}
  #gs-collection-game-root .gs-photo-viewfinder.is-portrait {height:calc(100% - 22px);}
  #gs-collection-game-root .gs-photo-caption {margin-top:4px;font-size:11px;}
  #gs-collection-game-root .gs-photo-panel {flex:1 1 auto;padding:10px;}
  #gs-collection-game-root .gs-photo-dialogue {padding:7px;gap:8px;}
  #gs-collection-game-root .gs-photo-actions {padding:6px;}
  #gs-collection-game-root .gs-photo-button {font-size:13px;padding:7px;}
  #gs-collection-game-root .gs-photo-camera-controls {gap:3px;}
  #gs-collection-game-root .gs-photo-album {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:701px) and (max-height:480px) {
  #gs-collection-game-root .gs-photo-app {height:calc(100dvh - var(--gs-admin-bar-height,0px) - 20px);}
  #gs-collection-game-root .gs-photo-header {padding:5px 10px;}
  #gs-collection-game-root .gs-photo-header h1 {font-size:16px;}
  #gs-collection-game-root .gs-photo-panel {padding:8px 12px;}
  #gs-collection-game-root .gs-photo-camera {padding:5px 8px;}
  #gs-collection-game-root .gs-photo-viewfinder.is-landscape {width:auto;height:calc(100% - 24px);max-width:100%;}
  #gs-collection-game-root .gs-photo-viewfinder.is-portrait {height:calc(100% - 24px);}
  #gs-collection-game-root .gs-photo-actions {padding:5px 8px;}
}
@media(prefers-reduced-motion:reduce) {#gs-collection-game-root .gs-photo-app * {animation:none;transition:none;}}
@media(prefers-reduced-motion:reduce) {#gs-collection-game-root .gs-photo-flash {background:none;box-shadow:inset 0 0 0 2px #dfca91;opacity:1;}}
