:root{--md-primary: 0, 0, 0;--md-on-primary: 255, 255, 255;--md-primary-container: 0, 0, 0, .2;--md-secondary: 67, 160, 219;--md-on-secondary: 255, 255, 255;--md-secondary-container: 173, 245, 76;--md-on-secondary-container: 8, 37, 52;--md-tertiary: 187, 239, 83;--md-on-tertiary: 0, 0, 0;--md-tertiary-container: 187, 239, 83;--md-hover: 152, 163, 167;--md-error: 186, 26, 26;--md-on-error: 255, 255, 255;--md-error-container: 255, 218, 214;--md-surface: 255, 255, 255;--md-on-surface: 28, 27, 31;--md-surface-variant: 232, 234, 237;--md-on-surface-variant: 70, 70, 79;--md-outline: 118, 118, 128;--md-outline-variant: 202, 204, 211;--md-background: 250, 250, 253;--md-on-background: 28, 27, 31;--md-elevation-1: 0 1px 3px 1px rgba(0, 0, 0, .15), 0 1px 2px 0 rgba(0, 0, 0, .3);--md-elevation-2: 0 2px 6px 2px rgba(0, 0, 0, .15), 0 1px 2px 0 rgba(0, 0, 0, .3);--md-elevation-3: 0 4px 8px 3px rgba(0, 0, 0, .15), 0 1px 3px 0 rgba(0, 0, 0, .3);--md-font: "Inter", system-ui, -apple-system, sans-serif;--md-font-size-body: 14px;--md-line-height-body: 20px;--md-font-size-label: 14px;--md-font-size-title: 16px;--md-line-height-title: 24px;--md-radius-sm: 8px;--md-radius-md: 12px;--md-radius-lg: 16px;--md-radius-xl: 28px;--btn-green: hsl(83, 100%, 48%);--btn-green-hover: hsl(83, 100%, 58%);--header-height: 50px;--color-primary-hue: 210;--color-neutral-hue: 190;--color-accent-hue: 156;--color-light-hue: 0;--color-green-hue: 83;--color-red-hue: 356;--color-blue-hue: 217;--color-cyan-hue: 181;--color-neutral-0: var(--color-light-hue) 0% 98%;--color-neutral-10: var(--color-accent-hue) 12% 92%;--color-neutral-50: var(--color-neutral-hue) 12% 61%;--color-neutral-100: var(--color-primary-hue) 4% 11%;--color-green-10: calc(var(--color-green-hue) - 3) 100% 95%;--color-green-50: calc(var(--color-green-hue) - 2) 100% 70%;--color-green-100: var(--color-green-hue) 100% 48%;--color-green-200: calc(var(--color-green-hue) + 2) 100% 35%;--color-red-10: calc(var(--color-red-hue) + 4) 76% 95%;--color-red-50: calc(var(--color-red-hue) + 2) 76% 70%;--color-red-100: var(--color-red-hue) 76% 57%;--color-red-200: calc(var(--color-red-hue) - 2) 76% 40%;--color-blue-10: calc(var(--color-blue-hue) + 3) 91% 95%;--color-blue-50: calc(var(--color-blue-hue) + 2) 91% 75%;--color-blue-100: var(--color-blue-hue) 91% 60%;--color-blue-200: calc(var(--color-blue-hue) - 2) 91% 45%;--color-cyan-10: calc(var(--color-cyan-hue) + 2) 57% 95%;--color-cyan-50: calc(var(--color-cyan-hue) + 1) 57% 75%;--color-cyan-100: var(--color-cyan-hue) 57% 53%;--color-cyan-200: calc(var(--color-cyan-hue) - 1) 57% 38%;--color-text-primary: var(--color-neutral-100);--color-text-secondary: var(--color-neutral-50);--color-text-inverse: var(--color-neutral-0);--color-bg-primary: var(--color-neutral-0);--color-bg-secondary: var(--color-neutral-10);--color-bg-inverse: var(--color-neutral-100);--color-border-primary: var(--color-neutral-10);--color-border-secondary: var(--color-neutral-50);--color-border-focus: var(--color-cyan-100)}.splitpanes.modern-theme{--gutter-bg: hsl(var(--color-bg-inverse, 210 4% 11%));--gutter-grip: hsl(var(--color-text-inverse, 0 0% 98%) / .48);--gutter-grip-hover: hsl(var(--color-text-inverse, 0 0% 98%));background:var(--gutter-bg)}.splitpanes.modern-theme .splitpanes__pane{background:rgb(var(--md-surface));border-radius:var(--md-radius-lg);display:flex;flex-direction:column;min-height:0}.splitpanes.modern-theme .splitpanes__splitter{position:relative;flex-shrink:0;border:none;background:var(--gutter-bg)}.splitpanes.modern-theme .splitpanes__splitter:before,.splitpanes.modern-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background:var(--gutter-grip);transition:background .15s}.splitpanes.modern-theme .splitpanes__splitter:hover:before,.splitpanes.modern-theme .splitpanes__splitter:hover:after{background:var(--gutter-grip-hover)}.splitpanes.modern-theme.splitpanes--vertical>.splitpanes__splitter{width:12px;cursor:col-resize}.splitpanes.modern-theme.splitpanes--vertical>.splitpanes__splitter:before,.splitpanes.modern-theme.splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.splitpanes.modern-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.splitpanes.modern-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.splitpanes.modern-theme.splitpanes--horizontal>.splitpanes__splitter{height:12px;cursor:row-resize}.splitpanes.modern-theme.splitpanes--horizontal>.splitpanes__splitter:before,.splitpanes.modern-theme.splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.splitpanes.modern-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.splitpanes.modern-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}*,*:before,*:after{box-sizing:border-box}:root{--cam-mirror: -1}html.cam-unmirrored{--cam-mirror: 1}html,body{height:100%;margin:0;background:rgb(var(--md-background));color:rgb(var(--md-on-background));font-family:var(--md-font);font-size:var(--md-font-size-body);line-height:var(--md-line-height-body)}body{display:grid;grid-template-rows:auto 1fr;height:100vh;overflow:hidden}.app{display:flex;min-height:0;padding:0;gap:16px;overflow:hidden;position:relative}.view{display:flex;width:100%;height:100%;padding:16px;gap:16px;min-height:0;overflow:hidden}.panel{background:rgb(var(--md-surface));border-radius:var(--md-radius-lg);padding:16px;overflow:auto;display:flex;flex-direction:column;box-shadow:var(--md-elevation-1)}.left-panel{width:340px;flex-shrink:0}.right-panel{flex-grow:1}.full-width-panel{width:100%;flex-grow:1;position:relative;height:100%;display:flex;flex-direction:column}h1{font-size:var(--md-font-size-title);line-height:var(--md-line-height-title);font-weight:600;margin:0 0 12px;color:rgb(var(--md-on-surface))}label{font-size:var(--md-font-size-label);font-weight:500;color:rgb(var(--md-on-surface-variant));display:block;margin-bottom:0}input[type=text],input[type=number],select{padding:8px 12px;border-radius:var(--md-radius-sm);border:1px solid rgb(var(--md-outline));background:rgb(var(--md-surface));color:rgb(var(--md-on-surface));font-family:var(--md-font);font-size:var(--md-font-size-body);width:100%;transition:border-color .2s}input[type=text]:focus,input[type=number]:focus,select:focus{outline:none;border-color:rgb(var(--md-primary));border-width:2px;padding:7px 11px}hr{border:none;border-top:1px solid rgb(var(--md-outline-variant));margin:16px 0}label.file-label{background:transparent;color:rgb(var(--md-primary));border:1px solid rgb(var(--md-outline));box-shadow:none}label.file-label:hover{background:rgba(var(--md-primary),.08);border-color:rgb(var(--md-primary));box-shadow:none}.left-panel button:hover,.left-panel label.file-label:hover{background:rgb(var(--md-tertiary))!important;border-color:rgb(var(--md-tertiary))!important;color:#000!important}.status{font-size:13px;padding:8px 16px;border-radius:var(--md-radius-sm);background:rgba(var(--md-surface),.9);color:rgb(var(--md-on-surface));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:500}.status.light{background:transparent;color:rgb(var(--md-on-surface-variant))}.video-wrap{position:relative;overflow:hidden;background:#000;flex:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-elevation-2)}.video-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(var(--cam-mirror))}.overlay{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:2}.thumbs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:220px;overflow-y:auto}.thumbs-grid .thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.prediction-bar-wrap{margin-top:8px}.prediction-bar-wrap .bar-bg{height:24px;background:rgb(var(--md-surface-variant));border-radius:var(--md-radius-sm);overflow:hidden}.prediction-bar-wrap .bar-fill{height:100%;background:rgb(var(--md-primary));transition:width .3s;border-radius:var(--md-radius-sm)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:rgb(var(--md-tertiary));color:#000;padding:16px 24px;border-radius:var(--md-radius-md);box-shadow:var(--md-elevation-3);z-index:10000;font-weight:500;animation:slideUp .3s cubic-bezier(.2,0,0,1)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,122,204,.2);border-top-color:#007acc;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.step-section{display:none;animation:fadeIn .4s ease-out}.step-section.visible{display:block}.class-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.class-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:var(--md-radius-md);cursor:pointer;background:rgba(var(--md-surface-variant),.3);transition:all .2s;border:2px solid transparent}.class-item:hover{background:rgb(var(--md-surface-variant));box-shadow:var(--md-elevation-1)}.class-item.selected{background:rgba(var(--md-primary-container));border-color:rgb(var(--md-primary));padding:11px}.class-item .class-name{flex-grow:1;font-weight:500;color:rgb(var(--md-on-surface))}.class-item .class-actions{display:flex;gap:4px}.class-item .class-actions button{padding:6px 12px;min-height:32px}.header-btn{padding:8px 18px;border-radius:20px;background-color:transparent;border:1px solid transparent;color:#ffffffed;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s;box-shadow:none;min-height:unset}.header-btn:hover:not(.active){background-color:#fafafa99;color:#000}.header-btn.active{background-color:var(--btn-green);border-color:var(--btn-green);color:#000;font-weight:600}.header-btn.active:hover{background-color:var(--btn-green-hover)}.project-buttons{margin-top:auto;padding-top:16px;border-top:1px solid rgb(var(--md-outline-variant));display:flex;flex-direction:column;gap:10px}.model-info{margin-top:8px;font-size:13px;color:rgb(var(--md-on-surface-variant))}.button-hint{font-size:12px;color:rgb(var(--md-on-surface-variant));margin-top:6px;line-height:16px}.help-text{margin-top:12px;padding-top:8px;border-top:2px solid #000;font-size:13px;line-height:1.5;color:rgb(var(--md-on-surface));animation:fadeIn .3s ease-out}.help-text:empty{display:none;margin:0;padding:0;border:none}.pose-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;transform:scaleX(var(--cam-mirror))}#main-header.svelte-1elxaub{background:#1b1c1d;width:100%;z-index:100000000;padding:8px 24px}.header-inner.svelte-1elxaub{width:100%;min-height:40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px}.header-left.svelte-1elxaub{display:flex;align-items:center;gap:16px;min-width:0}.header-center.svelte-1elxaub{display:flex;align-items:center;justify-content:center;gap:8px}.header-right.svelte-1elxaub{display:flex;align-items:center;justify-content:flex-end;gap:12px}.brand-link.svelte-1elxaub{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:opacity .2s ease}.brand-link.svelte-1elxaub:hover{opacity:.8}.logo-icon.svelte-1elxaub{width:auto;height:24px;flex-shrink:0}.header-title.svelte-1elxaub{font-size:16px;color:#fff;font-weight:600;line-height:1.2;white-space:nowrap}.project-bar.svelte-1elxaub{display:flex;align-items:center;gap:4px;padding-left:12px;border-left:1px solid rgba(255,255,255,.15);min-width:0}.project-name-btn.svelte-1elxaub{background:transparent;border:none;color:#fff;font-size:15px;font-weight:500;padding:4px 10px;border-radius:6px;cursor:pointer;min-height:unset;box-shadow:none;display:inline-flex;align-items:center;gap:6px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-name-btn.svelte-1elxaub .edit-hint:where(.svelte-1elxaub){opacity:0;font-size:12px}.project-name-btn.svelte-1elxaub:hover{background:#ffffff1f}.project-name-btn.svelte-1elxaub:hover .edit-hint:where(.svelte-1elxaub){opacity:.8}.project-name-input.svelte-1elxaub{font-size:15px;font-weight:500;padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.4);background:#0000004d;color:#fff;max-width:240px}.model-btn.svelte-1elxaub{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:5px 10px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:#0000002e;color:#ffffffed;font:inherit;font-size:13px;min-height:unset;box-shadow:none;cursor:pointer;transition:background-color .2s,border-color .2s}.model-btn.svelte-1elxaub:hover{background:#ffffff24;border-color:#ffffff80}.model-btn.svelte-1elxaub svg:where(.svelte-1elxaub){opacity:.7;flex-shrink:0}.model-btn.svelte-1elxaub:hover svg:where(.svelte-1elxaub){opacity:1}.model-btn.empty.svelte-1elxaub .model-name:where(.svelte-1elxaub){font-style:italic;opacity:.75}.model-caption.svelte-1elxaub{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.6;flex-shrink:0}.model-name.svelte-1elxaub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.model-option.svelte-1elxaub{display:flex;flex-direction:column;gap:2px;min-width:0}.option-name.svelte-1elxaub{font-weight:500}.option-meta.svelte-1elxaub{font-size:11px;color:#62666a}.settings-btn.svelte-1elxaub{padding:8px 18px;border-radius:20px;background-color:transparent;border:1px solid transparent;color:#ffffffed;cursor:pointer;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;min-height:unset;box-shadow:none}.settings-btn.svelte-1elxaub:hover{background-color:#fafafa99;color:#000}.menu-sep.svelte-1elxaub{height:1px;margin:4px 0;background:#e2e9e6}@media(max-width:900px){.header-left.svelte-1elxaub,.brand-link.svelte-1elxaub{gap:10px}.header-title.svelte-1elxaub{font-size:15px}.model-caption.svelte-1elxaub{display:none}.model-btn.svelte-1elxaub{max-width:180px}}@media(max-width:720px){#main-header.svelte-1elxaub{padding:6px 10px}.header-inner.svelte-1elxaub{grid-template-columns:1fr auto;row-gap:4px}.header-left.svelte-1elxaub{grid-column:1}.header-right.svelte-1elxaub{grid-column:2}.header-center.svelte-1elxaub{grid-column:1/-1;justify-content:center;flex-wrap:wrap;gap:6px}}.toast-container.svelte-1cpok13{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column-reverse;gap:8px;z-index:10000}.toast.svelte-1cpok13{background:#000000d9;color:#fff;padding:8px 12px;border-radius:6px;min-width:220px;box-shadow:0 4px 10px #0003;font-size:14px}.toast.success.svelte-1cpok13{background:#12783cf2}.toast.error.svelte-1cpok13{background:#c82828e6}.toast.warning.svelte-1cpok13{background:#c8822ce6}.toast.info.svelte-1cpok13{background:#000000d9}.backdrop.svelte-f5pi1q{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000000}.box.svelte-f5pi1q{position:relative;background:#fff;padding:32px 40px;border-radius:20px;max-width:500px;width:90%;box-shadow:0 10px 25px #00000040;font-family:Inter,system-ui,sans-serif}.box.svelte-f5pi1q h2:where(.svelte-f5pi1q){font-size:24px;font-weight:600;color:#000;margin:0 0 24px;text-align:center}.close.svelte-f5pi1q{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:28px;cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;min-height:unset;box-shadow:none;color:#666}.close.svelte-f5pi1q:hover{background:#f5f5f5}.list.svelte-f5pi1q{display:flex;flex-direction:column;gap:8px}.lang-option.svelte-f5pi1q{padding:14px 20px;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:16px;color:#333;text-align:center;font-family:inherit;transition:all .2s;box-shadow:none;min-height:unset}.lang-option.svelte-f5pi1q:hover{background:#e8e8e8;border-color:#1fb6ff}.lang-option.active.svelte-f5pi1q{background:#e3f5ff;border-color:#1fb6ff;color:#1fb6ff;font-weight:600}.backdrop.svelte-zeuutl{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000000}.box.svelte-zeuutl{position:relative;background:#fff;padding:32px 40px;border-radius:20px;max-width:500px;width:90%;box-shadow:0 10px 25px #00000040;font-family:Inter,system-ui,sans-serif}.box.svelte-zeuutl h2:where(.svelte-zeuutl){font-size:24px;font-weight:600;color:#000;margin:0 0 24px;text-align:center}.close.svelte-zeuutl{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:28px;cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;min-height:unset;box-shadow:none;color:#666}.close.svelte-zeuutl:hover{background:#f5f5f5}.preview.svelte-zeuutl{position:relative;aspect-ratio:4/3;width:100%;margin:0 0 20px;border-radius:12px;overflow:hidden;background:#1b1c1d;display:flex;align-items:center;justify-content:center}.preview.svelte-zeuutl video:where(.svelte-zeuutl){width:100%;height:100%;object-fit:cover;transform:scaleX(var(--cam-mirror));opacity:0;transition:opacity .2s}.preview.live.svelte-zeuutl video:where(.svelte-zeuutl){opacity:1}.preview-note.svelte-zeuutl{position:absolute;font-size:14px;color:#bbb}.mirror-row.svelte-zeuutl{display:flex;align-items:flex-start;gap:10px;margin:-8px 0 18px;padding:10px 12px;border-radius:10px;background:#f5f5f5;cursor:pointer}.mirror-row.svelte-zeuutl:hover{background:#eee}.mirror-row.svelte-zeuutl input:where(.svelte-zeuutl){margin:2px 0 0;flex-shrink:0;cursor:pointer;width:16px;height:16px}.mirror-text.svelte-zeuutl{display:flex;flex-direction:column;gap:2px;min-width:0}.mirror-label.svelte-zeuutl{font-size:15px;font-weight:600;color:#222}.mirror-hint.svelte-zeuutl{font-size:13px;line-height:1.35;color:#666}.list.svelte-zeuutl{display:flex;flex-direction:column;gap:8px}.cam-option.svelte-zeuutl{padding:14px 20px;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:16px;color:#333;text-align:center;font-family:inherit;transition:all .2s;box-shadow:none;min-height:unset;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cam-option.svelte-zeuutl:hover:not(:disabled){background:#e8e8e8;border-color:#1fb6ff}.cam-option.active.svelte-zeuutl{background:#e3f5ff;border-color:#1fb6ff;color:#1fb6ff;font-weight:600}.cam-option.svelte-zeuutl:disabled{opacity:.6;cursor:default}.hint.svelte-zeuutl,.problem.svelte-zeuutl{margin:12px 0 0;font-size:15px;line-height:1.5;color:#555;text-align:center}.problem.svelte-zeuutl{color:#a33}.actions.svelte-zeuutl{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}.backdrop.svelte-1ypv6aq{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999999}.box.svelte-1ypv6aq{position:relative;background:#fff;padding:40px 48px;border-radius:20px;max-width:700px;max-height:85vh;width:90%;box-shadow:0 10px 25px #00000040;font-family:Inter,system-ui,sans-serif;overflow-y:auto}.close.svelte-1ypv6aq{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:28px;cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;min-height:unset;box-shadow:none;color:#666}.close.svelte-1ypv6aq:hover{background:#f5f5f5}.title.svelte-1ypv6aq{font-size:28px;font-weight:600;color:#000;margin-bottom:24px;text-align:center}.content.svelte-1ypv6aq{font-size:15px;line-height:1.7;color:#333}.content.svelte-1ypv6aq h3:where(.svelte-1ypv6aq){font-size:18px;font-weight:600;color:#000;margin:24px 0 12px}.content.svelte-1ypv6aq h3:where(.svelte-1ypv6aq):first-child{margin-top:0}.content.svelte-1ypv6aq p:where(.svelte-1ypv6aq){margin-bottom:14px}.content.svelte-1ypv6aq strong:where(.svelte-1ypv6aq){font-weight:600;color:#000}.content.svelte-1ypv6aq a:where(.svelte-1ypv6aq){color:#1fb6ff}
