/* W24 — mobile-first in-world photo experience; DOM overlay only, no second GPU loop. */
.photo-studio{position:absolute;inset:0;z-index:26;overflow:hidden;isolation:isolate;color:#f5f5ff;font:500 14px/1.4 system-ui,sans-serif}
.photo-studio button,.photo-studio textarea{font:inherit}
.photo-studio button{touch-action:manipulation;cursor:pointer}
.photo-stage{position:absolute;inset:0;z-index:0;touch-action:none;cursor:grab}
.photo-stage:active{cursor:grabbing}
.photo-grid{position:absolute;inset:12% 8%;pointer-events:none;opacity:.26;background:linear-gradient(90deg,transparent 33.15%,#d0e7eea8 33.3%,transparent 33.5%,transparent 66.5%,#d0e7eea8 66.7%,transparent 66.85%),linear-gradient(0deg,transparent 33.15%,#d0e7eea8 33.3%,transparent 33.5%,transparent 66.5%,#d0e7eea8 66.7%,transparent 66.85%);border:1px solid #c2e5e766;border-radius:4px}
.photo-focus{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#dafcf6;font-size:22px;font-weight:250;text-shadow:0 1px 8px #000;pointer-events:none}
.photo-top{position:absolute;z-index:6;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 18px) calc(env(safe-area-inset-right,0px) + 17px) 20px calc(env(safe-area-inset-left,0px) + 17px);background:linear-gradient(#050816c9,transparent);pointer-events:none}
.photo-top strong{display:block;font-weight:900;font-size:14px;letter-spacing:.18em}
.photo-top small{display:block;font-size:10px;color:#9be4da;letter-spacing:.12em;margin-top:4px}
.photo-top button{pointer-events:auto;border:1px solid #ffffff4a;border-radius:50%;width:44px;height:44px;background:#121a33d9;color:#fff;font-size:22px}
.photo-guide{position:absolute;z-index:1;left:50%;top:calc(env(safe-area-inset-top,0px) + 83px);transform:translateX(-50%);white-space:nowrap;max-width:94vw;overflow:hidden;text-overflow:ellipsis;font-size:11px;text-align:center;color:#d6eeed;background:#060d1bbb;border:1px solid #ffffff2e;border-radius:30px;padding:9px 13px;pointer-events:none}
.photo-bottom{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 14px calc(env(safe-area-inset-bottom,0px) + 16px);background:linear-gradient(transparent,#070914ef 40%,#070914fa)}
.photo-angles{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;max-width:100%}
.photo-angles button{background:#141a32ef;color:#e8edf6;border:1px solid #ffffff30;padding:10px 12px;border-radius:30px;font-size:11px;font-weight:750;min-height:42px}
.photo-angles button.selected{background:#295c60;border-color:#92e6dc;color:#fff;box-shadow:0 0 16px #51d8c035}
.photo-shutter-row{display:flex;align-items:center;justify-content:center;gap:44px}
.photo-shutter-row>button:not(#photoShoot){width:45px;height:45px;border-radius:50%;color:#fff;border:1px solid #ffffff55;background:#293149ad;font-size:22px}
#photoShoot{width:76px;height:76px;border-radius:50%;padding:7px;background:#ffffff25;border:3px solid #fbfdff;box-shadow:0 0 15px #78f5f04d;display:grid;place-items:center;transition:transform .12s}
#photoShoot:active{transform:scale(.87)}
#photoShoot span{width:54px;height:54px;display:block;border-radius:50%;background:linear-gradient(140deg,#fff,#d0edee);box-shadow:inset 0 0 10px #bfe9e9}
.photo-hint{font-size:9px;color:#b4c7d1;letter-spacing:.12em;text-align:center}
.photo-flash{position:absolute;inset:0;z-index:5;pointer-events:none;background:#fff;opacity:0}
.photo-flash.firing{animation:anw-photo-flash .39s ease-out both}
@keyframes anw-photo-flash{0%{opacity:0}16%{opacity:.95}100%{opacity:0}}
.photo-review{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:auto;padding:calc(env(safe-area-inset-top,0px) + 58px) 12px calc(env(safe-area-inset-bottom,0px) + 14px);background:#050817ed;backdrop-filter:blur(20px)}
.photo-preview{width:min(100%,420px);flex:1;min-height:100px;max-height:56vh;display:flex;align-items:center;justify-content:center}
.photo-preview img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 16px 55px #000c;border:1px solid #ffffff24}
.photo-compose{width:min(100%,490px);padding:16px;background:#121a30f0;border:1px solid #9bbbd041;border-radius:18px;box-shadow:0 10px 38px #000a}
.photo-compose small{display:block;color:#93e6df;font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:10px}
.photo-compose label{font-size:12px;display:block;margin-bottom:8px;color:#f1f3f8}
.photo-compose textarea{display:block;width:100%;min-height:64px;max-height:110px;resize:vertical;border:1px solid #ffffff47;border-radius:11px;background:#090d1d;color:#fff;padding:12px;outline:none}
.photo-compose textarea:focus-visible{border-color:#79e5d7}
.photo-review-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.photo-review-actions button{flex:1;white-space:nowrap;border:1px solid #ffffff40;border-radius:11px;min-height:43px;background:#1d2944;color:white;font-size:11px;font-weight:800;padding:7px}
#photoPublish{flex:2;background:linear-gradient(110deg,#a951b2,#6b5be2);border:1px solid #d9a6e3;color:white}
#photoStatus{margin:10px 0 0;font-size:11px;color:#b5cfdd}
body.photo-active .veil{visibility:hidden!important}
body.photo-active .hud-top,body.photo-active .touch-ui,body.photo-active .bottom-nav,body.photo-active #openINight,body.photo-active .desktop-help,body.photo-active .location,body.photo-active .prompt,body.photo-active .room-chat-preview,body.photo-active .speech-layer{visibility:hidden!important;pointer-events:none!important}
@media(max-height:690px) and (min-width:650px){.photo-review{flex-direction:row;gap:14px;padding:48px 20px 12px}.photo-preview{width:52%;height:90%;max-height:none}.photo-compose{width:45%}.photo-bottom{gap:6px;padding:14px}.photo-shutter-row{gap:27px}#photoShoot{width:60px;height:60px}#photoShoot span{width:40px;height:40px}.photo-hint{display:none}}
@media(max-width:380px){.photo-angles button{padding:9px;font-size:10px}.photo-shutter-row{gap:28px}.photo-review-actions button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.photo-flash.firing{animation:none;opacity:.35}#photoShoot{transition:none}}

/* W26 integration: [hidden] must win over explicit flex display.
 * Camera is immersive; mascot and HUD radar must not cover the shutter. */
#photoStudio[hidden],#photoStudio #photoReview[hidden]{display:none!important}
body.photo-active #anwCompanion,body.photo-active #anwMiniMap,
body.photo-active #anwGpsOverlay,body.photo-active #socialQuickView{
 visibility:hidden!important;pointer-events:none!important;
}
@media(pointer:coarse){.photo-review{backdrop-filter:none;-webkit-backdrop-filter:none}}
