.instant-camera{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:#36483f;font-family:'Segoe UI','Microsoft YaHei',sans-serif;isolation:isolate;outline:none}
.instant-camera::backdrop{background:transparent;backdrop-filter:none}
.instant-camera button{font:inherit;-webkit-tap-highlight-color:transparent}
.instant-camera button:focus-visible{outline:2px solid #456355;outline-offset:5px}
.instant-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--capture-background,#eeeee6);pointer-events:none}
.instant-camera[data-phase=composing] .instant-scene{pointer-events:auto;touch-action:none;cursor:grab}
.instant-camera[data-phase=composing] .instant-scene:active{cursor:grabbing}
.instant-shade{position:absolute;inset:0;background:transparent;backdrop-filter:blur(0);transition:background 1.2s,backdrop-filter 1.2s;pointer-events:none}
.instant-camera[data-phase=printing] .instant-shade,.instant-camera[data-phase=developing] .instant-shade,.instant-camera[data-phase=ready] .instant-shade{background:rgba(234,237,227,.83);backdrop-filter:blur(8px)}
.instant-model{position:absolute;inset:0;z-index:4;pointer-events:none;filter:drop-shadow(0 16px 19px #263b4033);will-change:opacity}
.instant-model canvas{width:100%;height:100%;display:block}
.instant-close{position:absolute;z-index:10;top:26px;right:30px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff9c;border-radius:50%;background:#f8f9f2bf;color:#506056;font-size:25px!important;font-weight:300;backdrop-filter:blur(12px);box-shadow:0 4px 22px #283d3c0b}
.instant-close:hover{background:#fffef7;color:#273e34}
.instant-status{position:absolute;z-index:6;top:30px;left:50%;transform:translateX(-50%);margin:0;padding:5px 13px;width:max-content;max-width:calc(100% - 165px);border-radius:20px;background:#f8f9f2bf;backdrop-filter:blur(8px);text-align:center;font-size:12px;letter-spacing:2px;line-height:1.8}
.instant-flash{position:absolute;inset:0;z-index:8;opacity:0;background:#fffdf5;pointer-events:none}
.instant-viewfinder{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#09272550 100%)}
.instant-viewfinder i{position:absolute;width:36px;height:36px;border:0 solid #f5fff2b3}
.instant-viewfinder i:nth-child(1){top:18%;left:18%;border-top-width:1px;border-left-width:1px}
.instant-viewfinder i:nth-child(2){top:18%;right:18%;border-top-width:1px;border-right-width:1px}
.instant-viewfinder i:nth-child(3){bottom:25%;left:18%;border-bottom-width:1px;border-left-width:1px}
.instant-viewfinder i:nth-child(4){bottom:25%;right:18%;border-bottom-width:1px;border-right-width:1px}
.instant-viewfinder:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:#fcfffbc9;font:27px Georgia}
.instant-viewfinder span{position:absolute;bottom:10%;left:0;right:0;text-align:center;color:#fffef6;font-size:10px;letter-spacing:3px;text-shadow:0 1px 9px #253a2c}
.instant-print{--print-ratio:1.2;position:absolute;left:50%;top:46%;z-index:3;width:min(61vw,560px,calc(62dvh * var(--print-ratio)));margin:0;opacity:0;transform:translate(-50%,-50%) rotate(-3deg);filter:drop-shadow(7px 19px 18px #29392c28);will-change:transform,clip-path}
.instant-print img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.instant-camera[data-phase=ready] .instant-print{transition:filter .3s;will-change:auto}
.instant-camera[data-phase=ready] .instant-print:hover{filter:drop-shadow(8px 22px 22px #29392c32)}
.instant-actions{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));z-index:7;display:flex;align-items:center;flex-direction:column;gap:18px;transform:translateX(-50%);white-space:nowrap}
.instant-actions[hidden]{display:none}
.instant-compose{position:absolute;z-index:7;left:50%;bottom:max(23px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:14px;max-width:calc(100% - 32px);transform:translateX(-50%)}
.instant-compose[hidden]{display:none}
.instant-view-help{margin:0;padding:5px 11px;border-radius:20px;color:#fffef6;background:#293b3480;text-shadow:0 1px 5px #23382e;font-size:10px;letter-spacing:1px;pointer-events:none}
.instant-choices{display:flex;align-items:center;gap:17px;padding:9px 15px;border:1px solid #fffaf08c;border-radius:25px;background:#f8faf2e8;box-shadow:0 6px 23px #172d2620;backdrop-filter:blur(14px);white-space:nowrap}
.instant-view-label{display:flex;align-items:center;gap:7px;color:#75806b;font-size:10px;letter-spacing:.7px}
.instant-view-select{max-width:120px;border:0;background:transparent;color:#3f5546;font:12px 'Segoe UI','Microsoft YaHei',sans-serif;padding:5px 2px;cursor:pointer;outline-offset:4px}
.instant-filters{display:flex;align-items:center;gap:3px}
.instant-filters button{border:0;border-radius:17px;background:transparent;color:#788575;min-height:31px;padding:5px 11px;font-size:11px;cursor:pointer;transition:background .2s,color .2s}
.instant-filters button[aria-pressed=true]{background:#53664e;color:#fffdf1}
.instant-filters button:hover:not([aria-pressed=true]){background:#e0e8d9;color:#40543b}
.instant-shutter{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 18px 6px 8px;border:1px solid #ffffffe0;border-radius:28px;background:#fffef5ed;box-shadow:0 4px 24px #172d2630;color:#3e5545;font-size:12px!important;letter-spacing:1px;cursor:pointer}
.instant-shutter i{display:block;width:32px;height:32px;border:1px solid #809077;border-radius:50%;background:#53664e;box-shadow:inset 0 0 0 4px #fffef4;transition:transform .2s}
.instant-shutter:hover i{transform:scale(.9)}
.instant-compose :disabled{opacity:.5;cursor:wait}
.instant-save{display:flex;align-items:center;gap:36px;border:1px solid #46604f;border-radius:3px;padding:14px 23px;background:#47604f;color:#fffdf2;font-size:12px!important;letter-spacing:1.5px;box-shadow:0 4px 12px #2e463417}
.instant-save span{font-size:17px;line-height:1}
.instant-save:hover{background:#344f3e;color:#fff}
.instant-save:disabled{opacity:.6;cursor:wait}
.instant-actions>div{display:flex;gap:17px;align-items:center;color:#a0aa98;font-size:10px}
.instant-actions>div button{padding:3px;background:transparent;border:0;color:#697964;font-size:11px;letter-spacing:.6px}
.instant-actions>div button:hover{color:#334b37}
.instant-camera[data-phase=error] .instant-status{top:40%}
.instant-model-fallback{position:absolute;left:50%;top:50%;width:195px;height:218px;transform:translate(-50%,-50%);border-radius:43px 34px 37px 48px;background:linear-gradient(125deg,#c4e5ee,#95bfd1 65%,#729eaf);box-shadow:inset 3px 3px 9px #e7faff,inset -6px -9px 10px #43697655,0 17px 30px #34464f33}
.instant-model-fallback>span{position:absolute;right:38px;top:28px;font-size:18px;line-height:.9;color:#effaff;text-align:center}
.instant-model-fallback small{display:block;font-size:9px;margin-top:6px}
.instant-model-fallback i{position:absolute;left:55px;top:84px;width:115px;height:115px;border:23px solid #b1d5e3;border-radius:50%;background:radial-gradient(circle at 40% 35%,#92a9b5 0,transparent 9%),radial-gradient(circle,#243d50,#061724);box-shadow:0 2px 7px #30445566,inset 0 0 0 7px #26363b}
.instant-model-fallback b{position:absolute;left:29px;top:23px;width:24px;height:54px;border:4px solid #bacfd4;border-radius:11px;background:linear-gradient(90deg,#ffffff,#f2f1dc)}
body.instant-camera-active #app>:not(#scene){opacity:0!important;pointer-events:none!important}
@media(max-width:650px){.instant-close{top:18px;right:18px;width:35px;height:35px}.instant-status{top:26px;width:calc(100% - 135px);font-size:10px;letter-spacing:1.2px}.instant-print{width:min(83vw,calc(62dvh * var(--print-ratio)));top:44%}.instant-actions{bottom:max(25px,env(safe-area-inset-bottom));gap:15px}.instant-save{padding:12px 20px;gap:30px}.instant-viewfinder i{width:24px;height:24px}.instant-choices{gap:8px;padding:8px 10px}.instant-filters{gap:0;padding-left:8px}.instant-filters button{padding:5px 8px}.instant-view-label{gap:4px}.instant-view-select{max-width:95px;font-size:11px}.instant-compose{gap:12px}}
@media(max-height:550px){.instant-print{top:45%;width:min(48vw,calc(57dvh * var(--print-ratio)))}.instant-actions{bottom:13px;gap:6px}.instant-save{padding:9px 18px}.instant-status{top:17px}.instant-compose{bottom:13px;flex-direction:row;gap:13px}.instant-viewfinder i:nth-child(3),.instant-viewfinder i:nth-child(4){bottom:28%}}
@media(prefers-reduced-motion:reduce){.instant-shade,.instant-print{transition:none!important}}
