/* SPOOKY DUCKS v9 / PHOTO HUNT: scene-first rendering. Never draw the old SVG room over a photograph. */
.sdv-app .sdv-world { overflow:visible!important; }
.sdv-app .sdv-view[data-view="hunt"]:not(.sdv6-theater) { overflow:visible!important; }
.sdv-app .sdv-scene.sdv-photo-mode { aspect-ratio:16/9!important; min-height:0!important; touch-action:pan-x pan-y; isolation:isolate; }
.sdv-app .sdv-scene.sdv-photo-mode .sdv-scene-art { display:none!important; }
.sdv-app .sdv-scene.sdv-photo-mode .sdv5-arcade-bg {
  display:block!important; opacity:1!important; mix-blend-mode:normal!important; filter:none!important;
  background-size:100% 100%!important; background-repeat:no-repeat!important; background-position:center!important;
  inset:0; z-index:1!important; transition:filter .5s ease;
}
.sdv-app .sdv-scene.sdv-photo-mode .sdv-scene-clickables { position:absolute; inset:0; z-index:5!important; }
.sdv-app .sdv-scene.sdv-photo-mode .sdv-scene-scan { z-index:7!important; }
.sdv-app .sdv-scene.sdv-photo-mode .sdv-particles { z-index:8!important; }
.sdv-app .sdv-scene.sdv-photo-mode .sdv-flashlight { z-index:9!important; opacity:.68; }
.sdv-app .sdv-photo-spot { position:absolute; display:block; transform:translate(-50%,-50%); appearance:none; border:none; padding:0!important; margin:0!important; background:transparent!important; box-shadow:none!important; outline:none!important; opacity:1; min-width:0!important; min-height:0!important; cursor:crosshair; border-radius:50%; }
.sdv-app .sdv-photo-spot:focus-visible {outline:2px solid #dcff88!important; outline-offset:1px!important; background:#d6ff901f!important; }
.sdv-app .sdv-photo-spot:hover { background:#e0ff8b13!important; box-shadow:0 0 0 1px #e0ff8b25!important; }
.sdv-app .sdv-photo-spot.sdv-checked {pointer-events:none!important;background:transparent!important;}
.sdv-app .sdv-photo-spot.sdv-apprehended {pointer-events:none!important;opacity:1!important;}
.sdv-app .sdv-photo-spot .sdv9-found-stamp {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#1b2514;background:#dfff88;border:2px solid #fff;box-shadow:0 0 25px #ceff8b88,0 7px 24px #0009;padding:4px 8px;white-space:nowrap;border-radius:7px;font-weight:1000;font-size:clamp(9px,.85vw,13px);animation:sdv9-found-reveal .5s ease-out both;}
@keyframes sdv9-found-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
/* On wide monitors occupy the screen with a properly contained 16:9 plate. */
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater { display:flex!important; flex-direction:column; gap:4px; padding:clamp(6px,1.1vh,13px)!important; overflow-y:auto!important; overflow-x:hidden!important; background:#0b0a19!important; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-top { margin-bottom:4px!important; flex-shrink:0; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-top h3 { font-size:clamp(18px,2.6vh,31px); margin:2px 0!important; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar { margin:0!important; padding:7px 12px!important; flex-shrink:0; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide {padding:7px 11px!important; margin:0!important; flex-shrink:0; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-arcade-progress {margin:1px 0!important;padding:5px 11px!important; flex-shrink:0;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame {width:min(100%,calc((100dvh - 265px)*16/9))!important;max-width:calc((100dvh - 265px)*16/9)!important;margin-inline:auto;flex:0 0 auto;max-height:calc(100dvh - 240px);overflow:auto!important;aspect-ratio:auto!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame:has(.sdv-scene[data-zoom]){overscroll-behavior:contain;scrollbar-width:thin;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene {width:100%;height:auto!important;min-height:0!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-controls { margin:3px 0!important; flex-shrink:0;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-controls button { min-height:36px!important; padding:6px 12px!important; }
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-note {display:none!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-toast {padding:6px 10px!important;min-height:33px!important; font-size:12px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide p {margin:2px 0;max-width:none;}
/* Clear visual identification example instead of the previously inert button. */
.sdv-app .sdv9-help-overlay {position:fixed!important;inset:0!important;z-index:1000003!important;background:#060814e8;display:grid;place-items:center;padding:15px;overflow-y:auto;}
.sdv-app .sdv9-help-overlay[hidden]{display:none!important;}
.sdv-app .sdv9-help-card {position:relative;width:min(820px,96vw);max-height:90dvh;overflow:auto;border:1px solid #d6ff7f;border-radius:18px;background:radial-gradient(circle at 14% 0,#41315d,#111323 78%);color:#fff;padding:clamp(18px,3vw,34px);box-shadow:0 25px 80px #000e;}
.sdv-app .sdv9-help-card small {display:block;color:#a4ffe6;font-weight:900;letter-spacing:.13em;font-size:11px;}
.sdv-app .sdv9-help-card h4 {color:#dfff83;font-weight:1000;font-size:clamp(24px,4vw,40px);letter-spacing:-.05em;margin:10px 0 20px;}
.sdv-app .sdv9-help-specimen {display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:22px;align-items:center;}
.sdv-app .sdv9-help-specimen p {color:#eee8ff;line-height:1.65;font-size:15px;margin:10px 0;}
.sdv-app .sdv9-help-specimen strong{color:#eaffb6;font-size:18px;}
.sdv-app .sdv9-help-small{font-size:12px!important;color:#b9aacc!important;}
.sdv-app .sdv9-demo-art{position:relative;display:grid;place-items:center;border:1px solid #79689f;border-radius:15px;min-height:200px;background:radial-gradient(circle,#544377,#181b32 70%);padding:10px;}
.sdv-app .sdv9-demo-art img{width:175px;max-width:100%;height:185px;object-fit:contain;filter:drop-shadow(0 0 17px #ccff8a44);}
.sdv-app .sdv9-demo-star{position:absolute;top:57%;left:65%;font-size:26px;color:#fffbce;text-shadow:0 0 9px #000,0 0 16px #dfff92;font-style:normal;}
.sdv-app .sdv9-help-card button{border:1px solid #caff98;background:#dfff80;color:#121a1a;padding:12px 20px;border-radius:12px;font-size:13px;font-weight:1000;cursor:pointer;}
.sdv-app .sdv9-help-card .sdv9-help-close{position:absolute;right:14px;top:12px;background:#2b2a46;color:#fff;border-color:#9181b3;padding:7px 11px;}
.sdv-app .sdv9-help-got-it{margin-top:20px;}
.sdv-app .sdv5-arcade-guide{background:#181a31!important;border:1px solid #728a96!important;box-shadow:0 6px 24px #05071232;}
.sdv-app .sdv5-arcade-guide.is-expanded{background:#181a31!important;}
.sdv-app .sdv5-arcade-help{background:#dfff85!important;color:#141a22!important;border:1px solid #dfff85!important;}
.sdv-app .sdv-scene.sdv-photo-mode::after {content:"";pointer-events:none;position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at 50% 50%,transparent 62%,#07061720 100%);}
/* Deep Hunt: detailed background remains visible, not translucent behind vector architecture. */
.sdv-app .sdv-deep-canvas .sdv-deep-backdrop-image{opacity:1!important;}
.sdv-app .sdv-deep-play.sdv6-theater{overflow-x:hidden!important;}
.sdv-app .sdv-deep-stage{touch-action:pan-x pan-y;}
@media(max-height:700px){
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide p{display:none!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar p{display:none!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame{width:min(100%,calc((100dvh - 225px)*16/9))!important;max-width:calc((100dvh - 225px)*16/9)!important;}
}
@media(max-width:700px){
.sdv-app .sdv9-help-specimen{grid-template-columns:1fr;}
.sdv-app .sdv9-demo-art{min-height:140px;}
.sdv-app .sdv9-demo-art img{height:135px;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame{width:100%!important;max-width:100%!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide{gap:6px!important;flex-direction:row!important;}
.sdv-app .sdv5-arcade-help{min-width:125px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar strong{font-size:11px;}
}
@media(prefers-reduced-motion:reduce){.sdv-app .sdv9-found-stamp{animation:none!important;}}

.sdv-app .sdv9-zoom-buttons {display:inline-flex;gap:6px;}
.sdv-app .sdv9-zoom-buttons button {min-width:75px;background:#3c355b;border:1px solid #af9ccf;border-radius:8px;color:#fff;font-weight:900;padding:8px 10px;font-size:11px;cursor:pointer;}
.sdv-app .sdv9-zoom-buttons button:hover {background:#58517d;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame .sdv-scene[data-zoom]:not([data-zoom="1"]) {min-width:100%;}
@media(max-width:800px){.sdv-app .sdv6-arcade-buttons{flex-wrap:wrap}.sdv-app .sdv9-zoom-buttons{width:100%}.sdv-app .sdv9-zoom-buttons button{flex:1}}
/* Final viewport fitting: keep scanner, clue and exit controls visible without zooming the browser. */
@media(min-width:701px){
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame{
 width:min(100%,calc((100dvh - 310px)*16/9))!important;
 max-width:calc((100dvh - 310px)*16/9)!important;
 max-height:calc(100dvh - 295px)!important;
}
}
@media(max-width:700px){
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater {gap:3px!important;padding:6px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-top {margin:0!important;gap:3px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-top h3{font-size:20px!important;line-height:1!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hud{gap:5px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hud div{padding:3px 4px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hud small{font-size:8px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hud b{font-size:17px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar{display:block!important;padding:5px 7px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar strong{display:block;font-size:10px!important;margin-bottom:4px;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-toolbar p{display:none!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;width:100%!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv9-zoom-buttons{display:contents!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv6-arcade-buttons button{font-size:9px!important;padding:4px 1px!important;min-width:0!important;min-height:34px!important;white-space:normal!important;line-height:1.15!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide{display:flex!important;flex-direction:row!important;min-height:39px!important;padding:5px 7px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide strong{font-size:10px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-guide p{display:none!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv5-arcade-help{min-width:140px!important;min-height:34px!important;font-size:10px!important;padding:5px 7px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-arcade-progress{padding:4px 7px!important;margin:0!important;font-size:10px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-frame{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 305px)!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-hunt-controls button{font-size:10px!important;padding:5px 3px!important;min-width:0!important;line-height:1.2!important;}
.sdv-app .sdv-view[data-view="hunt"].sdv6-theater .sdv-scene-toast{font-size:10px!important;line-height:1.3!important;padding:5px 7px!important;min-height:25px!important;}
}
