@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}.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;animation:selected-pop .26s ease-out}.garment-card.selected.gesture-previous{animation:garment-slide-left .46s ease-out}.garment-card.selected.gesture-next{animation:garment-slide-right .46s ease-out}.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.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:2;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:#8b918e;background:#111615}.output-empty svg{color:var(--mint)}.output-stage.working .output-empty svg{animation:breathe 1.2s ease-in-out infinite}.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{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}.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))}.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}.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-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}}
