*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-feature-settings:"ss01" on,"cv11" on;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}:root{--bg: #0a0a0a;--surface: #141414;--surface-2: #1c1c1c;--surface-3: #232323;--border: #262626;--border-strong: #333333;--text: #fafafa;--text-2: #a3a3a3;--text-3: #6b6b6b;--accent: oklch(.82 .19 128);--accent-soft: oklch(.82 .19 128 / .12);--accent-text: #0a0a0a;--success: oklch(.72 .16 150);--warn: oklch(.78 .15 75);--error: oklch(.66 .22 25);--info: oklch(.72 .15 230);--pose-standing: oklch(.72 .16 150);--pose-sitting: oklch(.72 .15 230);--pose-lying: oklch(.7 .18 300);--pose-kneeling: oklch(.78 .15 75);--mono: "IBM Plex Mono", ui-monospace, monospace;--row-h: 44px;--pad: 16px;--gap: 16px;--radius: 10px;--radius-sm: 6px}[data-theme=light]{--bg: #fafaf9;--surface: #ffffff;--surface-2: #f4f4f3;--surface-3: #ececeb;--border: #e6e6e4;--border-strong: #d4d4d2;--text: #18181b;--text-2: #525252;--text-3: #8a8a8a;--accent: oklch(.62 .18 145);--accent-soft: oklch(.62 .18 145 / .1);--accent-text: #ffffff;--pose-standing: oklch(.55 .15 150);--pose-sitting: oklch(.55 .15 230);--pose-lying: oklch(.55 .17 300);--pose-kneeling: oklch(.6 .15 75)}[data-theme=warm]{--bg: #f4f1ec;--surface: #ffffff;--surface-2: #ede8df;--surface-3: #e3dccf;--border: #d8cfbd;--border-strong: #c4b89f;--text: #2a241a;--text-2: #6b6354;--text-3: #968b78;--accent: oklch(.55 .14 50);--accent-soft: oklch(.55 .14 50 / .12);--accent-text: #ffffff;--pose-standing: oklch(.5 .13 150);--pose-sitting: oklch(.5 .13 230);--pose-lying: oklch(.5 .15 300);--pose-kneeling: oklch(.52 .13 75)}[data-accent=lime]{--accent: oklch(.82 .19 128);--accent-soft: oklch(.82 .19 128 / .12);--accent-text: #0a0a0a}[data-accent=indigo]{--accent: oklch(.65 .2 275);--accent-soft: oklch(.65 .2 275 / .14);--accent-text: #ffffff}[data-accent=amber]{--accent: oklch(.78 .16 70);--accent-soft: oklch(.78 .16 70 / .14);--accent-text: #1a1306}[data-accent=cyan]{--accent: oklch(.78 .13 200);--accent-soft: oklch(.78 .13 200 / .14);--accent-text: #04181c}[data-density=compact]{--row-h: 36px;--pad: 12px;--gap: 12px}[data-density=comfortable]{--row-h: 52px;--pad: 20px;--gap: 20px}#root{width:100vw;height:100vh}.app{display:grid;height:100vh;width:100vw}.app[data-layout=sidebar]{grid-template-columns:224px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"top top" "side main"}.app[data-layout=topnav]{grid-template-columns:1fr;grid-template-rows:56px 48px 1fr;grid-template-areas:"top" "side" "main"}.topbar{grid-area:top}.sidebar{grid-area:side}.main{grid-area:main;overflow:auto}.topbar{display:flex;align-items:center;gap:16px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em;font-size:14px}.brand-mark{width:22px;height:22px;border-radius:6px;background:var(--accent);display:grid;place-items:center;color:var(--accent-text);font-weight:700;font-size:12px;font-family:var(--mono)}.brand-env{font-family:var(--mono);font-size:11px;color:var(--text-2);padding:2px 6px;border:1px solid var(--border);border-radius:4px;margin-left:6px}.search{flex:1;max-width:480px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;height:32px}.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-family:inherit;font-size:13px}.search input::placeholder{color:var(--text-3)}.search kbd{font-family:var(--mono);font-size:10px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 4px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in oklab,var(--success) 22%,transparent)}.status-text{font-size:12px;color:var(--text-2);font-family:var(--mono)}.status-text-saved{color:var(--success);animation:topbar-save-flash 1.8s ease forwards}@keyframes topbar-save-flash{0%{opacity:0;transform:translateY(2px)}12%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1px)}}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--surface-3),var(--surface-2));border:1px solid var(--border);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--text-2)}.sidebar{border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;padding:12px 10px;gap:2px;overflow-y:auto}.app[data-layout=topnav] .sidebar{flex-direction:row;border-right:0;border-bottom:1px solid var(--border);padding:0 16px;gap:4px;align-items:center}.nav-section{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:14px 10px 6px}.app[data-layout=topnav] .nav-section{display:none}.nav-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;text-decoration:none}.nav-item:hover,.nav-item[data-active=true]{background:var(--surface);color:var(--text)}.nav-item[data-active=true]:before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:2px}.app[data-layout=topnav] .nav-item[data-active=true]:before{left:10px;right:10px;top:auto;bottom:-4px;width:auto;height:2px}.nav-item .ico{width:14px;height:14px;flex-shrink:0}.nav-item .count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--text-3);background:var(--surface-2);padding:1px 5px;border-radius:3px}.nav-item[data-active=true] .count{background:var(--accent-soft);color:var(--accent)}.main{padding:24px;display:flex;flex-direction:column;gap:var(--gap)}.main>*{flex-shrink:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.page-title{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px}.page-sub{font-size:13px;color:var(--text-2);margin:0}.page-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;font-family:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn-primary:hover{background:var(--accent);filter:brightness(1.05)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface);color:var(--text);border-color:transparent}.btn-danger{background:var(--error);color:#fff;border-color:transparent}.btn-danger:hover{background:var(--error);filter:brightness(1.12)}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{font-family:var(--mono);font-size:11px;padding:4px 10px;border:0;background:transparent;color:var(--text-2);cursor:pointer;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.seg button[data-active=true]{background:var(--surface-3);color:var(--text)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.kpi-label{font-size:11.5px;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}.kpi-value{font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.02em;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.kpi-foot{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-3);font-family:var(--mono)}.delta{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:11px}.delta.pos{color:var(--success)}.delta.neg{color:var(--error)}.spark{position:absolute;right:12px;top:14px;width:64px;height:24px}.row-2{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--gap);min-height:0}.row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px}.card-title{font-size:13px;font-weight:600;letter-spacing:-.005em}.card-sub{font-size:11px;color:var(--text-3);font-family:var(--mono)}.card-body{padding:16px}.card-body.no-pad{padding:0}.queue{display:flex;flex-direction:column;min-height:0;flex:1}.queue-head,.queue-row{display:grid;grid-template-columns:80px 1.2fr 90px 110px 100px 90px 60px;gap:12px;padding:0 16px;align-items:center;height:var(--row-h);font-size:12.5px}.queue-head{height:32px;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-3);font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.queue-row{border-bottom:1px solid var(--border)}.queue-row:hover{background:var(--surface-2)}.queue-row:last-child{border-bottom:0}.job-id{font-family:var(--mono);color:var(--text-2);font-size:11.5px}.job-name{display:flex;align-items:center;gap:10px;min-width:0}.face-chip{width:24px;height:24px;border-radius:50%;background:var(--surface-3);flex-shrink:0;background-image:linear-gradient(135deg,var(--surface-3),var(--surface-2));border:1px solid var(--border);display:grid;place-items:center;font-family:var(--mono);font-size:9.5px;color:var(--text-2)}.job-name-text{display:flex;flex-direction:column;min-width:0}.job-name-text strong{font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-name-text span{font-family:var(--mono);font-size:10.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-count{font-family:var(--mono);font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);width:max-content}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill[data-status=running]{color:var(--info)}.status-pill[data-status=running] .dot{animation:pulse 1.2s infinite}.status-pill[data-status=queued]{color:var(--text-3)}.status-pill[data-status=done]{color:var(--success)}.status-pill[data-status=failed]{color:var(--error)}.status-pill[data-status=review]{color:var(--warn)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.progress{position:relative;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}.progress>span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);border-radius:2px;transform-origin:left;transition:width .6s ease}.progress.indeterminate>span{width:35%!important;animation:indet 1.4s ease-in-out infinite}@keyframes indet{0%{transform:translate(-130%)}to{transform:translate(330%)}}.progress-row{display:flex;flex-direction:column;gap:4px}.progress-row span.label{font-family:var(--mono);font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.eta{font-family:var(--mono);font-size:11.5px;color:var(--text-2)}.row-actions{display:flex;justify-content:flex-end;opacity:0}.queue-row:hover .row-actions{opacity:1}.icon-btn{width:24px;height:24px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-2);display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.chart{padding:8px 16px 16px;position:relative}.chart-svg{width:100%;height:200px;display:block}.chart-legend{display:flex;gap:14px;padding:6px 16px 12px;font-family:var(--mono);font-size:11px;color:var(--text-2)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}.chart-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-top:1px solid var(--border)}.chart-stat{padding:12px 16px;border-right:1px solid var(--border)}.chart-stat:nth-child(-n+3){border-bottom:1px solid var(--border)}.chart-stat:nth-child(3n){border-right:0}.chart-stat-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.chart-stat-value{font-family:var(--mono);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text);margin-top:2px;font-variant-numeric:tabular-nums}@keyframes heart-pulse{0%{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}.heart-beat{animation:heart-pulse 1.3s infinite ease-in-out;transform-origin:center;display:inline-block;color:var(--accent)}.panel-list{display:flex;flex-direction:column}.panel-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12.5px}.panel-row:last-child{border-bottom:0}.panel-row:hover{background:var(--surface-2)}.panel-row .meta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-3);text-align:right}.user-row .name{font-weight:500}.user-row .email{font-size:11px;color:var(--text-3);font-family:var(--mono)}.tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;background:var(--surface-2);color:var(--text-2)}.tag.pro{background:var(--accent-soft);color:var(--accent)}.tag.warn{background:color-mix(in oklab,var(--warn) 16%,transparent);color:var(--warn)}.tag.err{background:color-mix(in oklab,var(--error) 18%,transparent);color:var(--error)}.thumb{width:36px;height:36px;border-radius:6px;background:var(--surface-3);border:1px solid var(--border);flex-shrink:0;position:relative;overflow:hidden}.thumb.face{border-radius:50%}.thumb svg{display:block}.preset-row{gap:12px}.preset-bar{flex:1;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;max-width:80px}.preset-bar>span{display:block;height:100%;background:var(--accent);border-radius:2px}.report-row{align-items:flex-start}.report-row .icon-warn{width:24px;height:24px;border-radius:4px;background:color-mix(in oklab,var(--error) 18%,transparent);color:var(--error);display:grid;place-items:center;flex-shrink:0;font-family:var(--mono);font-weight:700;font-size:12px}.report-row .body{display:flex;flex-direction:column;gap:2px;min-width:0}.report-row .body strong{font-weight:500;font-size:12.5px}.report-row .body span{font-size:11px;color:var(--text-3);font-family:var(--mono)}.placeholder{flex:1;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:320px}.placeholder-inner{text-align:center;color:var(--text-2);max-width:360px}.placeholder-inner .ico-wrap{width:44px;height:44px;margin:0 auto 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--accent)}.placeholder-inner .ico-wrap svg{width:20px;height:20px}.placeholder-inner h2{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em}.placeholder-inner p{margin:0;font-size:12.5px;font-family:var(--mono);color:var(--text-3)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.live-tick{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.live-tick .pulse{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 1.4s infinite}.tweaks-fab{position:fixed;right:16px;bottom:16px;z-index:2147483645;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface);color:var(--text-2);border:1px solid var(--border-strong);box-shadow:0 8px 24px #00000047;cursor:pointer}.tweaks-fab:hover{color:var(--text);background:var(--surface-2)}.tweaks-fab svg{width:18px;height:18px}@media (max-width: 1280px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.kpi-value{font-size:24px}}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.row-2{grid-template-columns:1fr}.row-4{grid-template-columns:repeat(2,1fr)}}.auth-boot{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg)}.auth-boot-mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:20px;animation:auth-pulse 1.2s ease-in-out infinite}@keyframes auth-pulse{0%,to{opacity:.45}50%{opacity:1}}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(60% 50% at 50% 0%,var(--accent-soft),transparent 70%),var(--bg)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-name{font-weight:700;font-size:15px;letter-spacing:-.01em}.login-brand-sub{font-size:11px;color:var(--text-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}.login-title{margin:4px 0 0;font-size:20px;font-weight:600}.login-field{display:flex;flex-direction:column;gap:6px}.login-field>span{font-size:12px;color:var(--text-2)}.login-field input{height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:14px;font-family:inherit}.login-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-error{font-size:13px;color:var(--error);background:#fc44471f;border:1px solid oklch(.66 .22 25 / .3);border-radius:var(--radius-sm);padding:8px 10px}.login-submit{height:40px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);font-weight:600;font-size:14px;cursor:pointer;transition:opacity .15s ease}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.55;cursor:default}.logout-btn{height:28px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:12px;font-family:var(--mono);cursor:pointer;transition:color .15s ease,border-color .15s ease}.logout-btn:hover{color:var(--text);border-color:var(--border-strong)}.login-foot{display:flex;justify-content:center;gap:10px;font-size:12px;color:var(--text-3)}.login-foot a{color:var(--text-2);text-decoration:none}.login-foot a:hover{color:var(--text)}.legal{height:100vh;overflow-y:auto;background:var(--bg);padding:40px 24px}.legal-card{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px}.legal-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--border)}.legal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.legal-brand-name{font-weight:700;font-size:15px;letter-spacing:-.01em}.legal-nav{display:flex;gap:16px;font-size:13px}.legal-nav a{color:var(--text-2);text-decoration:none}.legal-nav a:hover{color:var(--text)}.legal-title{margin:28px 0 4px;font-size:26px;font-weight:700;letter-spacing:-.02em}.legal-updated{margin:0 0 24px;font-size:12px;color:var(--text-3);font-family:var(--mono)}.legal-body{font-size:15px;line-height:1.7;color:var(--text-2)}.legal-body h2{margin:28px 0 8px;font-size:16px;font-weight:600;color:var(--text)}.legal-body p{margin:0 0 12px}.legal-body a{color:var(--accent)}.nav-item-presets-container{display:flex;flex-direction:column}.presets-main-row{display:flex;align-items:center;position:relative;width:100%}.presets-badge-or-caret{margin-left:auto;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.presets-badge-or-caret .count{display:block}.presets-badge-or-caret .caret-icon{display:none;width:8px;height:8px;color:var(--text-2);transition:transform .2s cubic-bezier(.16,1,.3,1)}.presets-main-row:hover .presets-badge-or-caret .count{display:none}.presets-main-row:hover .presets-badge-or-caret .caret-icon{display:block}.nav-item-presets-container[data-expanded=true] .caret-icon{transform:rotate(180deg)}.app[data-layout=sidebar] .presets-submenu{display:none;flex-direction:column;gap:2px;padding-left:18px;margin-top:2px;margin-bottom:6px}.app[data-layout=sidebar] .nav-item-presets-container[data-expanded=true] .presets-submenu{display:flex}.submenu-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-2);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.submenu-item:hover{background:var(--surface);color:var(--text)}.submenu-item[data-active=true]{background:var(--surface);color:var(--text);font-weight:500}.submenu-item .ico{width:12px;height:12px;opacity:.7}.submenu-item[data-active=true] .ico{color:var(--accent);opacity:1}.app[data-layout=topnav] .nav-item-presets-container{position:relative;display:flex;align-items:center}.app[data-layout=topnav] .presets-main-row{display:flex;align-items:center}.app[data-layout=topnav] .presets-submenu{position:absolute;top:calc(100% + 2px);left:0;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:none;flex-direction:column;gap:2px;min-width:200px;box-shadow:0 16px 36px #0009;z-index:1000;animation:dropdownFade .2s cubic-bezier(.16,1,.3,1)}.app[data-layout=topnav] .nav-item-presets-container:hover .presets-submenu{display:flex}.app[data-layout=topnav] .presets-badge-or-caret .caret-icon{display:none!important}.app[data-layout=topnav] .presets-main-row:hover .presets-badge-or-caret .count{display:block!important}@keyframes dropdownFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-flex;animation:spin .8s linear infinite}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes drawerIn{0%{opacity:.4;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:2147483647;display:flex;align-items:center;justify-content:center;animation:overlayFadeIn .15s ease}.confirm-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:24px;width:340px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:10px;box-shadow:0 24px 60px #0000008c;animation:dialogIn .2s cubic-bezier(.16,1,.3,1)}.confirm-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.confirm-message{margin:0;font-size:13px;color:var(--text-2);line-height:1.55}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:2147483646;display:flex;justify-content:flex-end;animation:overlayFadeIn .15s ease}.drawer-panel{background:var(--surface);border-left:1px solid var(--border-strong);width:460px;max-width:calc(100vw - 40px);height:100%;display:flex;flex-direction:column;box-shadow:-24px 0 60px #00000080;animation:drawerIn .24s cubic-bezier(.16,1,.3,1)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.drawer-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-3);flex-shrink:0;transition:color .15s ease,background .15s ease}.drawer-close:hover{color:var(--text);background:var(--surface-2)}.drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxZoomIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.preset-controls-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.presets-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap)}.presets-glass-card{background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .25s ease}.presets-glass-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 16px 40px #00000073}.preset-preview{height:140px;background:var(--surface-2);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border)}.skin-swatch{display:flex;align-items:center;justify-content:center}.swatch-label{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:#00000040;padding:3px 8px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bokeh-circles span{position:absolute;border-radius:50%;filter:blur(12px);opacity:.65}.circle-1{width:60px;height:60px;top:15px;left:20px;background:#eab308}.circle-2{width:80px;height:80px;bottom:-10px;right:15px;background:#f97316}.circle-3{width:45px;height:45px;top:45px;right:50px;background:#3b82f6}.grid-overlay-office{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px;opacity:.4}.sun-circle{position:absolute;width:50px;height:50px;background:#fef08a;border-radius:50%;filter:blur(10px);top:30px}.cyber-glow{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.glow-bar-1{position:absolute;width:140px;height:12px;background:#db2777;filter:blur(16px);transform:rotate(-35deg);top:40px;left:-20px}.glow-bar-2{position:absolute;width:140px;height:12px;background:#06b6d4;filter:blur(16px);transform:rotate(45deg);bottom:30px;right:-20px}.camera-lens-svg,.pose-svg,.outfit-svg,.body-contour-svg{width:64px;height:64px;color:var(--accent);opacity:.75;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .25s ease}.presets-glass-card:hover .camera-lens-svg,.presets-glass-card:hover .pose-svg,.presets-glass-card:hover .outfit-svg,.presets-glass-card:hover .body-contour-svg,.presets-glass-card:hover .body-asset-img{opacity:1;transform:scale(1.08)}.presets-glass-card:hover .preset-preview{background:var(--surface-3)}.card-info{padding:16px;display:flex;flex-direction:column;gap:10px}.card-label{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.01em}.card-stats-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-2);font-family:var(--mono)}.usage-track{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;position:relative;margin:2px 0}.track-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px}.card-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;opacity:.4;transition:opacity .2s ease}.presets-glass-card:hover .card-actions{opacity:1}.gender-seg{background:var(--surface-3)}.gender-seg button{font-weight:550;font-family:inherit;font-size:11.5px}.gender-seg button:disabled{opacity:.35;cursor:not-allowed}.outfit-pinterest-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;align-items:start}.outfit-pin-card{position:relative;display:block;width:100%;padding:0;border:none;background:var(--surface-2);border-radius:var(--radius);overflow:hidden;cursor:pointer;outline:none;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}.outfit-pin-card:hover{transform:translateY(-3px) scale(1.012);box-shadow:0 12px 36px #00000080}.outfit-pin-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.outfit-pin-img{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:cover;transition:transform .3s cubic-bezier(.16,1,.3,1)}.outfit-pin-card:hover .outfit-pin-img{transform:scale(1.04)}.outfit-pin-empty{width:100%;aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-3)}.outfit-pin-hover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000061;color:#fff;opacity:0;transition:opacity .2s ease;pointer-events:none}.outfit-pin-card:hover .outfit-pin-hover{opacity:1}.catalog-form{flex-direction:column;align-items:stretch;gap:14px}.catalog-form-field{display:flex;flex-direction:column;gap:7px}.catalog-form-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.catalog-input,.catalog-textarea,.catalog-select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;color:var(--text);font-family:inherit;font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}.catalog-textarea{min-height:72px;resize:vertical;line-height:1.5}.catalog-input:focus,.catalog-textarea:focus,.catalog-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chip-toggle-group{display:flex;flex-wrap:wrap;gap:8px}.chip-toggle{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:12.5px;font-weight:500;padding:7px 13px 7px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.chip-toggle:hover{border-color:var(--border-strong);color:var(--text)}.chip-toggle:disabled{opacity:.35;cursor:not-allowed}.chip-toggle[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--accent-text);transition:background .15s ease,border-color .15s ease}.chip-toggle[data-active=true] .chip-dot{background:var(--accent);border-color:var(--accent)}.chip-check{width:10px;height:10px;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.chip-toggle[data-active=true] .chip-check{opacity:1;transform:scale(1)}.file-field{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.file-thumb{width:200px;min-height:250px;align-self:flex-start;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-3);overflow:hidden}.file-thumb img{width:100%;height:100%;min-height:250px;object-fit:cover}.file-thumb svg{width:40px;height:40px;opacity:.5}.file-field-body{display:flex;align-items:center;gap:12px;min-width:0}.file-pick{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-family:inherit;font-size:12.5px;font-weight:500;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-3);color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.file-pick:hover{border-color:var(--border-strong)}.file-pick svg{width:14px;height:14px}.file-name{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presets-prompt-list{display:flex;flex-direction:column;gap:12px}.preset-prompt-row{background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}.preset-prompt-row:hover{border-color:var(--border-strong);box-shadow:0 8px 24px #00000059;transform:translateY(-2px)}.prompt-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.prompt-label{font-size:14px;font-weight:600;color:var(--text)}.prompt-stats{display:flex;gap:6px}.stat-pill-mini{font-family:var(--mono);font-size:10px;color:var(--text-2);background:var(--surface-2);padding:2px 6px;border-radius:4px;border:1px solid var(--border)}.prompt-body{display:flex;align-items:flex-start;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.prompt-text{font-family:var(--mono);font-size:12px;color:var(--accent);line-height:1.5;flex:1;word-break:break-word}.prompt-body .copy-btn{display:flex;align-items:center;justify-content:center;color:var(--text-3);transition:color .15s,background .15s}.prompt-body .copy-btn:hover{color:var(--text);background:var(--surface-3)}.prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:2px}.prompt-actions{display:flex;gap:6px}.prompt-autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:50;max-height:200px;overflow-y:auto;box-shadow:0 8px 24px #0006}.prompt-autocomplete-item{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:0;color:var(--text-2);font-size:12px;font-family:inherit;cursor:pointer;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-autocomplete-item:last-child{border-bottom:0}.prompt-autocomplete-item:hover{background:var(--surface-3);color:var(--text)}.tags-field{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-height:40px;transition:border-color .15s ease}.tags-field:focus-within{border-color:var(--accent)}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px 2px 10px;font-size:11.5px;font-weight:500}.tag-chip-remove{background:transparent;border:0;color:var(--accent);cursor:pointer;padding:0 2px;font-size:14px;line-height:1;opacity:.7;transition:opacity .1s}.tag-chip-remove:hover{opacity:1}.tags-field-input{flex:1;min-width:120px;background:transparent;border:0;outline:none;color:var(--text);font-family:inherit;font-size:12.5px}.tags-field-input::placeholder{color:var(--text-3)}.stat-pill-mini[data-tag=standing]{background:color-mix(in oklab,var(--pose-standing) 12%,transparent);color:var(--pose-standing);border-color:color-mix(in oklab,var(--pose-standing) 28%,transparent)}.stat-pill-mini[data-tag=sitting]{background:color-mix(in oklab,var(--pose-sitting) 12%,transparent);color:var(--pose-sitting);border-color:color-mix(in oklab,var(--pose-sitting) 28%,transparent)}.stat-pill-mini[data-tag=lying]{background:color-mix(in oklab,var(--pose-lying) 12%,transparent);color:var(--pose-lying);border-color:color-mix(in oklab,var(--pose-lying) 28%,transparent)}.stat-pill-mini[data-tag=kneeling],.stat-pill-mini[data-tag=kneeing]{background:color-mix(in oklab,var(--pose-kneeling) 12%,transparent);color:var(--pose-kneeling);border-color:color-mix(in oklab,var(--pose-kneeling) 28%,transparent)}.stat-pill-mini[data-tag="+additional"],.stat-pill-mini[data-tag=additional]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.angle-badge{font-size:11px;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:2px 7px;line-height:1.4;white-space:nowrap;transition:all .15s ease}.angle-badge:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;align-items:start;margin:0 -4px;padding:0 4px}.history-card{position:relative;width:100%;height:0;padding-bottom:177.77%;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s ease;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.history-card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:var(--radius-sm);box-shadow:0 10px 20px -5px #00000080,0 0 12px 1px var(--accent-soft);opacity:0;transition:opacity .25s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}.history-card:hover{transform:translateY(-4px);border-color:var(--accent)}.history-card:hover:after{opacity:1}.history-card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translateZ(0);backface-visibility:hidden}.history-card:hover .history-card-img{transform:scale(1.05)}.history-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;background:linear-gradient(to top,#0a0a0ae6,#0a0a0a4d,#0a0a0a00);color:#fff;opacity:.95;transition:opacity .2s ease}.history-card:hover .history-card-overlay{opacity:1}.history-card-date{font-family:var(--mono);font-size:9px;text-shadow:0 1px 2px rgba(0,0,0,.8);margin-bottom:2px;color:#fffc;text-transform:uppercase;letter-spacing:.03em}.history-card-prompt{font-size:11px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8);color:#fff}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0abf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .2s ease-out forwards}.lightbox-container{display:grid;grid-template-columns:1fr;width:100%;height:100%;overflow:hidden;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1) forwards}@media (min-width: 768px){.lightbox-container{grid-template-columns:1fr 380px}}.lightbox-viewport{position:relative;background:#000;display:flex;align-items:center;justify-content:center;padding:24px;height:100%;overflow:hidden}.lightbox-img-wrap{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:100%;max-height:calc(100vh - 48px);object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 20px 50px #000c}.lightbox-close-btn{position:absolute;top:16px;left:16px;z-index:10002;width:36px;height:36px;border-radius:50%;background:#1e1e1eb3;border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.lightbox-close-btn:hover{background:#323232e6;color:var(--accent);transform:scale(1.05)}.lightbox-sidebar{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden}.lightbox-sidebar-head{padding:16px;border-bottom:1px solid var(--border)}.lightbox-sidebar-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.lightbox-sidebar-foot{padding:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#1e1e1eb3;border:1px solid rgba(255,255,255,.1);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s ease;z-index:10003}.lightbox-nav-btn:hover{background:#323232e6;color:var(--accent);transform:translateY(-50%) scale(1.05)}.lightbox-nav-btn.prev{left:16px}.lightbox-nav-btn.next{right:16px}
