.phone-overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.phone-shell{--phone-w:300px;--phone-h:400px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--phone-w) + 16px);border:2px solid #ffffff30;border-radius:28px;overflow:hidden;box-shadow:0 18px 80px #0008;pointer-events:auto}.phone-top{height:36px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;background:#0a0c13;color:#e4e4ed;font-size:10px}.phone-top button{background:transparent!important;border:0!important;font-size:10px;padding:4px 6px!important}.phone-top #closePhone{font-size:25px}.phone-top b{font-weight:400;color:#d2bfff}.phone-view{width:var(--phone-w);height:var(--phone-h);margin:0 6px;position:relative;outline:0!important;touch-action:none;cursor:grab}.phone-view:active{cursor:grabbing}.phone-view:before,.phone-view:after{content:"";position:absolute;top:0;bottom:0;width:7px;background:#0a0c13;pointer-events:none}.phone-view:before{right:100%}.phone-view:after{left:100%}.phone-badge{position:absolute;top:13px;left:13px;font-size:8px;letter-spacing:1.7px;color:#fff9;text-shadow:0 1px 6px #0008;pointer-events:none}#phoneLensReadout{position:absolute;bottom:12px;left:12px;padding:4px 7px;border:1px solid #ffffff35;background:#0003;color:#fff;border-radius:6px;font-size:10px;pointer-events:none}.phone-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.2%,#ffffff40 33.3%,#ffffff40 33.5%,transparent 33.6%,transparent 66.4%,#ffffff40 66.5%,#ffffff40 66.7%,transparent 66.8%),linear-gradient(to bottom,transparent 33.2%,#ffffff40 33.3%,#ffffff40 33.5%,transparent 33.6%,transparent 66.4%,#ffffff40 66.5%,#ffffff40 66.7%,transparent 66.8%)}.phone-controls{height:117px;background:#0a0c13;padding:8px 9px 7px}.phone-zooms{display:flex;align-items:center;justify-content:center;gap:2px;overflow:auto;scrollbar-width:none}.phone-zooms button{padding:6px 6px!important;min-width:29px;border:0!important;background:transparent!important;color:#b9b5c5!important;border-radius:20px!important;font-size:10px;white-space:nowrap}.phone-zooms button[aria-pressed=true]{background:#e6d9ff!important;color:#251d35!important}.phone-shutter-row{display:flex;align-items:center;justify-content:space-around;height:61px}.phone-shutter-row>button:not(#phoneShutter){background:transparent!important;color:#d8d3e4!important;border:0!important;font-size:10px;padding:8px!important}#phoneShutter{display:flex;align-items:center;justify-content:center;width:53px;height:53px;padding:3px!important;border:2px solid #f2eaff!important;border-radius:50%!important;background:transparent!important}#phoneShutter i{display:block;background:#f2eaff;width:41px;height:41px;border-radius:50%}#phoneShutter:active i{transform:scale(.9)}#phoneHelp{display:block;text-align:center;color:#77778b;font-size:8px;letter-spacing:.2px}.phone-toast{position:absolute;left:18px;right:18px;bottom:125px;background:#151729eb;border:1px solid #ffffff25;color:#fff;padding:10px;border-radius:10px;font-size:10px;text-align:center;pointer-events:none}.shutter-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .1s}.shutter-flash.visible{opacity:.2}.photo-album{position:absolute;inset:20px;max-width:760px;margin:auto;z-index:12;pointer-events:auto;overflow:auto;background:#181d2bf9;border:1px solid #ffffff20;border-radius:22px;padding:25px}.album-top{display:flex;justify-content:space-between;align-items:center}.album-top span{font-size:9px;color:#bbaaf3;letter-spacing:2px}.album-top h2{font-size:23px;margin:8px 0}.album-top button{font-size:24px;background:transparent;border:0}.photo-album>p{font-size:10px}.photo-card{display:grid;grid-template-columns:100px 1fr;gap:18px;background:#ffffff04;border:1px solid #ffffff10;border-radius:14px;margin:12px 0;padding:12px}.photo-card img{width:100px;height:133px;object-fit:cover;border-radius:8px}.photo-card strong{display:block;font-size:12px;margin:5px 0}.photo-card p{font-size:10px}.photo-card a,.photo-card button{display:inline-block;font-size:10px;padding:9px 11px;border-radius:9px;margin:5px 7px 0 0}.photo-card .save-photo{background:#d9ccff;color:#251a3c}.photo-card button{background:transparent}.album-empty{text-align:center;padding:60px 0}.photo-open .header-actions button{display:none}
@media(max-width:700px){.phone-shell{border-radius:23px}.photo-album{inset:12px;padding:18px}.photo-card{grid-template-columns:80px 1fr;gap:12px}.photo-card img{width:80px;height:107px}.photo-card a,.photo-card button{padding:8px}.album-top h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.shutter-flash{transition:none}}

.phone-move-pad{display:none;position:absolute;width:64px;height:64px;right:14px;bottom:14px;border:1px solid #ffffff40;background:#14172a55;border-radius:50%;touch-action:none;pointer-events:auto}.phone-move-pad i{position:absolute;top:50%;left:50%;width:26px;height:26px;border-radius:50%;background:#d4c4ff66;border:1px solid #e8ddff99;transform:translate(-50%,-50%)}.phone-move-pad small{position:absolute;bottom:4px;width:100%;text-align:center;color:#ddd4f7b0;font-size:8px}@media(pointer:coarse){.phone-move-pad{display:block}}

/* iPhone 18 Pro Max front, drawn with DOM and CSS only. Proportions follow the 2868 x 1320
   screen. The camera layout follows the iPhone camera app; it is not a copy of it. */
.iphone-shell{--frame:calc(var(--phone-w)*.03);--radius:calc(var(--phone-w)*.145);width:calc(var(--phone-w) + 2*var(--frame));padding:var(--frame);border:1.5px solid #6c6a66;border-radius:calc(var(--radius) + var(--frame));overflow:visible;background:transparent;box-shadow:0 0 0 1px #000,inset 0 0 0 var(--frame) #0b0b0c,0 24px 70px #000a;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}
.iphone-screen{position:relative;width:var(--phone-w);height:var(--phone-screen-h);display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:transparent;isolation:isolate}
.iphone-island{position:absolute;z-index:3;top:calc(var(--phone-w)*.028);left:50%;width:calc(var(--phone-w)*.25);height:calc(var(--phone-w)*.072);transform:translateX(-50%);border-radius:999px;background:#000;box-shadow:0 0 0 1px #ffffff0d;pointer-events:none}
.iphone-side{position:absolute;display:block;width:3px;background:linear-gradient(90deg,#2d2d2c,#8a8884,#3b3b39);border-radius:3px;pointer-events:none}
.iphone-action{left:-4px;top:17%;height:5%}.iphone-volume-up{left:-4px;top:24%;height:8%}.iphone-volume-down{left:-4px;top:34%;height:8%}.iphone-power{right:-4px;top:26%;height:13%}.iphone-camera-control{right:-4px;top:60%;height:7%}
.iphone-shell .phone-top{flex:0 0 calc(var(--phone-w)*.2);height:auto;display:flex;align-items:flex-end;justify-content:space-between;padding:0 calc(var(--phone-w)*.045) 8px;background:#000;color:#fff;font-size:11px}
.iphone-shell .phone-top button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:50%!important;background:#ffffff1f!important;color:#fff!important;touch-action:manipulation}
.iphone-shell .phone-top button:hover{background:#ffffff33!important}.iphone-shell .phone-top button:focus-visible{outline:2px solid #ffd60a;outline-offset:2px}.iphone-shell #phoneGrid[aria-pressed=true]{color:#ffd60a!important}
.iphone-shell #phoneTitle{align-self:center;margin-top:calc(var(--phone-w)*.09);color:#ffffffb0;font-size:11px;white-space:nowrap}
.iphone-shell .phone-view{flex:0 0 var(--phone-h);width:var(--phone-w);height:var(--phone-h);margin:0;border-radius:0}.iphone-shell .phone-view:before,.iphone-shell .phone-view:after{display:none}
.iphone-shell .phone-badge{top:10px;left:50%;transform:translateX(-50%);padding:3px 8px;border-radius:999px;background:#0006;color:#fffc;font-size:9px;letter-spacing:.5px;white-space:nowrap}
.iphone-shell .phone-zooms{position:absolute;left:50%;bottom:12px;z-index:2;transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-start;gap:0;height:auto;max-width:calc(var(--phone-w) - 16px);padding:3px;border-radius:999px;background:#0000005c;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:default}.iphone-shell .phone-zooms::-webkit-scrollbar{display:none}
.iphone-shell .phone-zooms button{flex:0 0 auto;width:25px;min-width:25px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;font-size:11px;font-weight:600;touch-action:manipulation}
.iphone-shell .phone-zooms button[aria-pressed=true]{width:34px;min-width:34px;height:34px;background:#000a!important;color:#ffd60a!important;font-size:12px}.iphone-shell .phone-zooms button:focus-visible{outline:2px solid #ffd60a}
.iphone-shell .phone-controls{flex:1 1 auto;height:auto;min-height:0;display:flex;flex-direction:column;padding:0;background:#000}
.iphone-shell .iphone-photo-mode{flex:0 0 34px;height:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#ffd60a;font-size:13px;font-weight:600;letter-spacing:.5px}
.iphone-photo-mode>span{text-align:center;padding:0 10px}.iphone-shell .iphone-photo-mode button{min-height:30px;padding:4px 8px!important;border:0!important;background:transparent!important;color:#ffffffa6!important;font-size:11px;font-weight:400;letter-spacing:0}.iphone-shell .iphone-photo-mode button:disabled{opacity:.4}.iphone-shell .iphone-photo-mode button[aria-pressed=true]{color:#ffd60a!important}
.iphone-shell .phone-shutter-row{flex:1 1 auto;height:auto;min-height:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;padding:0 calc(var(--phone-w)*.06)}
.iphone-shell #phoneShutter{width:calc(var(--phone-w)*.2);height:calc(var(--phone-w)*.2);padding:0!important;border:3px solid #fff!important;background:transparent!important}.iphone-shell #phoneShutter i{width:calc(100% - 7px);height:calc(100% - 7px);background:#fff;border-radius:50%;transition:transform .08s}
.iphone-shell #openPhotoAlbum{justify-self:start;position:relative;width:calc(var(--phone-w)*.125);height:calc(var(--phone-w)*.125);padding:0!important;border:0!important;border-radius:9px!important;background:#1c1c1e center/cover no-repeat!important;color:#fff!important;font-size:11px}.iphone-shell #openPhotoAlbum b{font-weight:600}
.iphone-shell #flipPhone{justify-self:end;width:calc(var(--phone-w)*.125);height:calc(var(--phone-w)*.125);display:inline-flex;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:50%!important;background:#ffffff24!important;color:#fff!important}
.iphone-shell #phoneHelp{position:absolute;left:0;right:0;bottom:calc(var(--phone-w)*.045 + 4px);text-align:center;color:#ffffff66;font-size:8px;line-height:10px;pointer-events:none}
.iphone-home{flex:0 0 calc(var(--phone-w)*.06);height:auto;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;background:#000;pointer-events:none}.iphone-home i{width:36%;height:4px;background:#fff;border-radius:4px}
.iphone-shell .phone-toast{bottom:calc(var(--phone-w)*.5);background:#1c1c1eed;border-color:#ffffff20}
.iphone-shell .phone-move-pad{bottom:58px}

.selfie-tools{position:absolute;left:10px;top:40px;z-index:2;display:none;flex-direction:column;gap:6px}.phone-overlay[data-facing=selfie] .selfie-tools{display:flex}
.selfie-tools button{min-width:44px;height:28px;padding:0 10px!important;border:0!important;border-radius:999px!important;background:#0008!important;color:#fff!important;font-size:11px}
.avatar-sheet{position:absolute;left:0;right:0;bottom:0;z-index:5;max-height:62%;overflow:auto;padding:12px 12px 22px;border-radius:18px 18px 0 0;background:#1c1c1ef5;color:#fff;font-size:11px}
.avatar-sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.avatar-sheet-top b{font-size:13px}.avatar-sheet-top button{border:0!important;background:transparent!important;color:#ffd60a!important;font-size:12px;font-weight:600;padding:4px!important}
.avatar-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:7px 0}.avatar-row>span{width:52px;color:#fff9}.avatar-row button{min-height:26px;padding:3px 9px!important;border:1px solid #ffffff2a!important;border-radius:999px!important;background:#2c2c2e!important;color:#fff!important;font-size:11px}
.avatar-row button.swatch{width:24px;min-height:24px;height:24px;padding:0!important;border:2px solid #ffffff30!important}.avatar-row button[aria-pressed=true]{border-color:#ffd60a!important;color:#ffd60a!important}.avatar-sheet small{display:block;margin-top:8px;color:#fff7}

.phone-top-right{display:flex;gap:6px}
.phone-overlay[data-orient=landscape] .phone-shell{transform:translate(-50%,-50%) rotate(-90deg)}
.iphone-shell #phoneRotate[aria-pressed=true]{color:#ffd60a!important}
.phone-shell{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.phone-view{overscroll-behavior:contain}

/* V34g: Motion pill in the top bar, album thumbnail, full-size photo viewer, share link. */
.iphone-shell #phoneGyro.phone-motion{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px 0 10px!important;border-radius:999px!important;border:1.5px solid #ffd60a!important;background:#ffd60a1f!important;color:#ffd60a!important;font-size:12px;font-weight:700;letter-spacing:.3px}
.iphone-shell #phoneGyro.phone-motion::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffd60a;box-shadow:0 0 0 2px #ffffff22}
.iphone-shell #phoneGyro.phone-motion[aria-pressed=true]{background:#ffd60a!important;border-color:#ffd60a!important;color:#1c1c1e!important}
.iphone-shell #phoneGyro.phone-motion[aria-pressed=true]::before{background:#1c1c1e;box-shadow:0 0 0 2px #1c1c1e33;animation:motionPulse 1.6s ease-in-out infinite}
.iphone-shell #phoneGyro.phone-motion:disabled{opacity:.6}
@keyframes motionPulse{50%{transform:scale(.65)}}
.iphone-shell .iphone-photo-mode .mode-spacer{padding:0}
.iphone-shell #openPhotoAlbum{display:grid;place-items:center;overflow:visible;border:2px solid #ffffff55!important;background:#1c1c1e!important;color:#ffffffb3!important}
.iphone-shell #openPhotoAlbum.has-photos{border-color:#fff!important;box-shadow:0 0 0 3px #ffd60a55}
.iphone-shell #openPhotoAlbum #albumThumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:7px}
.iphone-shell #openPhotoAlbum.has-photos svg{display:none}
.iphone-shell #openPhotoAlbum #photoCount{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ffd60a;color:#1c1c1e;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 2px 6px #0008}
.iphone-shell #openPhotoAlbum.pop{animation:albumPop .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes albumPop{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.photo-card img{cursor:zoom-in}
.photo-card .share-photo{border-color:#ffd60a66!important}
.album-status{min-height:1.2em;margin:4px 0 10px;color:#ffd60a;font-size:13px}
.photo-viewer{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;gap:12px;padding:14px;background:#000e;border-radius:inherit}
.photo-viewer[hidden]{display:none}
.photo-viewer img{flex:1;min-height:0;width:100%;object-fit:contain;border-radius:10px;touch-action:pan-x pan-y pinch-zoom}/* V34h28: one-finger pan was blocked (pinch-zoom only) */
.photo-album,.photo-viewer{touch-action:pan-x pan-y pinch-zoom}
.photo-viewer .viewer-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.photo-viewer .viewer-bar button,.photo-viewer .viewer-bar a{padding:9px 14px;border-radius:999px;border:1px solid #ffffff40;background:#ffffff14;color:#fff;font-size:13px;text-decoration:none;cursor:pointer}
/* V34h28: Save is the one primary action, in the site orange; Close sits last. */
.photo-viewer #viewerSave{background:#ff7a3d;border-color:#ff7a3d;color:#1b0c04;font-weight:700}
.photo-viewer #viewerClose{background:transparent}

/* V34g: keep the Motion pill on one line, beside rotate/grid, clear of the island */
.iphone-shell .phone-top-right{align-items:center}
.iphone-shell #phoneGyro.phone-motion{flex:0 0 auto;width:auto;min-width:0;white-space:nowrap;height:28px;line-height:1;margin-right:2px}

/* V34g: Motion pill sits in the viewfinder's top-left corner, clear of the Dynamic Island */
.iphone-shell .phone-view #phoneGyro.phone-motion{position:absolute;top:8px;left:8px;z-index:3;box-shadow:0 2px 10px #0007}
.iphone-shell .phone-view #phoneGyro.phone-motion:not([aria-pressed=true]){background:#000a!important}
.iphone-shell .phone-badge{left:auto;right:8px;top:12px;transform:none}

/* V34h2: no move joystick inside the camera (user request) */
.phone-move-pad{display:none!important}
/* V34h6: "turned" landscape on a portrait phone: full-size frame, labels turned for a sideways phone */
.phone-overlay[data-orient=turned] .phone-zooms button,.phone-overlay[data-orient=turned] .iphone-photo-mode>*,.phone-overlay[data-orient=turned] .phone-top button,.phone-overlay[data-orient=turned] .phone-shutter-row button{transform:rotate(90deg)}
.phone-overlay[data-orient=turned] .iphone-shell .phone-badge{right:auto;left:auto;top:auto;bottom:74px;right:-26px;transform:rotate(90deg)}
.phone-overlay[data-orient=turned] .iphone-shell .phone-view #phoneGyro.phone-motion{top:44px;left:auto;right:-6px;transform:rotate(90deg)}
.phone-overlay[data-orient=turned] #phoneHelp{visibility:hidden}
