.camera-surface{isolation:isolate}.booth-video{z-index:2;object-fit:cover;background:#352a28;width:100%;height:100%;display:block;position:absolute;inset:0}.booth-video.is-mirrored{transform:scaleX(-1)}.camera-empty-state{z-index:7;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf6e0;border:1px solid #ffffff8c;border-radius:24px;align-content:center;place-items:center;gap:10px;width:min(390px,100% - 36px);min-height:210px;padding:26px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 55px #4b2f2b2e}.camera-empty-state__icon{color:#c55a73;background:#ffe4eb;border-radius:17px;place-items:center;width:54px;height:54px;font-size:24px;display:grid}.camera-empty-state strong{font-size:18px}.camera-empty-state p{color:#766865;margin:0;font-size:13px;line-height:1.5}.camera-countdown{z-index:9;animation:.3s both pictofu-countdown-pop}.capture-flash{z-index:10;pointer-events:none;opacity:0;background:#fff;animation:.28s pictofu-camera-flash;position:absolute;inset:0}.live-dot.is-live{background:#5fbd9a;box-shadow:0 0 0 4px #e0f6ee}.shot-progress{color:#bd5e73;background:#fff0f4;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:11px;font-weight:800}.capture-tray button:disabled{cursor:not-allowed;opacity:.42}.capture-tray .shutter-button:disabled{opacity:.68}.capture-status{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.capture-status.is-error{background:#fff0f2;border-color:#f0c4ca}.capture-status button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff748f,#ff617f);border:0;border-radius:12px;min-width:132px;min-height:44px;font-weight:800}.capture-status button:disabled{cursor:not-allowed;opacity:.48}.result-strip__photo.has-photo{background:#332b29}.result-strip__photo img{object-fit:cover;width:100%;height:100%;min-height:88px;display:block}.result-strip__photo--bw img{filter:grayscale()}.result-strip__photo--warm img{filter:sepia(.18)saturate(1.18)}.result-strip__photo--vintage img{filter:sepia(.38)contrast(.9)}.result-strip__photo--y2k img{filter:saturate(1.3)contrast(1.08)hue-rotate(324deg)}.capture-review{background:linear-gradient(145deg,#fffaf8,#fff5f8);border:1px solid #eadfe0;border-radius:16px;gap:12px;margin:-4px 0 12px;padding:14px;display:grid}.capture-review__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.capture-review__heading>div{gap:2px;display:grid}.capture-review__heading span{color:#b7657b;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.capture-review__heading h2{color:#4f4043;margin:0;font-size:15px}.capture-review__retake-all{color:#a25569;cursor:pointer;background:#fff;border:1px solid #e5cbd2;border-radius:11px;min-height:38px;padding:0 12px;font-size:11px;font-weight:800}.capture-review__retake-all:disabled{cursor:not-allowed;opacity:.45}.capture-review__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.capture-review__shot{color:#5f5053;cursor:pointer;text-align:left;background:#fff;border:1px solid #e8dadd;border-radius:13px;gap:7px;min-width:0;padding:7px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.capture-review__shot:hover:not(:disabled),.capture-review__shot:focus-visible:not(:disabled){border-color:#f09ab0;transform:translateY(-1px);box-shadow:0 8px 20px #b45a771f}.capture-review__shot.is-active{border-color:#ff809b;box-shadow:inset 0 0 0 1px #ff809b}.capture-review__shot:disabled{cursor:not-allowed;opacity:.58}.capture-review__thumb{aspect-ratio:3/4;background:#eee7e4;border-radius:9px;display:block;overflow:hidden}.capture-review__thumb img{object-fit:cover;width:100%;height:100%;display:block}.capture-review__shot-label{justify-content:space-between;align-items:center;gap:6px;min-width:0;font-size:10px;display:flex}.capture-review__shot-label strong{color:#514346;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.capture-review__shot-label>span{color:#c35f79;text-transform:none;font-size:9px;font-weight:800}.capture-review__message,.capture-review__privacy{margin:0;font-size:11px;line-height:1.45}.capture-review__message{color:#4e786d;background:#f1faf7;border-radius:10px;padding:9px 10px}.capture-review__privacy{color:#8a777b}.captured-summary{color:#55786f;background:#eff9f6;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:-8px 0 8px;padding:10px 12px;font-size:11px;display:flex}.captured-summary strong{color:#3f655c}@keyframes pictofu-countdown-pop{0%{opacity:.35;transform:translate(-50%,-50%)scale(.72)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes pictofu-camera-flash{0%{opacity:0}35%{opacity:.92}to{opacity:0}}@media (max-width:720px){.booth-camera-placeholder.camera-surface{min-height:min(67dvh,620px)}.camera-empty-state{border-radius:20px;width:min(330px,100% - 24px);min-height:190px;padding:20px}.capture-status{grid-template-columns:1fr;gap:10px}.capture-status button{width:100%;min-height:48px}.capture-review{padding:12px}.capture-review__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-review__shot{min-height:44px}.captured-summary{flex-direction:column;align-items:flex-start;gap:3px}}@media (max-width:390px){.capture-review__heading{flex-direction:column;align-items:flex-start}.capture-review__retake-all{width:100%;min-height:44px}}@media (prefers-reduced-motion:reduce){.camera-countdown,.capture-flash,.capture-review__shot{transition:none;animation:none}}
.result-strip--layout-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));width:min(230px,72%)}.result-strip--layout-grid-4 .result-strip__photo{min-height:96px}.result-strip--layout-grid-4 .result-strip__brand{grid-column:1/-1}.result-strip--layout-polaroid{width:min(230px,72%);padding:12px 12px 28px}.result-strip--layout-polaroid .result-strip__photo{min-height:210px}.frame-choice-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.frame-choice{color:#6f6260;cursor:pointer;background:#fff;border:1px solid #e8d9d3;border-radius:12px;align-content:center;justify-items:center;gap:6px;min-height:58px;font-size:10px;display:grid}.frame-choice>span{background:#fff;border:3px solid #0000;border-radius:6px;width:30px;height:22px;display:block;box-shadow:inset 0 0 0 1px #5037321f}.frame-choice--pink>span{border-color:#ffdce6}.frame-choice--cream>span{border-color:#fff1df}.frame-choice--lilac>span{border-color:#eadfff}.frame-choice--mint>span{border-color:#dff3ed}.frame-choice.is-selected{color:#bd5c72;border-color:#ff8199;box-shadow:inset 0 0 0 1px #ff8199}.frame-choice:disabled{cursor:not-allowed;opacity:.45}.export-actions{grid-template-columns:minmax(0,1.55fr) minmax(110px,.8fr);gap:9px;margin-top:22px;display:grid}.export-actions .download-shell-button{opacity:1;cursor:pointer;background:linear-gradient(120deg,#a979e9,#f0699b 55%,#ffad79);margin-top:0;box-shadow:0 13px 28px #d25d9933}.export-actions .download-shell-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.share-strip-button{color:#7353a1;cursor:pointer;background:#fff;border:1px solid #d9c3ee;border-radius:15px;min-height:52px;font-weight:800}.share-strip-button:disabled{cursor:not-allowed;opacity:.42}.export-hint,.export-message{color:#8b6a54;background:#fff7ef;border-radius:11px;margin:10px 0 0;padding:9px 11px;font-size:11px;line-height:1.4}.export-message{color:#4c786d;background:#eff9f6}.export-message.is-error{color:#a95767;background:#fff0f2}.save-preview-overlay{z-index:80;padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#261c229e;place-items:center;display:grid;position:fixed;inset:0}.save-preview-card{text-align:center;background:#fffaf6;border:1px solid #ffffffbf;border-radius:24px;justify-items:center;gap:14px;width:min(520px,100%);max-height:min(88dvh,820px);padding:24px;display:grid;position:relative;overflow:auto;box-shadow:0 24px 70px #34202d47}.save-preview-card__close{color:#735f62;cursor:pointer;background:#f5eceb;border:0;border-radius:999px;width:38px;height:38px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.save-preview-card__eyebrow{color:#b76487;letter-spacing:.08em;text-transform:uppercase;margin:4px 0 -6px;font-size:11px;font-weight:800}.save-preview-card h2{color:#49383d;margin:0;font-size:clamp(22px,5vw,30px)}.save-preview-card__copy{color:#79696c;max-width:40ch;margin:-4px 0 0;font-size:13px;line-height:1.6}.save-preview-image-wrap{background:linear-gradient(145deg,#fff,#f7eef5);border:1px solid #eadde5;border-radius:18px;place-items:center;width:100%;padding:14px;display:grid}.save-preview-image{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;border-radius:10px;width:auto;max-width:100%;max-height:56dvh;display:block;box-shadow:0 12px 30px #48303c2e}.save-preview-card__tip{color:#9c5871;background:#fff1f5;border-radius:12px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.save-preview-card__done{color:#fff;cursor:pointer;background:#4c3a42;border:0;border-radius:14px;width:100%;min-height:48px;font-weight:800}@media (max-width:720px){.result-strip--layout-grid-4,.result-strip--layout-polaroid{width:min(220px,68%)}.export-actions{grid-template-columns:1fr 120px}.save-preview-card{border-radius:20px;padding:20px 16px 16px}}@media (max-width:390px){.frame-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.export-actions{grid-template-columns:1fr}.share-strip-button{min-height:48px}}
