.stage-frame{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.surface{position:relative;width:100%;height:100%;background:#000;overflow:hidden}.preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);background:#000}.overlay-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.status{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translate(-50%);z-index:5;font-size:13px;letter-spacing:.02em;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:7px 16px;border-radius:999px;max-width:88%;text-align:center}.controls{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 24px}.controls.row{flex-direction:row;justify-content:center}.btn,.toggle{font:600 16px/1 -apple-system,system-ui,sans-serif;color:#fff;padding:14px 28px;border-radius:999px;max-width:100%;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .1s cubic-bezier(.16,1,.3,1),opacity .15s,background .15s,border-color .15s}.btn{min-width:200px}.toggle{min-width:0;white-space:nowrap}.btn:active,.toggle:active{transform:scale(.95)}.btn:disabled,.toggle:disabled{opacity:.35}.btn{border:1.5px solid oklch(72% .18 25)}.btn.secondary{border-color:#fff3}.toggle{border:1.5px solid rgba(255,255,255,.25)}.toggle[aria-pressed=true]{background:oklch(72% .18 25 / .18);border-color:oklch(72% .18 25)}.rec-dot{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 16px);z-index:6;width:12px;height:12px;border-radius:50%;background:#ff3b30;opacity:0;animation:pulse 1s ease-in-out infinite}.rec-dot.on{opacity:1}@keyframes pulse{50%{opacity:.3}}.result{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;background:#000}.result video{flex:1 1 auto;min-height:0;width:100%;object-fit:contain}.result .result-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 14px)}.result .result-actions .btn{width:100%;max-width:420px;min-width:0}.result a.btn{text-decoration:none;text-align:center}.result .result-hint{margin:0;padding:0 24px calc(env(safe-area-inset-bottom,0px) + 20px);text-align:center;font:400 13px/1.4 -apple-system,system-ui,sans-serif;color:#fff9}.fx-fab,.cam-flip{position:absolute;z-index:7;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);font:600 15px/1 -apple-system,system-ui,sans-serif;color:#fff;border:1.5px solid rgba(255,255,255,.25);background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px 18px;border-radius:999px;transition:transform .1s cubic-bezier(.16,1,.3,1),opacity .15s}.fx-fab{left:calc(env(safe-area-inset-left,0px) + 16px)}.cam-flip{right:calc(env(safe-area-inset-right,0px) + 16px)}.fx-fab:active,.cam-flip:active{transform:scale(.95)}.cam-flip:disabled{opacity:.4}.fx-panel{position:absolute;z-index:8;left:0;right:0;bottom:0;max-height:50dvh;display:flex;flex-direction:column;gap:12px;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);background:#1212168c;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.18);border-radius:20px 20px 0 0;transform:translateY(110%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.fx-panel.open{transform:translateY(0)}.fx-tabs{display:flex;gap:8px}.fx-tab{flex:1;position:relative;font:600 13px/1.2 -apple-system,system-ui,sans-serif;color:#fff;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;padding:10px 6px;border-radius:999px;transition:transform .1s cubic-bezier(.16,1,.3,1),background .15s,border-color .15s}.fx-tab:active{transform:scale(.95)}.fx-tab.on{background:oklch(72% .18 25 / .22);border-color:oklch(72% .18 25)}.fx-count{display:inline-block;min-width:18px;margin-left:4px;padding:1px 5px;font-size:11px;border-radius:999px;background:#fff3}.fx-groups{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.fx-group h4{margin:2px 2px 8px;font-size:12px;letter-spacing:.04em;color:#ffffff8c;font-weight:600}.fx-chips{display:flex;flex-wrap:wrap;gap:8px}.fx-chip{position:relative;font:600 14px/1 -apple-system,system-ui,sans-serif;color:#fff;border:1.5px solid rgba(255,255,255,.18);background:#ffffff0f;padding:10px 14px;border-radius:999px;transition:transform .1s cubic-bezier(.16,1,.3,1),background .15s,border-color .15s}.fx-chip:active{transform:scale(.95)}.fx-chip.on{background:oklch(72% .18 25 / .35);border-color:oklch(72% .18 25)}.fx-order{display:inline-block;margin-left:6px;min-width:16px;padding:0 4px;font-size:11px;border-radius:999px;background:#00000059}.fx-actions{display:flex;gap:8px}.fx-btn{flex:1;font:600 14px/1 -apple-system,system-ui,sans-serif;color:#fff;border:1.5px solid rgba(255,255,255,.2);padding:12px;border-radius:999px;background:#ffffff14;transition:transform .1s cubic-bezier(.16,1,.3,1),background .15s}.fx-btn:active{transform:scale(.95)}.fx-btn:disabled{opacity:.4}.loading-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transition:opacity .28s ease;pointer-events:all}.loading-overlay.fade-out{opacity:0;pointer-events:none}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.18);border-top-color:oklch(72% .18 25);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font:600 15px/1.4 -apple-system,system-ui,sans-serif;color:#ffffffeb;text-align:center;max-width:80%;padding:0 16px}.loading-bar{width:min(260px,70vw);height:6px;border-radius:999px;background:#ffffff24;overflow:hidden}.loading-bar-fill{height:100%;width:0%;border-radius:999px;background:oklch(72% .18 25);transition:width .18s ease-out}.loading-pct{font:500 13px/1 -apple-system,system-ui,sans-serif;color:#ffffff8c;letter-spacing:.04em}
