@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#e8eaec;background:#0e1012;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #15181b;--surface-raised: #1c2024;--border: #2c3136;--muted: #929aa2;--coral: #ff6b57;--mint: #5ee1b2;--danger: #ff626a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#0e1012}button,textarea,input,select{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:62px;flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border);background:#121416}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:700;font-size:16px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:var(--coral);color:#111;border-radius:7px}.connection-badge{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:12px;font-weight:600;transition:border-color .2s ease,background .2s ease,color .2s ease}.status-dot{width:7px;height:7px;border-radius:50%;background:#687078;transition:background .2s ease,box-shadow .2s ease}.connection-badge.connected{color:#bff7e1;border-color:#286a54;background:#153c30}.connection-badge.connected .status-dot{background:var(--mint);box-shadow:0 0 0 3px #5ee1b224}.workspace{min-height:calc(100vh - 62px);display:grid;grid-template-columns:245px minmax(480px,1fr) 260px}.wardrobe-panel,.settings-panel{background:var(--surface);padding:20px 16px;min-width:0}.wardrobe-panel{border-right:1px solid var(--border)}.settings-panel{border-left:1px solid var(--border)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading.compact{margin-bottom:23px}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:0;margin:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:13px}.icon-button{width:34px;height:34px;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center;background:var(--surface-raised);cursor:pointer}.icon-button:hover{border-color:#596169;background:#24292e}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-zone{width:100%;min-height:154px;border:1px dashed #4b535b;border-radius:7px;background:#181b1e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:var(--muted)}.upload-zone:hover{border-color:var(--mint);background:#19231f}.loading-zone,.loading-zone:hover{border-color:#3a4147;background:#181b1e;cursor:default}.upload-zone strong{color:#e8eaec;font-size:13px}.upload-zone>span:last-child{font-size:11px}.upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;color:var(--mint);background:#1a3b31;margin-bottom:3px}.wardrobe-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:-4px 0 14px;padding:4px;border:1px solid var(--border);border-radius:6px;background:#0f1214}.wardrobe-filter button{min-height:30px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease}.wardrobe-filter button:hover{color:#e5e8e7;background:#1b2024}.wardrobe-filter button.active{color:#10251e;background:var(--mint)}.garment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100vh - 260px);overflow-y:auto;padding:2px}.garment-card{min-width:0;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#1a1d20;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.garment-card:hover{transform:translateY(-1px);border-color:#424a52}.garment-card.selected{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint),0 0 0 5px #5ee1b214}.garment-card.selected.gesture-previous,.garment-card.selected.gesture-next{animation:none}.garment-select{position:relative;display:block;padding:0;border:0;width:100%;aspect-ratio:4 / 5;background:#25292d;cursor:pointer;overflow:hidden}.garment-select img{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .24s ease,transform .24s ease}.garment-card:hover .garment-select img{transform:scale(1.02)}.selected-mark{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#0e1713;background:var(--mint);animation:mark-in .22s ease-out}.garment-meta{height:34px;display:flex;align-items:center;padding:0 5px 0 8px;gap:4px}.garment-meta>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.garment-meta>.description-dot{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;color:#70777e}.garment-meta>.description-dot.ready{color:var(--mint)}.garment-meta button{width:25px;height:25px;padding:0;display:grid;place-items:center;border:0;color:var(--muted);background:transparent;cursor:pointer}.garment-meta button:hover{color:var(--danger)}.garment-guidance{display:flex;align-items:flex-start;gap:9px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border);color:var(--muted)}.garment-guidance svg{flex:0 0 auto;color:var(--coral)}.garment-guidance p{margin:0;font-size:10px;line-height:1.5}.studio{position:relative;min-width:0;padding:18px 22px 16px;display:flex;flex-direction:column;gap:13px;background:#101214}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.video-stage{position:relative;width:100%;aspect-ratio:16 / 10;max-height:calc(100vh - 175px);border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#090a0b;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.video-stage video{width:100%;height:100%;object-fit:cover;display:block;animation:video-ready .28s ease-out}.output-stage{background:linear-gradient(135deg,#111719,#172529 52%,#101315)}.output-stage video{object-fit:cover;background:#101315}.output-stage.working{border-color:#376252;box-shadow:0 0 0 1px #5ee1b229,inset 0 0 36px #5ee1b20d}.output-stage.working:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,rgba(94,225,178,.09) 45%,transparent 70%);transform:translate(-120%);animation:stage-scan 1.35s ease-in-out infinite}.output-stage.ready{border-color:#33564a;box-shadow:inset 0 0 28px #5ee1b209}.local-stage video{transform:scaleX(-1)}.stage-label{position:absolute;z-index:7;top:10px;left:10px;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:5px;background:#0b0d0fd1;border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:600}.stage-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#687078;font-size:12px;transition:opacity .2s ease}.output-empty{color:#8b969d;background:linear-gradient(135deg,#121b1ef5,#0e1315fa)}.output-empty span{color:#eef7f8;font-size:16px;font-weight:800;text-shadow:0 0 14px rgba(94,225,178,.28),0 1px 0 rgba(255,255,255,.2)}.output-empty svg{color:var(--mint)}.output-stage.working .output-empty svg{animation:breathe 1.2s ease-in-out infinite}.live-branding-overlay{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.live-branding-overlay>img{position:absolute;display:block;-webkit-user-select:none;user-select:none}.live-branding-header{top:0;left:0;width:100%;max-width:none;opacity:1;transform:scaleY(.82);transform-origin:top left}.live-branding-partner{left:50%;bottom:19%;width:32%;max-width:390px;min-width:210px;opacity:.9;transform:translate(-50%);filter:drop-shadow(0 2px 12px rgba(0,0,0,.48))}.live-branding-sponsors{position:absolute;left:50%;bottom:2.5%;width:23%;min-width:140px;max-width:300px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;transform:translate(-50%);filter:drop-shadow(0 2px 12px rgba(0,0,0,.55))}.branding-sponsor-label,.branding-sponsor-logos{display:block;height:auto;-webkit-user-select:none;user-select:none}.branding-sponsor-label{width:40%}.branding-sponsor-logos{width:100%}.portrait-frame .live-branding-header{top:0;width:100%}.portrait-frame .live-branding-partner{bottom:19%;width:48%;max-width:460px;min-width:180px}.portrait-frame .live-branding-sponsors{width:48%;max-width:460px;min-width:180px}.recording-indicator{position:absolute;right:10px;top:10px;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:5px;background:#180a0be0;color:#ffb8bc;font-size:10px;font-weight:700}.recording-indicator span{width:7px;height:7px;border-radius:50%;background:var(--danger);animation:pulse 1.1s infinite}.capture-flash{position:absolute;z-index:4;inset:0;pointer-events:none;border:2px solid rgba(94,225,178,.86);background:#ffffff29;animation:capture-flash .55s ease-out forwards}.gesture-stage-overlay{position:absolute;z-index:6;inset:0;display:grid;place-items:center;pointer-events:none;overflow:hidden;color:#fff;background:#05080929}.gesture-stage-overlay strong{font-family:Manrope,sans-serif;font-size:20px;line-height:1.1;letter-spacing:0;text-shadow:0 2px 12px rgba(0,0,0,.9)}.gesture-toggle-cue,.gesture-capture-cue,.gesture-finish-cue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;animation:gesture-cue-in .18s ease-out}.gesture-hold-ring{position:relative;width:128px;height:128px;display:grid;place-items:center;border-radius:50%;background:#080d0ea8;box-shadow:0 0 0 1px #ffffff29,0 10px 36px #00000061}.gesture-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.gesture-ring circle{fill:none;stroke-width:8}.gesture-ring-track{stroke:#fff3}.gesture-ring-value{stroke:var(--mint);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--gesture-ring-offset, 100);transition:stroke-dashoffset 90ms linear}.gesture-ring-icon{position:relative;z-index:1;width:50px;height:50px;display:grid;place-items:center}.gesture-ring-icon .lucide{width:50px;height:50px;stroke-width:1.8}.capture-ring .gesture-ring-value{stroke:#ffd08c}.finish-ring .gesture-ring-value{stroke:#9fd2ff}.gesture-capture-cue{position:relative;width:min(74%,300px);height:min(74%,230px)}.gesture-capture-cue .gesture-hold-ring{width:104px;height:104px}.gesture-capture-cue .gesture-ring-icon,.gesture-capture-cue .gesture-ring-icon .lucide{width:38px;height:38px}.gesture-focus-frame{position:absolute;inset:0}.gesture-focus-frame i{position:absolute;width:38px;height:38px;border-color:#ffd08c;border-style:solid;filter:drop-shadow(0 2px 5px rgba(0,0,0,.75))}.gesture-focus-frame i:nth-child(1){top:0;left:0;border-width:4px 0 0 4px}.gesture-focus-frame i:nth-child(2){top:0;right:0;border-width:4px 4px 0 0}.gesture-focus-frame i:nth-child(3){bottom:0;right:0;border-width:0 4px 4px 0}.gesture-focus-frame i:nth-child(4){bottom:0;left:0;border-width:0 0 4px 4px}.gesture-direction{position:absolute;top:50%;width:min(62%,260px);display:flex;flex-direction:column;align-items:center;gap:7px;transform:translateY(-50%)}.gesture-direction.previous{left:7%;animation:gesture-from-left .2s ease-out}.gesture-direction.next{right:7%;animation:gesture-from-right .2s ease-out}.gesture-direction>.lucide{width:110px;height:110px;stroke-width:1.7;filter:drop-shadow(0 5px 12px rgba(0,0,0,.8));transform:scale(calc(.86 + var(--gesture-progress, 0) * .16));opacity:calc(.68 + var(--gesture-progress, 0) * .32);transition:transform 90ms linear,opacity 90ms linear}.gesture-direction-progress{width:100%;height:7px;border-radius:4px;overflow:hidden;background:#ffffff38;box-shadow:0 2px 8px #0000005c}.gesture-direction-progress i{display:block;width:100%;height:100%;background:#9fd2ff;transform:scaleX(var(--gesture-progress, 0));transition:transform 90ms linear}.gesture-direction.previous .gesture-direction-progress i{transform-origin:right center}.gesture-direction.next .gesture-direction-progress i{transform-origin:left center}.gesture-complete{min-width:180px;min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 24px;border:2px solid rgba(255,255,255,.78);border-radius:8px;background:#091411d1;box-shadow:0 14px 45px #0000007a;animation:gesture-complete-pulse 1.15s ease-out forwards}.gesture-complete>.lucide{width:76px;height:76px;color:var(--mint);stroke-width:2}.gesture-stage-overlay.complete.previous-garment .gesture-complete,.gesture-stage-overlay.complete.next-garment .gesture-complete{background:#0a141dd6}.gesture-stage-overlay.complete.previous-garment .gesture-complete>.lucide,.gesture-stage-overlay.complete.next-garment .gesture-complete>.lucide{color:#9fd2ff}.gesture-stage-overlay.complete.capture-look{animation:gesture-shutter .55s ease-out}.gesture-stage-overlay.complete.capture-look .gesture-complete>.lucide{color:#ffd08c}.notice{min-height:38px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #29493e;border-radius:6px;background:#15221e;color:#bdd5cc;font-size:11px}.notice-error{border-color:#63343a;background:#29191b;color:#f2b8bc}.notice-icon{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border-radius:50%;background:#21493b;color:var(--mint);font-weight:700}.notice-error .notice-icon{background:#57272c;color:#ff8f96}.control-bar{min-height:48px;display:flex;align-items:center;gap:9px}.control-spacer{flex:1}.primary-button,.secondary-button,.record-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:0 14px;border:1px solid transparent;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.primary-button{color:#121416;background:#f1f3f4}.primary-button.accent{background:var(--mint)}.secondary-button{background:#1b1f22;border-color:#3a4147}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}.record-button{border-color:#573038;background:#28181b;color:#ffadb2}.record-button>span{width:9px;height:9px;border-radius:50%;background:var(--danger)}.record-button.active{background:#57242a;border-color:#9b444e;box-shadow:0 0 0 4px #ff626a14;animation:recording-button 1.2s ease-in-out infinite}.field-label{display:block;margin-bottom:7px;color:#cdd1d4;font-size:11px;font-weight:700}textarea{width:100%;resize:vertical;min-height:118px;border:1px solid var(--border);border-radius:6px;padding:10px;color:#e7e9eb;background:#111315;font-size:11px;line-height:1.55}textarea[readonly]{color:#cbd4d0;background:#101513}.select-input{width:100%;min-height:40px;margin-bottom:14px;border:1px solid var(--border);border-radius:6px;padding:0 10px;color:#e7e9eb;background:#111315;font-size:11px;font-weight:600}.select-input:disabled{opacity:.55;cursor:not-allowed}.description-status{min-height:55px;display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #4b3538;border-radius:6px;background:#211719;color:#da8e94}.description-status.ready{border-color:#285342;background:#14231d;color:var(--mint)}.description-status>div{min-width:0;display:flex;flex-direction:column;gap:2px}.description-status strong,.description-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description-status strong{color:#e5e8e7;font-size:10px}.description-status span{color:var(--muted);font-size:9px}.description-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin:9px 0 18px}.description-actions .secondary-button{min-width:0;padding:0 10px}.template-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--border);border-radius:6px;color:#bfc5c9;font-size:10px;font-weight:700;text-decoration:none;background:#171a1d}.template-link:hover{border-color:#596169;color:#fff}.prompt-label{margin-top:2px}.toggle-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:18px 0;cursor:pointer}.toggle-row>span:first-child{display:flex;flex-direction:column;gap:2px}.toggle-row strong{font-size:11px}.toggle-row small{color:var(--muted);font-size:9px}.toggle-row input{position:absolute;opacity:0}.toggle{width:36px;height:20px;padding:2px;border-radius:10px;background:#3a4046;transition:background .2s}.toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-row input:checked+.toggle{background:var(--mint)}.toggle-row input:checked+.toggle span{transform:translate(16px);background:#10251e}.gesture-toggle{margin-bottom:10px}.control-mode-section{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:10px;border:1px solid #303a3f;border-radius:6px;background:#121719}.control-mode-section>div:first-child{display:flex;flex-direction:column;gap:2px}.control-mode-section strong{color:#e5e8e7;font-size:11px}.control-mode-section small{color:var(--muted);font-size:9px}.demo-mode-section{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:10px;border:1px solid #385047;border-radius:6px;background:#121b18}.demo-mode-section>div:first-child{display:flex;flex-direction:column;gap:2px}.demo-mode-section strong{color:#e5e8e7;font-size:11px}.demo-mode-section small{color:var(--muted);font-size:9px;line-height:1.4}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--border);border-radius:6px;background:#0b0d0f}.segmented-control button{min-height:34px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:700;line-height:1.15;white-space:normal;cursor:pointer;transition:background .18s ease,color .18s ease}.segmented-control button.active{background:var(--mint);color:#10251e}.automation-toggle{margin:12px 0}.automation-interval{margin:-2px 0 16px}.automation-interval .field-label{margin-bottom:6px}.compact-toggle{margin:-4px 0 12px}.gesture-status{min-height:52px;display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:9px;border:1px solid var(--border);border-radius:6px;background:#171a1d;color:var(--muted)}.gesture-status.ready{border-color:#285342;background:#14231d;color:var(--mint)}.gesture-status.error{border-color:#63343a;background:#29191b;color:var(--danger)}.gesture-status>svg{flex:0 0 auto}.gesture-status>div{min-width:0;display:flex;flex-direction:column;gap:2px}.gesture-status strong{color:#e5e8e7;font-size:10px}.gesture-status span{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.gesture-guide{display:flex;flex-direction:column;gap:9px;margin:-6px 0 18px;padding:10px;border:1px solid #303a3f;border-radius:6px;background:#121719;color:var(--muted)}.gesture-guide>div{display:flex;flex-direction:column;gap:3px}.gesture-guide strong{color:#e5e8e7;font-size:10px}.gesture-guide span{font-size:9px;line-height:1.45}.gesture-guide ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.gesture-guide li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start}.gesture-guide li .lucide{margin-top:1px;color:var(--mint);stroke-width:2}.gesture-crop-previews{display:grid;gap:6px;margin:-3px 0 16px}.gesture-crop-preview{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:6px;background:#111416;color:var(--muted)}.gesture-crop-preview.selected{border-color:#39705b;background:#13211c}.gesture-crop-preview canvas{width:72px;height:72px;display:block;border:1px solid #30363c;border-radius:5px;background:#090a0b;object-fit:cover}.gesture-crop-preview>div{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:9px}.gesture-crop-preview span{display:flex;align-items:center;justify-content:space-between;gap:8px}.gesture-crop-preview strong{color:#d9dedc;font-size:9px;font-weight:600;text-align:right}.gesture-lock-debug{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#111416;color:var(--muted);font-size:9px}.gesture-lock-debug.locked{border-color:#39705b;background:#13211c}.gesture-lock-debug.cancelled{border-color:#82454b;background:#231517}.gesture-lock-debug span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.gesture-lock-debug strong{color:#d9dedc;font-size:9px;font-weight:600;text-align:right;overflow-wrap:anywhere}.gesture-benchmark{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#14171a;color:var(--muted)}.gesture-benchmark.active{border-color:#6a5540;background:#221d16;color:#f4d9ba}.gesture-benchmark>div:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}.gesture-benchmark strong{color:#e5e8e7;font-size:10px}.gesture-benchmark span{font-size:9px}.benchmark-stats{display:flex;gap:8px;color:var(--muted)}.benchmark-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.full-width{width:100%}.session-info{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.session-info h3{margin-bottom:12px}.session-info>div{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.session-info strong{display:inline-flex;align-items:center;gap:4px;color:#d4d8da;font-weight:500;text-align:right}.report-button{margin-top:12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes selected-pop{0%{transform:scale(.985)}70%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes garment-slide-left{0%{opacity:.5;transform:translate(18px)}68%{opacity:1;transform:translate(-5px)}to{transform:translate(0)}}@keyframes garment-slide-right{0%{opacity:.5;transform:translate(-18px)}68%{opacity:1;transform:translate(5px)}to{transform:translate(0)}}@keyframes mark-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes video-ready{0%{opacity:.45}to{opacity:1}}@keyframes stage-scan{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes breathe{50%{transform:scale(1.08);opacity:.72}}@keyframes gesture-cue-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes gesture-from-left{0%{opacity:0;transform:translate(-24px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes gesture-from-right{0%{opacity:0;transform:translate(24px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes gesture-complete-pulse{0%{opacity:0;transform:scale(.72)}18%{opacity:1;transform:scale(1.08)}34%{transform:scale(1)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}@keyframes gesture-shutter{0%{background:#ffffffc2}22%{background:#ffffff2e}to{background:#05080929}}@keyframes capture-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes recording-button{50%{box-shadow:0 0 0 6px #ff626a1f}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(max-width:1050px){.workspace{grid-template-columns:220px minmax(460px,1fr)}.settings-panel{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border);display:block}.settings-panel .panel-heading,.settings-panel .toggle-row,.settings-panel .session-info{margin:0}.settings-panel .panel-heading{margin-bottom:18px}.settings-panel .toggle-row{margin:16px 0}.settings-panel textarea{min-height:92px}.settings-panel .session-info{margin-top:18px;padding:18px 0 0;border-left:0;border-top:1px solid var(--border)}}@media(max-width:760px){.topbar{height:56px;flex-basis:56px;padding:0 14px}.workspace{display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.studio{order:1;padding:12px}.wardrobe-panel{order:2;border-right:0;border-top:1px solid var(--border)}.settings-panel{order:3;display:block;border-top:1px solid var(--border)}.settings-panel .panel-heading{margin-bottom:18px}.settings-panel .toggle-row{margin:16px 0}.settings-panel .session-info{margin-top:18px;padding:18px 0 0;border-left:0;border-top:1px solid var(--border)}.stage-grid{grid-template-columns:1fr;min-height:0}.video-stage{aspect-ratio:16 / 9;max-height:none}.video-stage.empty-frame,.video-stage.portrait-frame{aspect-ratio:3 / 4}.video-stage.landscape-frame{aspect-ratio:16 / 9}.video-stage video{object-fit:contain;background:#050606}.control-bar{flex-wrap:wrap}.control-spacer{display:none}.control-bar>button{flex:1 1 calc(50% - 5px)}.garment-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}}@media(max-width:430px){.brand{font-size:14px}.connection-badge{padding:6px 8px}.garment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-bar>button{flex-basis:100%}.gesture-stage-overlay strong{font-size:17px}.gesture-hold-ring{width:108px;height:108px}.gesture-direction>.lucide{width:82px;height:82px}.gesture-complete{min-width:154px;min-height:132px}.gesture-complete>.lucide{width:62px;height:62px}}.capture-handoff{position:fixed;inset:0;z-index:1000;background:#f4f9f8;color:#172824;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:16px;overflow:auto}.capture-handoff h1{font-size:32px;margin:0}.capture-handoff p{max-width:520px;margin:0;font-size:18px}.capture-qr{width:min(360px,70vw,45vh);aspect-ratio:1;object-fit:contain}.capture-handoff strong{font-size:24px}.capture-phone{min-height:100dvh;background:#f4f9f8;color:#172824;padding:32px 24px;width:100%;display:flex;flex-direction:column;gap:18px;align-items:flex-start}.capture-phone>*,.capture-phone form{width:100%;max-width:440px;margin-left:auto;margin-right:auto}.capture-phone>svg{height:40px}.capture-phone h1{font-size:28px;margin-top:0;margin-bottom:0}.capture-phone p{line-height:1.5}.capture-wordmark{font-size:24px;font-weight:800;padding-bottom:24px}.capture-phone form{display:flex;flex-direction:column;gap:16px}.capture-phone input[type=email]{width:100%;min-height:48px;border:1px solid #738a82;border-radius:6px;background:#fff;color:#172824;padding:12px;font-size:16px}.capture-consent{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.capture-consent input{flex:0 0 20px;width:20px;height:20px;margin-top:3px}.capture-privacy{font-size:13px;color:#465e56}.capture-phone [role=alert]{color:#9b2525}.capture-gallery{display:grid;grid-template-columns:1fr;gap:16px}.capture-gallery a{display:flex;flex-direction:column;gap:8px;color:#172824;text-decoration:none}.capture-gallery img{width:100%;border-radius:6px;border:1px solid #c8d6d1;background:#e8efed}.capture-gallery span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:6px;background:#17634c;color:#fff;font-weight:700}.capture-session-status{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 16px;border-radius:6px;background:#f4f9f8;color:#172824;box-shadow:0 2px 12px #0003}.capture-session-status progress{width:120px;accent-color:#20795d}.capture-session-status small{color:#88451d}.capture-operator-key{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:16px;font-size:11px;font-weight:600;color:#cbd5d0}.capture-operator-key input{width:100%;min-width:0;min-height:36px;padding:8px;background:#101615;color:#e9efec;border:1px solid #3b4944;border-radius:6px}.event-demo-section{margin-top:0}.event-demo-button{min-height:48px;font-size:14px}.advanced-settings{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.advanced-settings>summary{min-height:38px;display:flex;align-items:center;cursor:pointer;color:#d9e1df;font-size:12px;font-weight:800;list-style:none}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary:after{content:"+";margin-left:auto;color:var(--mint);font-size:16px;line-height:1}.advanced-settings[open]>summary:after{content:"-"}.advanced-settings>summary:hover{color:#fff}.advanced-settings .field-label:first-of-type{margin-top:10px}.capture-session-status .secondary-button{background:#dcece6;color:#18392e;border-color:#b4cdc3}.capture-phone .primary-button,.capture-handoff .primary-button{min-height:48px;background:#17634c;color:#fff;font-size:16px;white-space:normal}.capture-recovery{margin-top:24px;font-size:13px;color:#52645e}.capture-recovery button{margin-top:12px;color:#172824;background:#fff}.demo-mode{position:fixed;inset:0;z-index:2000;min-height:100dvh;overflow:hidden;background:#030506}.demo-mode .topbar,.demo-mode .wardrobe-panel,.demo-mode .settings-panel,.demo-mode .notice,.demo-mode .control-bar{display:none}.demo-mode .workspace,.demo-mode .studio,.demo-mode .stage-grid{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;background:#030506}.demo-mode .video-stage{position:absolute;inset:0;display:none;width:100%;height:100%;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:#030506;box-shadow:none}.demo-mode .video-stage video{width:100%;height:100%;background:#030506}.demo-mode.demo-fit-contain .video-stage video{object-fit:contain}.demo-mode.demo-fit-cover .video-stage video{object-fit:cover}.demo-mode.demo-state-detected .local-stage,.demo-mode.demo-state-preparing .local-stage,.demo-mode.demo-state-error .local-stage,.demo-mode.demo-state-live .output-stage{display:block}.demo-mode .stage-label,.demo-mode .recording-indicator,.demo-mode .local-stage .stage-empty{display:none}.demo-mode .capture-session-status{z-index:900;bottom:max(16px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.28);background:#050b0ac7;color:#fff;box-shadow:0 8px 32px #0000005c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.demo-mode .capture-session-status .secondary-button,.demo-mode .capture-session-status small{display:none}.demo-public-overlay{position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none;color:#fff;background:#03050629}.demo-public-overlay.idle{background:radial-gradient(circle at 50% 44%,#182823,#0b1210 44%,#030506)}.demo-public-overlay.detected,.demo-public-overlay.preparing,.demo-public-overlay.error{background:linear-gradient(180deg,#0305064d,#0305060f 40%,#030506c7)}.demo-branding-header{position:absolute;z-index:1;top:0;left:0;width:100vw;height:auto;transform:scaleY(.82);transform-origin:top left;opacity:.9}.demo-branding-partner{position:absolute;z-index:1;top:calc(10.6vw + 3vh);left:50%;width:min(42vw,620px);min-width:240px;height:auto;transform:translate(-50%);filter:drop-shadow(0 4px 18px rgba(0,0,0,.52))}.demo-branding-sponsors{position:absolute;z-index:1;left:50%;bottom:max(2.8vh,env(safe-area-inset-bottom));width:min(34vw,500px);min-width:210px;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1px,.2vh,3px);transform:translate(-50%);filter:drop-shadow(0 4px 18px rgba(0,0,0,.58))}.demo-branding-sponsors .branding-sponsor-label{width:32%}.demo-public-message{position:absolute;z-index:2;left:50%;top:50%;width:min(88vw,760px);display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px 38px;text-align:center;transform:translate(-50%,-50%)}.demo-public-overlay:not(.idle) .demo-public-message{top:auto;bottom:27vh;padding:26px 34px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.16);background:#040908b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.demo-product-name{display:inline-flex;align-items:center;gap:10px;color:#a7f0d4;font-family:Manrope,sans-serif;font-size:clamp(18px,2.2vh,30px);font-weight:700}.demo-product-name .lucide{width:1em;height:1em}.demo-public-message h1{max-width:100%;font-size:clamp(38px,5.2vh,78px);line-height:1.05;text-wrap:balance}.demo-public-message p{max-width:620px;margin:0;color:#dae5e1;font-size:clamp(18px,2.3vh,32px);line-height:1.35;text-wrap:balance}.demo-public-message>.spin{width:clamp(42px,5vh,68px);height:clamp(42px,5vh,68px);color:var(--mint)}.demo-progress{width:min(72vw,520px);height:8px;overflow:hidden;border-radius:4px;background:#ffffff38}.demo-progress i{display:block;width:46%;height:100%;border-radius:inherit;background:var(--mint);animation:demo-progress 1.4s ease-in-out infinite}.demo-progress.preparing i{width:62%;animation-duration:1.05s}.demo-mode .live-branding-header{top:max(1.3vh,env(safe-area-inset-top))}.demo-mode .live-branding-partner{top:calc(10.6vw + 3vh);bottom:auto;width:min(32vw,620px);max-width:620px}.demo-mode .live-branding-sponsors{width:min(23vw,460px);max-width:460px}.demo-mode .capture-handoff{z-index:3000;min-height:100dvh}@keyframes demo-progress{0%{transform:translate(-110%)}to{transform:translate(240%)}}@media(orientation:portrait){.demo-branding-header{width:100vw}.demo-branding-partner{top:calc(10.6vw + 3vh);bottom:auto;width:min(52vw,620px)}.demo-branding-sponsors{width:min(52vw,500px)}.demo-public-overlay:not(.idle) .demo-public-message{bottom:28vh}.demo-mode .portrait-frame .live-branding-overlay{inset:0}.demo-mode .portrait-frame .live-branding-header{top:max(1.3vh,env(safe-area-inset-top));left:50%;width:100%;transform:translate(-50%) scaleY(.82);transform-origin:top center}.demo-mode .portrait-frame .live-branding-partner{top:calc(10.6vw + 3vh);bottom:auto;width:min(44vw,460px);min-width:180px}.demo-mode .portrait-frame .live-branding-sponsors{bottom:max(3.5vh,env(safe-area-inset-bottom));width:min(44vw,420px);min-width:180px}}@media(max-width:600px){.demo-public-message{padding:24px 18px;gap:13px}.demo-public-overlay:not(.idle) .demo-public-message{bottom:27vh;padding:20px 18px}.demo-branding-partner{min-width:190px}.demo-branding-sponsors{min-width:180px}}.event-kiosk{--event-stage-width: 56.25dvh ;--event-stage-height: 100dvh;--event-stage-scale-x: calc(100vw / var(--event-stage-width));--event-header-height: calc(var(--event-stage-width) * .133);position:fixed;inset:0;z-index:0;min-width:320px;min-height:100dvh;overflow:hidden;color:#fff;background:#030506;cursor:none;-webkit-user-select:none;user-select:none}.event-stage{position:absolute;inset:0 auto auto 0;z-index:0;width:var(--event-stage-width);height:var(--event-stage-height);overflow:hidden;transform:scaleX(var(--event-stage-scale-x));transform-origin:top left}.event-stage:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 50% 44%,#182823,#0b1210 44%,#030506);pointer-events:none}.event-kiosk *{cursor:none!important}.event-kiosk.event-operator-panel-open,.event-kiosk.event-operator-panel-open *{cursor:default!important}.event-hidden-video,.event-hidden-canvas{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.event-camera-canvas,.event-output-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;background:transparent;transition:opacity .24s ease}.event-fit-contain .event-camera-canvas,.event-fit-contain .event-output-video{object-fit:contain}.event-fit-cover .event-camera-canvas,.event-fit-cover .event-output-video{object-fit:cover}.event-camera-canvas{opacity:0;filter:saturate(.9) contrast(.92) brightness(.78);transform:scaleX(-1)}.event-state-detected .event-camera-canvas,.event-state-preparing .event-camera-canvas,.event-state-error .event-camera-canvas{opacity:.48}.event-output-video{opacity:0}.event-state-live .event-output-video{transform:scaleX(-1)}.event-state-live .event-output-video.ready{opacity:1}.event-state-live .event-camera-canvas{opacity:0}.event-output-video.working{opacity:.2}.event-kiosk:after{display:none}.event-stage:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#0305061a,#03050600 38%,#03050629)}.event-state-idle .event-stage:after,.event-state-handoff .event-stage:after{background:transparent}.event-branding{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:hidden;pointer-events:none}.event-branding img{display:block;-webkit-user-select:none;user-select:none}.event-branding-header{position:absolute;top:0;left:0;width:100%;max-width:none;opacity:.9;transform:scaleY(.86);transform-origin:top left}.event-branding-partner{position:absolute;top:calc(var(--event-header-height) + var(--event-stage-height) * .047);left:50%;width:calc(var(--event-stage-width) * .6);max-width:none;min-width:0;height:auto;opacity:.92;transform:translate(-50%);filter:drop-shadow(0 4px 18px rgba(0,0,0,.52))}.event-branding-sponsors{position:absolute;left:50%;bottom:calc(var(--event-stage-height) * .056);width:calc(var(--event-stage-width) * .48);min-width:0;max-width:none;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--event-stage-height) * .006);transform:translate(-50%);filter:drop-shadow(0 4px 18px rgba(0,0,0,.58))}.event-branding-sponsors .branding-sponsor-label{width:56%;align-self:center;margin-bottom:calc(var(--event-stage-height) * .008)}.event-public-message{position:absolute;z-index:4;left:50%;top:50%;width:min(calc(var(--event-stage-width) * .82),760px);display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px 34px;text-align:center;transform:translate(-50%,-50%);pointer-events:none}.event-public-message:not(.idle){padding:24px 28px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.14);background:#040908a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.event-product-name{display:inline-flex;align-items:center;gap:10px;color:#a7f0d4;font-family:Manrope,sans-serif;font-size:clamp(18px,2.1vh,30px);font-weight:700}.event-product-name .lucide{width:1em;height:1em}.event-public-message h1{max-width:100%;font-size:clamp(42px,5.2vh,82px);line-height:1.06;text-wrap:balance}.event-public-message p{max-width:640px;margin:0;color:#dae5e1;font-size:clamp(18px,2.25vh,32px);line-height:1.35;text-wrap:balance}.event-public-message>.spin{width:clamp(42px,5vh,68px);height:clamp(42px,5vh,68px);color:var(--mint)}.event-kiosk .gesture-stage-overlay{z-index:12}.event-kiosk .capture-flash{z-index:11}.event-kiosk .capture-handoff{z-index:60;min-height:100dvh}.event-capture-status{z-index:30;bottom:max(16px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.28);background:#050b0ac7;color:#fff;box-shadow:0 8px 32px #0000005c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.event-capture-status small{display:none}.event-operator-toast{position:fixed;z-index:50;left:50%;top:max(18px,env(safe-area-inset-top));min-width:160px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#eafff7;background:#050b0ac7;text-align:center;font-weight:700;transform:translate(-50%);box-shadow:0 8px 26px #00000047}.event-kiosk-panel{position:fixed;z-index:55;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));max-width:none;border:1px solid rgba(146,255,210,.28);border-radius:8px;background:#020706c2;color:#8effbd;box-shadow:0 14px 42px #00000061;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.event-shortcut-panel{display:flex;flex-direction:column;gap:9px;padding:14px 16px;font-size:13px}.event-shortcut-panel strong{color:#eafff7;font-size:14px}.event-shortcut-panel kbd{min-width:24px;padding:2px 6px;border:1px solid rgba(255,255,255,.24);border-radius:4px;color:#fff;background:#ffffff1f;font:inherit;font-size:12px}.event-debug-panel{margin:0;padding:clamp(12px,1.5vw,22px) clamp(14px,2vw,28px);font:clamp(12px,1.25vw,24px)/1.5 Consolas,"Courier New",monospace;white-space:pre-wrap}@media(max-width:600px){.event-public-message{padding:22px 18px;gap:13px}}
