:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0b0d10;--canvas-soft:#0f1216;--surface:#14181d;--surface-2:#1a1f25;--surface-3:#202833;--ink:#e6e8eb;--muted:#9aa3ad;--dim:#6a7280;--hairline:#262c34;--hairline-soft:#ffffff14;--accent:#2f9e5f;--accent-2:#46b577;--accent-soft:#2f9e5f24;--accent-glow:#2f9e5f38;--signal-blue:#60a5fa;--signal-green:#4ade80;--signal-purple:#c084fc;--signal-yellow:#facc15;--signal-pink:#f472b6;--danger:#ff6d5a;--success:#4ade80;--field-bg:#0f1216;--field-focus:#161b22;--code-bg:#0f1216;--code-ink:#cbd5e1;--button-fg:#fff;--btn-bg:var(--ink);--btn-fg:var(--canvas);--btn-bg-hover:color-mix(in srgb, var(--ink) 84%, var(--canvas));--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:22px;--radius-pill:999px;--max:1280px;--font-sans:-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#fafaf7;--canvas-soft:#fff;--surface:#fff;--surface-2:#f6f3ec;--surface-3:#eee9df;--ink:#1a1714;--muted:#6f6757;--dim:#9a917f;--hairline:#e6dfd2;--hairline-soft:#1a17141a;--accent-soft:#2f9e5f1f;--accent-glow:#2f9e5f2e;--field-bg:#fff;--field-focus:#fffaf2;--code-bg:#f5f1e8;--code-ink:#3a342d;--button-fg:#fff;--danger:#d93c2e;--success:#1f9d55}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{min-height:100vh;color:var(--ink);background:var(--canvas);font-family:var(--font-sans);letter-spacing:-.005em;word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6;transition:background .2s,color .2s}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=reset]):not([type=button]):not([type=image]):not([type=hidden]),textarea,select{border:1px solid var(--hairline);border-bottom:2px solid color-mix(in srgb, var(--accent) 42%, var(--hairline));border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--field-bg);caret-color:var(--accent);outline:none;padding:12px 14px;font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s}input::placeholder,textarea::placeholder{color:var(--dim);opacity:1}input::selection,textarea::selection{background:var(--accent-soft);color:var(--ink)}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--accent);transition:background-color 9999s ease-out,color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--accent);transition:background-color 9999s ease-out,color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--accent);transition:background-color 9999s ease-out,color 9999s ease-out}input:-webkit-autofill:active{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--accent);transition:background-color 9999s ease-out,color 9999s ease-out}textarea:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--accent);transition:background-color 9999s ease-out,color 9999s ease-out}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=reset]):not([type=button]):not([type=image]):not([type=hidden]):hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled){border-color:color-mix(in srgb, var(--accent) 24%, var(--hairline))}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=reset]):not([type=button]):not([type=image]):not([type=hidden]):focus,textarea:focus{border-color:var(--hairline);border-bottom-color:var(--accent);background:var(--field-focus);box-shadow:0 0 0 3px var(--accent-glow)}select:focus{border-color:var(--hairline);border-bottom-color:var(--hairline);background:var(--field-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--ink) 12%, transparent)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}textarea{resize:none;scrollbar-width:thin;scrollbar-color:var(--hairline) transparent;line-height:1.55}textarea::-webkit-resizer{display:none}textarea::-webkit-scrollbar{width:8px}textarea::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:4px}textarea::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--accent) 30%, var(--hairline))}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%, var(--muted) 60%, transparent 60%), linear-gradient(-45deg, transparent 50%, var(--muted) 50%, var(--muted) 60%, transparent 60%);cursor:pointer;background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:36px}input[type=file]{border:1px solid var(--hairline);border-bottom:2px solid color-mix(in srgb, var(--accent) 42%, var(--hairline));border-radius:var(--radius-sm);background:var(--field-bg);width:100%;color:var(--muted);font:inherit;cursor:pointer;padding:7px 8px;font-size:13px;transition:border-color .18s,background .18s,box-shadow .18s}input[type=file]:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 24%, var(--hairline))}input[type=file]:focus{border-color:var(--hairline);border-bottom-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}input[type=file]::file-selector-button{border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;margin-right:12px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s}input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}
.theme-toggle{z-index:90;border:1px solid var(--hairline);border-radius:var(--radius-pill);min-height:34px;color:var(--ink);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);align-items:center;gap:7px;padding:0 11px;transition:all .15s;display:inline-flex;position:fixed;top:19px;right:clamp(14px,2vw,24px);box-shadow:0 8px 28px #00000029}.theme-toggle:hover{border-color:var(--accent);background:var(--surface-2)}.theme-toggle span{width:16px;color:var(--muted);font-size:13px;line-height:1}.theme-toggle strong{letter-spacing:.01em;font-size:13px;font-weight:700}.theme-toggle .theme-light,html[data-theme=light] .theme-toggle .theme-dark{display:none}html[data-theme=light] .theme-toggle .theme-light{display:inline}@media (max-width:820px){.theme-toggle{min-height:32px;padding-inline:9px;top:15px}.theme-toggle strong{display:none}}
.account-chip{border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-2);max-width:240px;height:34px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.account-chip--content-image-usage{text-overflow:clip;max-width:none;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;gap:7px;overflow:visible}.account-chip--content-image-usage .content-image-usage-chip__amount{color:var(--ink);font-variant-numeric:tabular-nums}.account-chip--content-image-usage .content-image-usage-chip__delay{color:var(--dim);font-size:11px;font-weight:500}.error-strip{z-index:40;border:1px solid color-mix(in srgb, var(--danger) 42%, transparent);border-radius:var(--radius-md);color:#fff;background:color-mix(in srgb, var(--danger) 38%, #16100f);-webkit-backdrop-filter:blur(18px);width:min(760px,100% - 32px);padding:14px 16px;font-size:14px;font-weight:500;position:fixed;top:78px;left:50%;transform:translate(-50%)}.page-asset-drop-overlay{z-index:80;pointer-events:none;background:color-mix(in srgb, var(--canvas) 64%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.05);place-items:center;display:grid;position:fixed;inset:0}.page-asset-drop-overlay>div{border:2px dashed color-mix(in srgb, var(--accent) 62%, var(--hairline));width:min(520px,100vw - 40px);min-height:180px;color:var(--ink);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 58%), var(--surface);text-align:center;border-radius:28px;place-items:center;gap:10px;padding:28px;display:grid}.page-asset-drop-overlay strong{letter-spacing:-.025em;font-size:clamp(22px,3vw,34px);font-weight:700}.page-asset-drop-overlay span{color:var(--muted);font-size:14px}.login-prompt{z-index:60;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.prompt-backdrop{-webkit-backdrop-filter:blur(12px);background:#000000a8;border:0;position:absolute;inset:0}.login-dialog{z-index:1;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 28%), var(--surface);width:min(520px,100%);padding:clamp(22px,4vw,34px);position:relative;box-shadow:0 26px 90px #0006}.dialog-close{border:1px solid var(--hairline);width:34px;height:34px;color:var(--ink);background:var(--surface-2);border-radius:50%;font-size:18px;line-height:1;position:absolute;top:14px;right:14px}.login-dialog .overline{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:0;font-size:12px;font-weight:500}.login-dialog h2{color:var(--ink);letter-spacing:-.025em;margin:14px 0 0;font-size:clamp(24px,3.6vw,32px);font-weight:700;line-height:1.2}.login-dialog p:not(.overline){color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.55}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.dialog-actions a,.dialog-actions button{border-radius:var(--radius-pill);justify-content:center;align-items:center;min-height:38px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.dialog-actions a{color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-bg)}.dialog-actions a:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover)}.dialog-actions button{border:1px solid var(--hairline);color:var(--ink);background:var(--surface-2)}.industry-picker{z-index:8;gap:8px;display:grid;position:relative}.industry-picker-label{color:var(--muted);letter-spacing:-.005em;font-size:13px;font-weight:500}.industry-picker-trigger{border:1px solid var(--hairline);border-radius:var(--radius-md);min-height:58px;color:var(--ink);background:var(--surface-2);text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:border-color .16s,background .16s;display:grid}.industry-picker-trigger:hover,.industry-picker-trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 38%, var(--hairline));background:var(--surface-3)}.industry-picker-code{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);width:38px;height:38px;color:var(--accent);background:var(--accent-soft);font-family:var(--font-mono);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.industry-picker-copy{gap:3px;min-width:0;display:grid}.industry-picker-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.industry-picker-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.industry-picker-trigger em{border:1px solid var(--hairline);border-radius:var(--radius-pill);min-height:28px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.industry-picker-menu{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:8px;max-height:340px;padding:10px;display:grid;overflow:auto;box-shadow:0 24px 70px #0000006b}.industry-picker-search{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);grid-column:1/-1;gap:6px;padding:10px;display:grid}.industry-picker-search span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.industry-picker-search input{border-radius:var(--radius-sm);border-bottom-width:1px;height:38px;padding:0 12px;font-size:13px}.industry-picker-option,.industry-picker-empty{border:1px solid var(--hairline);border-radius:var(--radius-sm);min-height:78px;color:var(--muted);background:var(--canvas-soft);text-align:left;align-content:start;gap:5px;padding:11px;font-family:inherit;display:grid}.industry-picker-option:hover,.industry-picker-option.selected{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 38%, var(--hairline));background:var(--surface-2)}.industry-picker-option span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;font-size:11px;font-weight:700}.industry-picker-option strong{color:var(--ink);font-size:13px;font-weight:600}.industry-picker-option small,.industry-picker-empty{color:var(--muted);font-size:13px;line-height:1.4}.ec-shell{position:relative}.ec-shell:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(to right, var(--hairline-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--hairline-soft) 1px, transparent 1px);opacity:.55;background-size:80px 80px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at top,#000 30%,#0000 78%);mask-image:radial-gradient(at top,#000 30%,#0000 78%)}.ec-shell>*{z-index:1;position:relative}main.ec-shell{max-width:var(--max);margin:0 auto;padding:0 clamp(18px,4vw,40px) 80px}.ec-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.2s both route-fade-in;display:flex;position:fixed;inset:0}.ec-modal{width:100%;max-width:440px;max-height:calc(100vh - 48px);overflow:auto}.ec-modal--wide{max-width:560px}.ec-modal-backdrop.is-dialog{z-index:200}.ec-dialog{max-width:420px}.ec-dialog-message{white-space:pre-line;color:var(--ink);margin:0;font-size:14px;line-height:1.6}.ec-dialog-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ec-chrome{max-width:var(--max);margin:0 auto;padding:0 clamp(18px,4vw,40px)}.ec-topbar{border-bottom:1px solid var(--hairline);background:0 0;justify-content:space-between;align-items:center;gap:24px;height:72px;margin-bottom:48px;padding:0;display:flex}.ec-brand{color:var(--ink);align-items:center;gap:14px;text-decoration:none;display:flex}.ec-brand-mark{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--hairline);flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;position:relative}.ec-brand-mark:before{content:"";border:1.5px solid var(--accent);border-radius:50%;width:14px;height:14px}.ec-brand-mark:after{content:"";background:var(--accent);width:1.5px;height:14px;position:absolute}.ec-brand-name{flex-direction:column;gap:1px;line-height:1;display:flex}.ec-brand-name strong{letter-spacing:-.01em;font-size:14px;font-weight:600}.ec-brand-name em{font-style:normal;font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-nav{align-items:center;gap:8px;display:flex}.ec-nav a,.ec-nav button{border-radius:var(--radius-pill);height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.ec-nav a:hover,.ec-nav button:hover{color:var(--ink);background:var(--surface-2)}.ec-nav .nav-cta{background:var(--btn-bg);color:var(--btn-fg);font-weight:600}.ec-nav .nav-cta:hover{background:var(--btn-bg-hover);color:var(--btn-fg)}.ec-nav a{position:relative}.ec-nav a[aria-current=page]:not(.nav-cta){color:var(--ink);background:var(--surface-2)}.ec-nav a[aria-current=page]:not(.nav-cta):after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-20px;left:12px;right:12px}.ec-nav .nav-cta[aria-current=page]{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}@media (max-width:760px){.ec-topbar{flex-direction:column;align-items:stretch;gap:12px;height:auto;min-height:72px;margin-bottom:32px;padding:16px 0 12px}.ec-brand{align-self:flex-start}.ec-nav{scrollbar-width:none;width:100%;min-width:0;padding-bottom:4px;overflow-x:auto}.ec-nav::-webkit-scrollbar{display:none}.ec-nav a,.ec-nav button{flex:none}.ec-nav a[aria-current=page]:not(.nav-cta):after{bottom:-4px}}.ec-subnav{border-bottom:1px solid var(--hairline);align-items:center;gap:4px;margin:4px 0 22px;display:flex;position:relative}.ec-subnav a{height:38px;color:var(--muted);align-items:center;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex;position:relative}.ec-subnav a:hover{color:var(--ink)}.ec-subnav a[aria-current=page]{color:var(--ink);font-weight:600}.ec-subnav-underline{background:var(--accent);pointer-events:none;border-radius:2px 2px 0 0;height:2px;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s;position:absolute;bottom:-1px;left:0}.ec-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;align-items:center;gap:10px;font-size:12px;font-weight:500;display:inline-flex}.ec-eyebrow:before{content:"";background:var(--accent);width:18px;height:1px}.ec-page-head{border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;align-items:end;gap:24px 40px;margin-bottom:32px;padding-bottom:24px;display:grid}.ec-page-head h1{letter-spacing:-.025em;margin:14px 0 10px;font-size:clamp(28px,3.2vw,36px);font-weight:700;line-height:1.18}.ec-page-head p{color:var(--muted);max-width:54ch;margin:0}.ec-page-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:6px;font-size:12px;display:flex}.ec-page-meta strong{color:var(--ink);font-size:13px;font-weight:600;font-family:var(--font-sans);letter-spacing:-.01em;text-transform:none}.ec-page-meta .ec-frame-id{color:var(--dim)}@media (max-width:720px){.ec-page-head{grid-template-columns:1fr}.ec-page-meta{align-items:flex-start}}.ec-toast-stack{z-index:3000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px)}.ec-toast{border:1px solid var(--hairline);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;grid-template-columns:1fr auto;align-items:start;gap:12px;width:min(360px,100vw - 28px);padding:13px 14px;animation:.22s ease-out ec-toast-in;display:grid;box-shadow:0 18px 44px #00000047}.ec-toast.tone-success{border-left-color:var(--success)}.ec-toast.tone-error{border-left-color:var(--danger)}.ec-toast strong{color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.35;display:block}.ec-toast span{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.45;display:block}.ec-toast button{border:1px solid var(--hairline);width:24px;height:24px;color:var(--muted);background:0 0;border-radius:50%;line-height:1}.ec-toast button:hover{color:var(--accent);border-color:var(--accent)}@keyframes ec-toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.ec-default-strip{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);align-items:center;gap:14px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.ec-default-strip>span:first-child{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-default-strip strong{color:var(--accent);font-weight:600;font-family:var(--font-mono);letter-spacing:.04em;font-size:13px}.ec-default-strip em{color:var(--muted);margin-left:auto;font-size:13px;font-style:normal}.ec-studio{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}@media (max-width:980px){.ec-studio{grid-template-columns:1fr}}.ec-step-stack{flex-direction:column;gap:14px;display:flex}.ec-step-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);transition:all .2s;position:relative;overflow:hidden}.ec-step-card.open{border-color:color-mix(in srgb, var(--accent) 36%, var(--hairline));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.ec-step-trigger{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;grid-template-columns:48px 1fr auto auto;align-items:center;gap:16px;padding:16px 18px;transition:all .15s;display:grid}.ec-step-trigger:hover{background:var(--surface-2)}.ec-step-card.open .ec-step-trigger{background:0 0}.ec-step-num{border-radius:var(--radius-sm);background:var(--surface-3);width:32px;height:32px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;place-items:center;font-size:13px;font-weight:600;display:grid}.ec-step-card.open .ec-step-num{background:var(--accent);color:var(--button-fg)}.ec-step-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.ec-step-copy strong{letter-spacing:-.01em;font-size:15px;font-weight:600}.ec-step-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ec-step-status{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hairline);border-radius:var(--radius-pill);white-space:nowrap;padding:5px 10px;font-size:11px}.ec-step-status.ok{color:var(--signal-green);border-color:color-mix(in srgb, var(--signal-green) 38%, transparent);background:color-mix(in srgb, var(--signal-green) 8%, transparent)}.ec-step-status.warn{color:var(--signal-yellow);border-color:color-mix(in srgb, var(--signal-yellow) 38%, transparent);background:color-mix(in srgb, var(--signal-yellow) 8%, transparent)}.ec-step-chevron{width:24px;height:24px;color:var(--dim);place-items:center;font-size:16px;line-height:1;transition:all .2s;display:grid}.ec-step-card.open .ec-step-chevron{color:var(--accent);transform:rotate(90deg)}.ec-step-body{border-top:1px solid var(--hairline);flex-direction:column;gap:18px;padding:8px 18px 22px;display:flex}.ec-field-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.ec-field-row.full{grid-template-columns:1fr}.ec-field{flex-direction:column;gap:6px;display:flex}.ec-field>span{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.ec-field>span:after{content:"";background:var(--hairline-soft);flex:1;height:1px}.ec-field input,.ec-field textarea,.ec-field select{letter-spacing:-.005em;font-size:14px}.ec-field textarea{min-height:108px}.ec-field small{color:var(--dim);margin-top:2px;font-size:12px}.ec-brief-textarea .head{background:color-mix(in srgb, var(--accent) 10%, var(--code-bg));border:1px solid color-mix(in srgb, var(--accent) 32%, var(--hairline));border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--ink);border-bottom:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.ec-brief-textarea .head:after{display:none}.ec-brief-textarea .head strong{letter-spacing:-.005em;color:var(--ink);font-size:13px;font-weight:600}.ec-brief-textarea .head em{font-style:normal;font-family:var(--font-mono);letter-spacing:.16em;color:var(--accent);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:600}.ec-brief-textarea textarea{min-height:220px;font-family:var(--font-mono);color:var(--code-ink);background:var(--code-bg);border:1px solid color-mix(in srgb, var(--accent) 32%, var(--hairline));border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:0;border-bottom-width:2px;margin-top:-6px;padding:14px 16px;font-size:13.5px;line-height:1.7}.ec-brief-textarea textarea:hover:not(:focus):not(:disabled){border-color:color-mix(in srgb, var(--accent) 32%, var(--hairline));border-top:0}.ec-brief-textarea textarea:focus{background:var(--code-bg);border-color:color-mix(in srgb, var(--accent) 55%, var(--hairline));border-top:0;border-bottom-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.ec-brief-actions{background:var(--surface-2);border:1px solid var(--hairline-soft);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;display:flex}.ec-brief-actions button{border:1px solid var(--accent);background:var(--accent);color:var(--button-fg);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.ec-brief-actions span{color:var(--muted);font-size:13px}.ec-manual-override{border:1px dashed var(--hairline);border-radius:var(--radius-sm)}.ec-manual-override summary{cursor:pointer;color:var(--muted);font-size:13px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;padding:10px 14px;list-style:none;display:flex}.ec-manual-override summary::-webkit-details-marker{display:none}.ec-manual-override summary:before{content:"▶";color:var(--accent);font-size:9px;transition:all .2s}.ec-manual-override[open] summary:before{transform:rotate(90deg)}.ec-manual-override .body{flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.ec-dropzone{border:1.5px dashed var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:34px 20px;transition:all .15s;display:flex}.ec-dropzone:hover,.ec-dropzone.dragging{border-color:var(--accent);background:var(--field-focus)}.ec-dropzone .ico{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);place-items:center;display:grid}.ec-dropzone strong{font-size:14px;font-weight:600}.ec-dropzone small{color:var(--muted);font-size:13px}.ec-dropzone input[type=file]{display:none}.ec-asset-head{align-items:center;gap:14px;display:flex}.ec-asset-head strong{font-size:14px;font-weight:600}.ec-asset-head .count{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;margin-left:auto;font-size:13px}.ec-asset-head .count b{color:var(--accent);font-weight:600}.ec-asset-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.ec-asset-tile{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin:0;position:relative;overflow:hidden}.ec-asset-tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ec-asset-tile figcaption{font-family:var(--font-mono);letter-spacing:.14em;color:#fff;background:#00000080;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600;position:absolute;bottom:6px;left:8px}.ec-prompt-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ec-prompt-mode{text-align:left;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;flex-direction:column;gap:4px;padding:14px 16px;transition:all .15s;display:flex}.ec-prompt-mode>span:first-child{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-prompt-mode strong{font-size:13px;font-weight:600}.ec-prompt-mode small{color:var(--muted);font-size:12.5px;line-height:1.5}.ec-prompt-mode:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline))}.ec-prompt-mode.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-2))}.ec-prompt-mode.active>span:first-child{color:var(--accent)}.ec-control-row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.ec-control-group{flex-direction:column;gap:8px;display:flex}.ec-control-group>span{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-choice-row{flex-wrap:wrap;gap:6px;display:flex}.ec-choice{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);min-width:48px;color:var(--ink);cursor:pointer;font-family:var(--font-mono);padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.ec-choice:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline))}.ec-choice.active{background:var(--accent);border-color:var(--accent);color:var(--button-fg)}.ec-control-group small{color:var(--dim);font-size:12px}.ec-intent-bar{border:1px dashed var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;display:flex}.ec-intent-bar>span{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-intent-bar>div{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.ec-intent-bar button{border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:5px 11px;font-family:inherit;font-size:13px;font-weight:500}.ec-intent-bar button:hover{border-color:var(--accent);color:var(--accent)}.ec-advanced{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);margin-top:14px}.ec-advanced>summary{cursor:pointer;color:var(--muted);align-items:center;gap:12px;padding:14px 18px;font-size:13px;list-style:none;display:flex}.ec-advanced>summary::-webkit-details-marker{display:none}.ec-advanced>summary:before{content:"▶";color:var(--accent);font-size:9px;transition:all .2s}.ec-advanced[open]>summary:before{transform:rotate(90deg)}.ec-advanced>summary em{font-style:normal;font-family:var(--font-mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-left:auto;font-size:11px}.ec-advanced .body{border-top:1px solid var(--hairline);flex-direction:column;gap:18px;padding:6px 18px 20px;display:flex}.ec-submit-row{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;padding:18px;display:flex}.ec-submit-row .left{flex-direction:column;gap:2px;display:flex}.ec-submit-row .left strong{font-size:14px;font-weight:600}.ec-submit-row .left small{color:var(--muted);font-size:13px}.ec-submit-btn{background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--btn-bg);align-items:center;gap:8px;margin-left:auto;padding:14px 28px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.ec-submit-btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);transform:translateY(-1px)}.ec-submit-btn.ghost{color:var(--accent);background:0 0}.ec-submit-btn.ghost:hover{background:var(--accent-soft)}.ec-submit-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.ec-submit-btn svg{width:14px;height:14px}.ec-inspector{flex-direction:column;gap:16px;display:flex;position:sticky;top:80px}.ec-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px}.ec-panel-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;font-weight:500;display:flex}.ec-panel-eyebrow .ec-frame-id{color:var(--dim);margin-left:auto}.ec-panel h3{letter-spacing:-.01em;margin:0 0 12px;font-size:16px;font-weight:600}.ec-readiness{border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;display:grid}.ec-readiness .pct{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--accent);font-size:32px;font-weight:600;line-height:1}.ec-readiness .pct sup{opacity:.7;font-size:14px;font-weight:500}.ec-readiness .meta{flex-direction:column;gap:3px;display:flex}.ec-readiness .meta strong{font-size:13px;font-weight:600}.ec-readiness .meta small{color:var(--muted);font-size:12px}.ec-required-checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ec-required-checks li{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.ec-required-checks li:before{content:"";border:1.5px solid var(--hairline);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:all .15s}.ec-required-checks li.done{color:var(--ink)}.ec-required-checks li.done:before{background:var(--accent);border-color:var(--accent);background-image:linear-gradient(135deg,#0000 38%,#0b0d10 38% 46%,#0000 46% 54%,#0b0d10 54% 62%,#0000 62%)}.ec-summary-meta{grid-template-columns:1fr;gap:0;margin:0;display:grid}.ec-summary-meta>div{border-bottom:1px dashed var(--hairline-soft);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.ec-summary-meta>div:last-child{border-bottom:0}.ec-summary-meta dt{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:0;font-size:12.5px;font-weight:500}.ec-summary-meta dd{text-align:right;color:var(--ink);margin:0;font-size:14px;font-weight:500}.ec-callout{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink);padding:14px 16px 14px 18px;font-size:13.5px;line-height:1.55;position:relative}.ec-callout strong{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.ec-pill{letter-spacing:.02em;border-radius:var(--radius-pill);align-items:center;gap:5px;padding:3px 9px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.ec-pill.tool{color:var(--signal-blue);background:color-mix(in srgb, var(--signal-blue) 14%, transparent)}.ec-pill.input{color:var(--signal-green);background:color-mix(in srgb, var(--signal-green) 14%, transparent)}.ec-pill.output{color:var(--signal-purple);background:color-mix(in srgb, var(--signal-purple) 14%, transparent)}.ec-pill.warn{color:var(--signal-yellow);background:color-mix(in srgb, var(--signal-yellow) 14%, transparent)}.ec-status-pill{letter-spacing:.02em;border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 9px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.ec-status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.ec-status-pill.s-pending{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.ec-status-pill.s-preprocessing,.ec-status-pill.s-storyboard,.ec-status-pill.s-image,.ec-status-pill.s-video,.ec-status-pill.s-postprocess{color:var(--accent);background:var(--accent-soft)}.ec-status-pill.s-done{color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent)}.ec-status-pill.s-failed{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.ec-filter-tabs{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);gap:6px;width:fit-content;margin-bottom:24px;padding:6px;display:flex}.ec-filter-tabs button{appearance:none;color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;padding:7px 16px;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .15s}.ec-filter-tabs button:hover{color:var(--ink)}.ec-filter-tabs button.active{background:var(--accent);color:var(--button-fg);font-weight:600}.ec-empty{background:var(--surface);border:1px dashed var(--hairline);border-radius:var(--radius-lg);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:64px 24px;display:flex}.ec-empty strong{color:var(--ink);font-size:15px;font-weight:600}.ec-empty span,.ec-empty p{color:var(--muted);margin:0;font-size:13px}.ec-empty.error{border-color:color-mix(in srgb, var(--danger) 38%, transparent);background:color-mix(in srgb, var(--danger) 6%, var(--surface));color:var(--danger)}.ec-empty a{background:var(--accent);color:var(--button-fg);border-radius:var(--radius-pill);margin-top:6px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none}.ec-empty a:hover{background:var(--accent-2)}
.ec-process-head{border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px;padding-bottom:24px;display:grid}.ec-process-head h1{letter-spacing:-.025em;margin:14px 0 10px;font-size:clamp(24px,2.8vw,32px);font-weight:700;line-height:1.2}.ec-process-head p{color:var(--muted);max-width:54ch;margin:0}.ec-process-eta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.ec-process-eta .pct{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--accent);font-size:44px;font-weight:600;line-height:1}.ec-process-eta .pct sup{opacity:.7;font-size:18px}.ec-process-eta small{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:12px}@media (max-width:720px){.ec-process-head{grid-template-columns:1fr}.ec-process-eta{align-items:flex-start}}.ec-progress-track{background:var(--hairline);border-radius:2px;height:4px;margin-bottom:32px;position:relative;overflow:hidden}.ec-progress-track>i{background:var(--accent);border-radius:2px;height:100%;transition:width .4s;display:block;position:absolute;top:0;left:0}.ec-progress-track.large{height:6px}.ec-progress-track .pulse{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 80%, transparent), transparent);width:60px;height:100%;animation:1.8s ease-in-out infinite ec-pulse-x;position:absolute;top:0}@keyframes ec-pulse-x{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(20px)}}.ec-pipeline{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(5,1fr);gap:0;margin:0 0 36px;padding:0;list-style:none;display:grid;overflow:hidden}.ec-pipeline>li{border-right:1px solid var(--hairline);flex-direction:column;gap:10px;padding:18px 16px;display:flex;position:relative}.ec-pipeline>li:last-child{border-right:0}.ec-pipeline>li:after{content:"→";background:var(--canvas);border:1px solid var(--hairline);width:18px;height:18px;color:var(--dim);font-size:11px;font-family:var(--font-mono);z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.ec-pipeline>li:last-child:after{display:none}.ec-pipeline>li .num{border-radius:var(--radius-xs);background:var(--surface-3);width:24px;height:24px;color:var(--muted);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.ec-pipeline>li strong{font-size:13.5px;font-weight:600}.ec-pipeline>li em{color:var(--muted);font-size:12.5px;font-style:normal}.ec-pipeline>li.done .num{background:var(--success);color:var(--button-fg)}.ec-pipeline>li.done strong{color:var(--ink)}.ec-pipeline>li.active{background:color-mix(in srgb, var(--accent) 5%, transparent)}.ec-pipeline>li.active .num{background:var(--accent);color:var(--button-fg)}.ec-pipeline>li.active:before{content:"";background:var(--accent);transform-origin:0;height:2px;animation:2s ease-in-out infinite ec-fill-x;position:absolute;bottom:0;left:0;right:0}@keyframes ec-fill-x{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}.ec-pipeline>li.active strong:after{content:"●";color:var(--accent);margin-left:6px;font-size:11px;animation:1.4s ease-in-out infinite ec-blink}@keyframes ec-blink{50%{opacity:.3}}@media (max-width:860px){.ec-pipeline{grid-template-columns:1fr 1fr}.ec-pipeline>li:nth-child(2n){border-right:0}.ec-pipeline>li:nth-child(2n):after{display:none}}.ec-render-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.ec-render-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:18px;display:flex}.ec-render-card>header{align-items:center;gap:10px;display:flex}.ec-render-card .vid-id{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;background:var(--accent-soft);border-radius:var(--radius-xs);padding:3px 8px;font-size:11px}.ec-render-card h2{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;overflow:hidden}.ec-render-card .skeleton{aspect-ratio:9/16;background:var(--surface-2);border:1px solid var(--hairline-soft);border-radius:var(--radius-sm);background-image:linear-gradient(110deg, transparent 40%, var(--hairline-soft) 50%, transparent 60%);background-size:200% 100%;max-height:320px;animation:2s linear infinite ec-shimmer}@keyframes ec-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ec-skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 55%, var(--hairline)) 37%, var(--surface-2) 63%);background-size:200% 100%;animation:1.4s ease-in-out infinite ec-shimmer;display:block}.ec-skeleton-list{flex-direction:column;gap:10px;display:flex}@media (prefers-reduced-motion:reduce){.ec-skeleton{animation:none}}.ec-render-card footer{border-top:1px solid var(--hairline);align-items:center;gap:10px;padding-top:10px;display:flex}.ec-render-card footer strong{color:var(--muted);font-size:13px;font-weight:500}.ec-render-card footer em{font-style:normal;font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);margin-left:auto;font-size:12px}.ec-done-head{border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px;padding-bottom:24px;display:grid}.ec-done-head h1{letter-spacing:-.025em;margin:14px 0 10px;font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.18}.ec-done-head p{color:var(--muted);max-width:54ch;margin:0}.ec-done-actions{flex-wrap:wrap;gap:8px;display:flex}.ec-done-actions button,.ec-done-actions a{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.ec-done-actions button:hover,.ec-done-actions a:hover{border-color:var(--accent);color:var(--accent)}.ec-done-actions .primary{background:var(--accent);border-color:var(--accent);color:var(--button-fg);font-weight:600}.ec-done-actions .primary:hover{background:var(--accent-2);color:var(--button-fg)}@media (max-width:720px){.ec-done-head{grid-template-columns:1fr}}.ec-result-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.ec-result-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.ec-result-card:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline));transform:translateY(-2px)}.ec-video-cell{aspect-ratio:9/16;background:linear-gradient(#1a1612 0%,#0e0c0a 100%);place-items:center;max-height:360px;display:grid;position:relative;overflow:hidden}.ec-video-cell video{object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0}.ec-video-cell .corner-id,.ec-video-cell .corner-time,.ec-video-cell .ratio-tag{font-family:var(--font-mono);color:#fff;z-index:2;background:#0000008c;border-radius:3px;padding:3px 7px;font-size:11px;position:absolute}.ec-video-cell .corner-id{letter-spacing:.14em;text-transform:uppercase;top:10px;left:10px}.ec-video-cell .corner-time{letter-spacing:.05em;top:10px;right:10px}.ec-video-cell .ratio-tag{letter-spacing:.05em;bottom:10px;left:10px}.ec-result-meta{flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.ec-result-meta .concept{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.ec-result-meta h3{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.ec-result-meta p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.ec-result-meta .meta-line{border-top:1px solid var(--hairline-soft);font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding-top:10px;font-size:12px;display:flex}.ec-result-meta .meta-line .dot{background:var(--dim);border-radius:50%;width:3px;height:3px}.ec-result-actions{border-top:1px solid var(--hairline);grid-template-columns:1fr 1fr;display:grid}.ec-result-actions a,.ec-result-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:11px 12px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.ec-result-actions a+a,.ec-result-actions a+button,.ec-result-actions button+a,.ec-result-actions button+button{border-left:1px solid var(--hairline)}.ec-result-actions a:hover,.ec-result-actions button:hover{color:var(--accent);background:var(--surface-2)}.ec-result-actions svg{width:13px;height:13px}
.ec-metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:32px;display:grid}.ec-metric-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:20px 22px;transition:all .15s;display:flex;position:relative;overflow:hidden}.ec-metric-card:before{content:"";background:var(--hairline);width:3px;height:100%;position:absolute;top:0;left:0}.ec-metric-card .label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:12.5px;font-weight:500}.ec-metric-card .value{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink);font-size:40px;font-style:normal;font-weight:600;line-height:1}.ec-metric-card .detail{color:var(--muted);margin-top:4px;font-size:13.5px;font-style:normal;line-height:1.45}.ec-metric-card.tone-active:before{background:var(--accent)}.ec-metric-card.tone-active .value{color:var(--accent)}.ec-metric-card.tone-ready:before{background:var(--success)}.ec-metric-card.tone-ready .value{color:var(--success)}.ec-metric-card.tone-danger:before{background:var(--danger)}.ec-metric-card.tone-danger .value{color:var(--danger)}.ec-console-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:980px){.ec-console-grid{grid-template-columns:1fr}}.ec-console-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;padding:0;display:flex;overflow:hidden}.ec-console-card .card-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:end;gap:12px;padding:16px 18px 14px;display:flex}.ec-console-card .card-head>div{flex-direction:column;gap:2px;display:flex}.ec-console-card .card-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-console-card h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.ec-console-card .card-body{flex-direction:column;gap:10px;padding:14px 18px 18px;display:flex}.ec-console-card .card-body.dense{padding:0}.ec-job-row{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);grid-template-columns:1fr auto;gap:8px 14px;padding:14px 16px;transition:all .15s;display:grid}.ec-job-row:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline))}.ec-job-row .main{flex-direction:column;gap:3px;min-width:0;display:flex}.ec-job-row .vid-id{font-family:var(--font-mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;font-size:11px}.ec-job-row h3{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;overflow:hidden}.ec-job-row .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ec-job-row .meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ec-job-row .meta em{font-style:normal;font-family:var(--font-mono);color:var(--muted);font-size:12px}.ec-job-row .bar{background:var(--hairline);border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.ec-job-row .bar>i{background:var(--accent);border-radius:2px;height:100%;transition:width .4s;display:block}.ec-job-row .actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.ec-job-row .actions a{color:var(--accent);font-size:13px;font-weight:500;text-decoration:none}.ec-job-row .actions a:hover{text-decoration:underline}.ec-job-row .err{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:var(--radius-sm);border-left:2px solid var(--danger);grid-column:1/-1;margin:0;padding:8px 10px;font-size:13px}.ec-compact-row{border-bottom:1px solid var(--hairline-soft);grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:grid}.ec-compact-row:last-child{border-bottom:0}.ec-compact-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ec-compact-row em{font-style:normal;font-family:var(--font-mono);color:var(--muted);font-size:12px}.ec-compact-row .actions{align-items:center;gap:6px;display:flex}.ec-compact-row .actions a{color:var(--accent);font-size:13px;text-decoration:none}.ec-compact-row .actions a:hover{text-decoration:underline}.ec-compact-row .actions button{appearance:none;border:1px solid var(--hairline);color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:4px 9px;font-size:12px}.ec-compact-row .actions button:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 38%, transparent)}.ec-next-list{flex-direction:column;gap:8px;display:flex}.ec-next-list a{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--ink);flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;transition:all .15s;display:flex}.ec-next-list a:hover{border-color:var(--accent)}.ec-next-list a strong{font-size:13.5px;font-weight:600}.ec-next-list a span{color:var(--muted);font-size:13px}.ec-next-list a.primary{background:color-mix(in srgb, var(--accent) 8%, var(--canvas-soft));border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline))}.ec-next-list a.primary strong{color:var(--accent)}.ec-next-list a.danger{background:color-mix(in srgb, var(--danger) 6%, var(--canvas-soft));border-color:color-mix(in srgb, var(--danger) 30%, var(--hairline))}.ec-next-list a.danger strong{color:var(--danger)}.ec-next-list a.active strong{color:var(--accent)}.ec-next-list a.ready strong{color:var(--success)}.ec-review-list{flex-direction:column;display:flex}.ec-review-list a{border-bottom:1px solid var(--hairline-soft);color:var(--ink);flex-direction:column;gap:2px;padding:12px 16px;text-decoration:none;transition:all .15s;display:flex}.ec-review-list a:last-child{border-bottom:0}.ec-review-list a:hover{background:var(--surface-2)}.ec-review-list a strong{font-size:13.5px;font-weight:600}.ec-review-list a span{color:var(--muted);font-size:13px}
.ec-archive-list{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ec-archive-row{border-bottom:1px solid var(--hairline);grid-template-columns:14px minmax(0,1.6fr) minmax(0,1.3fr) minmax(180px,auto) auto minmax(118px,auto) auto;align-items:center;gap:16px;padding:14px 18px;transition:all .15s;display:grid;position:relative}.ec-archive-row:last-child{border-bottom:0}.ec-archive-row:hover{background:var(--surface-2)}.ec-archive-row .dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:10px;height:10px}.ec-archive-row .dot.s-pending{background:var(--muted)}.ec-archive-row .dot.s-preprocessing,.ec-archive-row .dot.s-storyboard,.ec-archive-row .dot.s-image,.ec-archive-row .dot.s-video,.ec-archive-row .dot.s-postprocess{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:1.6s ease-in-out infinite ec-blink}.ec-archive-row .dot.s-done{background:var(--success)}.ec-archive-row .dot.s-failed{background:var(--danger)}.ec-archive-row .main{flex-direction:column;gap:3px;min-width:0;display:flex}.ec-archive-row .main strong{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ec-archive-row .main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ec-archive-row .main .uploads{align-items:center;gap:4px;margin-top:4px;display:flex}.ec-archive-row .main .uploads img{object-fit:cover;border:1px solid var(--hairline);background:#000;border-radius:4px;width:28px;height:28px}.ec-archive-row .main .uploads .more{font-family:var(--font-mono);color:var(--muted);padding:0 4px;font-size:11px}.ec-archive-row .progress{flex-direction:column;gap:6px;min-width:0;display:flex}.ec-archive-row .progress .bar{background:var(--hairline);border-radius:2px;height:3px;overflow:hidden}.ec-archive-row .progress .bar>i{background:var(--accent);border-radius:2px;height:100%;transition:width .4s;display:block}.ec-archive-row .progress .label{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.04em}.ec-archive-row .thumbs{align-items:center;gap:6px;display:flex}.ec-archive-row .thumbs .empty{font-family:var(--font-mono);color:var(--dim);padding:0 8px;font-size:12px}.ec-archive-row .thumbs a{border-radius:var(--radius-xs);background:var(--canvas);border:1px solid var(--hairline);width:38px;height:64px;transition:all .15s;display:block;position:relative;overflow:hidden}.ec-archive-row .thumbs a:hover{border-color:var(--accent);transform:translateY(-1px)}.ec-archive-row .thumbs video{object-fit:cover;background:#000;width:100%;height:100%}.ec-archive-row .date{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;font-size:12.5px}.ec-archive-row .retry-actions{flex-direction:column;gap:5px;display:flex}.ec-archive-row .retry-actions button{appearance:none;border:1px solid var(--hairline);background:var(--surface-2);color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:650;transition:all .15s}.ec-archive-row .retry-actions button:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.ec-archive-row .retry-actions button:disabled{opacity:.45;cursor:not-allowed}.ec-archive-row .del{appearance:none;border:1px solid var(--hairline);color:var(--dim);cursor:pointer;background:0 0;border-radius:50%;width:26px;height:26px;font-size:14px;line-height:1;transition:all .15s}.ec-archive-row .del:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 6%, transparent)}.ec-archive-row .del:disabled{opacity:.4;cursor:not-allowed}.ec-archive-row .err{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:var(--radius-sm);border-left:2px solid var(--danger);grid-column:2/-1;margin:0;padding:6px 10px;font-size:13px}@media (max-width:880px){.ec-archive-row{grid-template-columns:14px 1fr auto auto}.ec-archive-row .progress,.ec-archive-row .thumbs,.ec-archive-row .retry-actions{grid-column:2/-1}.ec-archive-row .retry-actions{flex-flow:wrap}}.ec-job-detail-head{align-items:center;margin-bottom:18px;padding-bottom:16px}.ec-job-detail-head h1{margin:8px 0 4px;font-size:clamp(24px,2.6vw,32px)}.ec-job-detail-head p{max-width:68ch;font-size:14px}.ec-job-detail-grid{grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);align-items:start;gap:12px;display:grid}@media (max-width:960px){.ec-job-detail-grid{grid-template-columns:1fr}}.ec-job-detail-grid .ec-workflow-panel{grid-area:1/2/span 2}.ec-job-status-card,.ec-job-inputs-card{grid-column:1}@media (max-width:960px){.ec-job-detail-grid .ec-workflow-panel,.ec-job-status-card,.ec-job-inputs-card{grid-area:auto}}.ec-job-detail-card .card-head{align-items:center;padding:12px 14px 10px}.ec-job-detail-card .card-body{gap:10px;padding:12px 14px 14px}.ec-job-detail-meta{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);grid-template-columns:max-content 1fr;gap:6px 12px;padding:10px 12px;display:grid}.ec-job-detail-meta span{color:var(--muted);font-size:13px}.ec-job-detail-meta strong{color:var(--ink);font-size:13.5px;font-weight:600}.ec-job-detail-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.ec-job-detail-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;word-break:break-word;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.5}.ec-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.ec-detail-actions button{appearance:none;border:1px solid var(--hairline);background:var(--surface-2);color:var(--text);border-radius:var(--radius-pill);cursor:pointer;padding:8px 12px;font-size:13px;font-weight:650;transition:all .15s}.ec-detail-actions button:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.ec-detail-actions button:disabled{opacity:.45;cursor:not-allowed}.ec-empty.compact{min-height:0;padding:24px 12px}.ec-job-output-list{flex-direction:column;gap:10px;display:flex}.ec-job-output-card{color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);grid-template-columns:64px 1fr;align-items:center;gap:12px;padding:10px;text-decoration:none;transition:all .15s;display:grid}.ec-job-output-card:hover{border-color:var(--accent);background:var(--surface-2)}.ec-job-output-card video{object-fit:cover;border-radius:var(--radius-xs);background:#000;width:64px;height:96px}.ec-job-output-card span{flex-direction:column;gap:6px;min-width:0;display:flex}.ec-job-output-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ec-job-output-card em{color:var(--accent);font-size:13px;font-style:normal;font-weight:600}.ec-job-output-actions{flex-wrap:wrap;grid-column:2/-1;gap:8px;margin-top:4px;display:flex}.ec-job-output-actions a{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--ink);background:#fff;padding:6px 12px;font-size:12px;text-decoration:none;transition:all .15s}.ec-job-output-actions a:hover{border-color:var(--accent);color:var(--accent)}.ec-workflow-panel{grid-column:1/-1}.ec-workflow-list{flex-direction:column;gap:10px;display:flex}.ec-workflow-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);grid-template-columns:118px 1fr;gap:12px;padding:10px;display:grid}@media (max-width:720px){.ec-workflow-card{grid-template-columns:1fr}}.ec-workflow-preview{border:1px solid var(--hairline);border-radius:var(--radius-md);background:#000;min-height:178px;position:relative;overflow:hidden}.ec-workflow-preview>span{z-index:1;border-radius:var(--radius-pill);color:#fff;font-family:var(--font-mono);letter-spacing:.08em;background:#00000094;padding:3px 7px;font-size:10px;position:absolute;top:8px;left:8px}.ec-workflow-preview video{object-fit:cover;aspect-ratio:9/16;width:100%;height:100%;display:block}.ec-workflow-preview .empty{height:100%;min-height:178px;color:var(--muted);background:var(--surface-2);place-items:center;display:grid}.ec-workflow-content{flex-direction:column;gap:10px;min-width:0;display:flex}.ec-workflow-title{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;display:flex}.ec-workflow-title div{flex-direction:column;gap:4px;min-width:0;display:flex}.ec-workflow-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;overflow:hidden}.ec-workflow-title span{color:var(--muted);font-size:12.5px}.ec-workflow-title em{border-radius:var(--radius-pill);font-style:normal;font-family:var(--font-mono);color:var(--button-fg);background:var(--danger);flex:none;padding:5px 9px;font-size:11px}.ec-workflow-title em.pass{background:var(--success)}.ec-workflow-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ec-workflow-steps li{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}@media (max-width:720px){.ec-workflow-steps li{grid-template-columns:30px 1fr}.ec-workflow-steps li a{grid-column:2/-1;justify-self:start}}.ec-workflow-steps li>i{background:var(--surface-2);border:1px solid var(--hairline);width:26px;height:26px;color:var(--muted);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:700;display:inline-grid}.ec-workflow-steps li.active>i,.ec-workflow-steps li.done>i{background:var(--accent);border-color:var(--accent);color:var(--button-fg)}.ec-workflow-steps li.done>i{background:var(--success);border-color:var(--success)}.ec-workflow-steps li div{flex-direction:column;gap:2px;min-width:0;display:flex}.ec-workflow-steps li strong{font-size:13px;font-weight:700}.ec-workflow-steps li span{color:var(--muted);font-size:12px;line-height:1.45}.ec-workflow-steps li a{white-space:nowrap;border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--ink);background:var(--canvas-soft);justify-self:end;padding:6px 10px;font-size:12px;font-weight:700;transition:all .15s}.ec-workflow-steps li a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.ec-input-section{border-top:1px dashed var(--hairline);flex-direction:column;gap:8px;padding:10px 0;display:flex}.ec-input-section:first-child{border-top:none;padding-top:0}.ec-input-video-list{flex-direction:column;display:flex}.ec-input-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ec-input-section-head strong{color:var(--ink);font-size:13px;font-weight:600}.ec-input-section-head span{color:var(--ink-muted,#777);font-size:12px}.ec-image-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px;display:grid}.ec-image-tile{aspect-ratio:3/4;border-radius:var(--radius-xs);border:1px solid var(--hairline);background:#000;transition:all .15s;display:block;position:relative;overflow:hidden}.ec-image-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.ec-image-tile img{object-fit:cover;width:100%;height:100%;display:block}.ec-image-tile em{color:#fff;letter-spacing:.02em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:999px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:600;position:absolute;bottom:6px;left:6px}.ec-contact-sheet-link{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--canvas-soft);color:var(--ink);grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:8px;text-decoration:none;transition:all .15s;display:grid}.ec-contact-sheet-link:hover{border-color:var(--accent);background:var(--surface-2)}.ec-contact-sheet-link img{object-fit:cover;border-radius:var(--radius-xs);background:#000;width:44px;height:66px}.ec-contact-sheet-link span{flex-direction:column;gap:4px;display:flex}.ec-contact-sheet-link strong{font-size:13px;font-weight:600}.ec-contact-sheet-link em{color:var(--accent);font-size:12px;font-style:normal;font-weight:600}.ec-input-images-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;grid-column:1/-1;gap:4px;padding:16px 18px;display:flex}.ec-input-images-card>.head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding-bottom:10px;display:flex}.ec-input-images-card>.head strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px}.ec-input-images-card>.head span{color:var(--ink-muted,#777);font-size:12px}
.ec-auth-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid;position:relative}.ec-auth-shell:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(to right, var(--hairline-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--hairline-soft) 1px, transparent 1px);opacity:.55;background-size:80px 80px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 78%);mask-image:radial-gradient(#000 30%,#0000 78%)}.ec-auth-shell>*{z-index:1;position:relative}.ec-auth-topbar{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(18px,4vw,40px);display:flex}.ec-auth-layout{max-width:var(--max);grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;margin:0 auto;padding:80px clamp(18px,4vw,40px);display:grid}@media (max-width:900px){.ec-auth-layout{grid-template-columns:1fr;gap:40px;padding:40px clamp(18px,4vw,24px)}}.ec-auth-copy h1{letter-spacing:-.025em;margin:14px 0 12px;font-size:clamp(32px,4vw,44px);font-weight:700;line-height:1.16}.ec-auth-copy p{color:var(--muted);max-width:40ch;margin:0;font-size:14px}.ec-auth-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:0 1px 0 var(--hairline-soft);flex-direction:column;gap:16px;padding:28px;display:flex}.ec-auth-card .head{border-bottom:1px solid var(--hairline);flex-direction:column;gap:4px;padding-bottom:14px;display:flex}.ec-auth-card .head span{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-auth-card .head h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.ec-auth-card .err{color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0;padding:10px 12px;font-size:13.5px}.ec-auth-card .note{color:var(--dim);text-align:center;margin:0;font-size:12.5px}
.ec-subtitle-workspace{grid-template-columns:minmax(0,2fr) minmax(0,.85fr);align-items:start;gap:20px;display:grid}@media (max-width:1080px){.ec-subtitle-workspace{grid-template-columns:1fr}}.ec-subtitle-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:720px){.ec-subtitle-preview{grid-template-columns:1fr}}.ec-subtitle-preview-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ec-subtitle-preview-card .head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.ec-subtitle-preview-card .head strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px}.ec-subtitle-preview-card .head a{color:var(--muted);border-radius:var(--radius-pill);border:1px solid var(--hairline);padding:4px 10px;font-size:13px;text-decoration:none;transition:all .15s}.ec-subtitle-preview-card .head a:hover{color:var(--accent);border-color:var(--accent)}.ec-subtitle-preview-card video{aspect-ratio:9/16;object-fit:contain;background:#000;width:100%;display:block}.ec-subtitle-preview-card .frame-tools{border-top:1px solid var(--hairline);background:var(--surface-2);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.ec-subtitle-preview-card .frame-tools button{border:1px solid var(--hairline);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);font:inherit;cursor:pointer;padding:5px 10px;font-size:12px}.ec-subtitle-preview-card .frame-tools span{color:var(--muted);font-size:12px}.ec-subtitle-preview-card .empty{text-align:center;color:var(--muted);background:var(--canvas-soft);padding:40px 20px;font-size:13.5px}.ec-critique-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;grid-column:1/-1;gap:14px;padding:16px 18px;display:flex}.ec-critique-panel .head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ec-critique-panel .head strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px}.ec-critique-scores{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.ec-critique-scores .ec-metric-card{gap:6px;padding:12px 14px}.ec-critique-scores .ec-metric-card .value{font-size:28px}.ec-critique-issues{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ec-critique-issues li{border-radius:var(--radius-sm);border:1px solid var(--hairline);border-left:3px solid var(--muted);background:var(--canvas-soft);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.ec-critique-issues li.sev-medium{border-left-color:var(--accent)}.ec-critique-issues li.sev-high{border-left-color:var(--danger)}.ec-critique-issues li .tag{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.ec-critique-issues li.sev-medium .tag{color:var(--accent)}.ec-critique-issues li.sev-high .tag{color:var(--danger)}.ec-critique-issues li .detail{color:var(--ink);font-size:13.5px;line-height:1.5}.ec-critique-empty{color:var(--muted);margin:0;font-size:13px}.ec-critique-summary{color:var(--ink);border-top:1px solid var(--hairline);margin:0;padding-top:12px;font-size:13.5px;line-height:1.55}.ec-critique-actions{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;padding-top:12px;display:flex}.ec-regen-btn{border-radius:var(--radius-sm);background:var(--accent);color:var(--button-fg);cursor:pointer;border:none;align-self:flex-start;padding:9px 18px;font-size:13px;font-weight:600;transition:opacity .15s}.ec-regen-btn:hover:not(:disabled){opacity:.85}.ec-regen-btn:disabled{opacity:.5;cursor:not-allowed}.ec-critique-actions .hint{color:var(--muted);font-size:12px;line-height:1.5}.ec-version-rail{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;grid-column:1/-1;gap:10px;padding:14px 16px;display:flex}.ec-version-rail .head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ec-version-rail .head strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px}.ec-version-rail .head span{color:var(--muted);font-size:12px}.ec-version-rail .track{flex-wrap:wrap;gap:8px;display:flex}.ec-version-chip{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;transition:border-color .15s,background .15s;display:inline-flex}.ec-version-chip:hover{border-color:var(--accent)}.ec-version-chip.active{border-color:var(--accent);background:var(--surface)}.ec-version-chip .ver{font-family:var(--font-mono);color:var(--ink);font-size:13px;font-weight:700}.ec-version-chip .src{color:var(--muted);font-size:12px}.ec-version-chip .score{border-radius:var(--radius-xs);min-width:26px;height:18px;font-family:var(--font-mono);color:var(--button-fg);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.ec-version-chip .score.pass{background:var(--success)}.ec-version-chip .score.fail{background:var(--danger)}.ec-regen-progress{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-lg);flex-direction:column;grid-column:1/-1;gap:8px;padding:14px 16px;display:flex}.ec-regen-progress .head{justify-content:space-between;align-items:center;display:flex}.ec-regen-progress .head strong{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px}.ec-regen-progress .head span{font-family:var(--font-mono);color:var(--ink);font-size:13px;font-weight:700}.ec-regen-progress .bar{background:var(--canvas-soft);border-radius:3px;height:6px;overflow:hidden}.ec-regen-progress .bar .fill{background:var(--accent);border-radius:3px;height:100%;transition:width .4s}.ec-regen-progress .stage{color:var(--muted);font-size:12px}.ec-critique-badge{border-radius:var(--radius-xs);min-width:18px;height:16px;font-family:var(--font-mono);color:var(--button-fg);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:3px}.ec-critique-badge.pass{background:var(--success)}.ec-critique-badge.fail{background:var(--danger)}.ec-critique-badge.hallucination{top:22px}.ec-subtitle-candidate{border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent) 6%, var(--surface));grid-column:1/-1;gap:12px;padding:12px;display:grid}.ec-subtitle-candidate .actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ec-subtitle-candidate .actions p{color:var(--muted);margin:0;font-size:13px}.ec-subtitle-candidate .actions button{border:1px solid var(--hairline);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);font:inherit;cursor:pointer;padding:7px 13px}.ec-subtitle-candidate .actions button:first-of-type{background:var(--accent);color:var(--button-fg);border-color:var(--accent)}.ec-subtitle-candidate .warnings{color:var(--danger);margin:0;padding-left:18px;font-size:12px}.ec-subtitle-candidate details{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);padding:10px 12px}.ec-subtitle-candidate summary{cursor:pointer;color:var(--muted);font-size:12px}.ec-subtitle-candidate details ol{gap:6px;margin:8px 0 0;padding-left:18px;display:grid}.ec-subtitle-candidate details li{gap:4px;font-size:12px;display:grid}.ec-subtitle-candidate details span{color:var(--muted);text-decoration:line-through}.ec-subtitle-candidate details strong{color:var(--ink);font-weight:600}.ec-subtitle-chat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:18px;display:flex;position:sticky;top:80px}.ec-subtitle-chat .head{border-bottom:1px solid var(--hairline);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.ec-subtitle-chat .head span{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;font-size:11px}.ec-subtitle-chat .head h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.ec-subtitle-chat .head p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.ec-subtitle-inspector,.ec-subtitle-reference{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px;display:flex}.ec-subtitle-inspector>strong,.ec-subtitle-reference label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:11px}.ec-subtitle-inspector ol{flex-direction:column;gap:5px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.ec-subtitle-inspector li button{text-align:left;width:100%;color:var(--ink);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:82px 1fr;align-items:start;gap:8px;padding:7px;display:grid}.ec-subtitle-inspector li.selected button,.ec-subtitle-inspector li button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ec-subtitle-inspector li span{font-family:var(--font-mono);color:var(--muted);font-size:11px}.ec-subtitle-inspector p,.ec-subtitle-reference span{color:var(--muted);margin:0;font-size:12px}.ec-subtitle-inspector .mini-actions{flex-wrap:wrap;gap:6px;display:flex}.ec-subtitle-inspector .mini-actions button{border:1px solid var(--hairline);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);font:inherit;cursor:pointer;padding:5px 9px;font-size:12px}.ec-subtitle-reference button{border:1px solid var(--hairline);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);font:inherit;cursor:pointer;align-self:flex-start;padding:5px 10px;font-size:12px}.ec-subtitle-reference input[type=file],.ec-subtitle-reference input[type=number]{width:100%;margin-top:6px;font-size:12px}.ec-subtitle-chat .quick{flex-wrap:wrap;gap:6px;display:flex}.ec-subtitle-chat .quick button{border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:5px 11px;font-family:inherit;font-size:13px;font-weight:500}.ec-subtitle-chat .quick button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ec-subtitle-chat .quick button:disabled{opacity:.4;cursor:not-allowed}.ec-subtitle-chat .history{flex-direction:column;gap:6px;max-height:280px;padding:4px 0;display:flex;overflow-y:auto}.ec-chat-bubble{border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;max-width:90%;margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.ec-chat-bubble.user{background:var(--accent-soft);color:var(--ink);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-bottom-right-radius:var(--radius-xs);align-self:flex-end}.ec-chat-bubble.assistant{background:var(--surface-2);color:var(--ink);border:1px solid var(--hairline);border-bottom-left-radius:var(--radius-xs);align-self:flex-start}.ec-chat-empty{text-align:center;color:var(--muted);margin:0;padding:20px 12px;font-size:13.5px}.ec-subtitle-chat .form{flex-direction:column;gap:8px;display:flex}.ec-subtitle-chat .form textarea{min-height:88px;font-size:13px}.ec-subtitle-chat .form button{background:var(--accent);color:var(--button-fg);border-radius:var(--radius-pill);cursor:pointer;border:0;align-self:flex-end;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600}.ec-subtitle-chat .form button:disabled{opacity:.4;cursor:not-allowed}.ec-subtitle-result{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding-top:12px;display:flex}.ec-subtitle-result>strong{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:12px}.ec-subtitle-result ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ec-subtitle-result li{border-bottom:1px dashed var(--hairline-soft);grid-template-columns:90px 1fr;gap:10px;padding:6px 0;font-size:13px;display:grid}.ec-subtitle-result li:last-child{border-bottom:0}.ec-subtitle-result li span{font-family:var(--font-mono);color:var(--muted);font-size:12px}
.route-fade{will-change:opacity, transform, filter;transform-origin:top;animation:.5s cubic-bezier(.16,1,.3,1) both route-fade-in}@keyframes route-fade-in{0%{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.992)}60%{filter:blur()}to{opacity:1;filter:blur();transform:none}}.ec-stagger>*{opacity:0;animation:.55s cubic-bezier(.2,.7,.2,1) forwards ec-rise;transform:translateY(6px)}.ec-stagger>:first-child{animation-delay:40ms}.ec-stagger>:nth-child(2){animation-delay:.1s}.ec-stagger>:nth-child(3){animation-delay:.16s}.ec-stagger>:nth-child(4){animation-delay:.22s}.ec-stagger>:nth-child(5){animation-delay:.28s}.ec-stagger>:nth-child(6){animation-delay:.34s}@keyframes ec-rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.route-fade{animation:none}.ec-stagger>*{opacity:1;animation:none;transform:none}.ec-pipeline>li.active:before,.ec-pipeline>li.active strong:after,.ec-progress-track .pulse,.ec-render-card .skeleton,.ec-archive-row .dot{animation:none}}
.ec-trim-workspace{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:1080px){.ec-trim-workspace{grid-template-columns:1fr}}.ec-trim-main{flex-direction:column;gap:16px;display:flex}.ec-trim-video-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 18px 44px #0000002e}.ec-trim-video-card video{object-fit:contain;background:#000;width:100%;max-height:60vh;display:block}.ec-trim-timeline{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px 12px;display:flex}.ec-trim-timeline .labels{font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.ec-trim-timeline .labels span:first-child,.ec-trim-timeline .labels span:last-child{color:var(--accent)}.ec-trim-timeline .ec-trim-range{color:var(--ink);font-weight:600}.ec-trim-timeline .track{background:var(--canvas-soft);border:1px solid var(--hairline-soft);cursor:crosshair;touch-action:none;border-radius:10px;height:56px;position:relative;overflow:hidden}.ec-trim-timeline .selection{background:color-mix(in srgb, var(--accent) 28%, transparent);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);position:absolute;top:0;bottom:0}.ec-trim-timeline .handle{background:var(--accent);cursor:ew-resize;touch-action:none;border-radius:4px;width:14px;margin-left:-7px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 2px 6px #00000026}.ec-trim-timeline .handle:after{content:"";border-left:2px solid #ffffffb3;border-right:2px solid #ffffffb3;position:absolute;inset:16px 5px}.ec-trim-timeline .scale{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;justify-content:space-between;font-size:11px;display:flex}.ec-trim-controls{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.ec-trim-mode-tabs{flex-wrap:wrap;gap:8px;display:flex}.ec-trim-mode-tabs button{border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--canvas-soft);color:var(--muted);padding:8px 13px;font-size:13px;font-weight:700;transition:all .15s}.ec-trim-mode-tabs button:hover{border-color:var(--accent);color:var(--accent)}.ec-trim-mode-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.ec-trim-fields{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.ec-trim-num{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.ec-trim-num input{border:1px solid var(--hairline);border-bottom:2px solid color-mix(in srgb, var(--accent) 42%, var(--hairline));border-radius:var(--radius-sm);width:110px;font-family:var(--font-mono);background:var(--field-bg);color:var(--ink);padding:8px 10px;font-size:14px}.ec-trim-length{color:var(--muted);flex-direction:column;gap:4px;margin-left:auto;font-size:12px;display:flex}.ec-trim-length strong{font-family:var(--font-mono);color:var(--ink);font-size:18px}.ec-trim-actions{flex-wrap:wrap;gap:10px;display:flex}.ec-trim-results{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ec-trim-results header{flex-direction:column;gap:2px;display:flex}.ec-trim-results header strong{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:13px;font-family:var(--font-mono)}.ec-trim-results header span{color:var(--muted);font-size:12px}.ec-trim-results ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ec-trim-result{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas-soft);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.ec-trim-result:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--hairline));transform:translateY(-1px)}.ec-trim-result.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent)}.ec-trim-result video{aspect-ratio:9/16;object-fit:contain;background:#000;width:100%}.ec-trim-result .meta{color:var(--muted);flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex}.ec-trim-result .meta strong{font-family:var(--font-mono);color:var(--ink);font-size:13px}.ec-trim-result .meta .src{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.ec-trim-result .actions{flex-wrap:wrap;gap:6px;padding:8px 10px 10px;display:flex}.ec-trim-result .actions button,.ec-trim-result .actions a{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-align:center;cursor:pointer;flex:1;padding:6px 8px;font-size:12px;text-decoration:none;transition:all .15s}.ec-trim-result .actions button:hover,.ec-trim-result .actions a:hover{border-color:var(--accent);color:var(--accent)}.ec-trim-side{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:18px;display:flex;position:sticky;top:80px}.ec-trim-side .head{border-bottom:1px solid var(--hairline);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.ec-trim-side .head span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px}.ec-trim-side .head h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.ec-trim-side .head p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.ec-apply-targets{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ec-apply-targets li label{border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;background:var(--canvas-soft);align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.ec-apply-targets li label:hover{border-color:var(--accent)}.ec-apply-targets li label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-glow)}.ec-apply-targets li label input{accent-color:var(--accent)}.ec-apply-targets li label span{flex-direction:column;display:flex}.ec-apply-targets li label strong{font-size:13px;font-family:var(--font-mono)}.ec-apply-targets li label em{color:var(--muted);font-size:11px;font-style:normal}.ec-trim-side .ec-submit-btn{justify-content:center;width:100%}.ec-trim-secondary-link{border:1px solid var(--hairline);border-radius:var(--radius-pill);width:100%;color:var(--muted);justify-content:center;padding:9px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.ec-trim-secondary-link:hover{border-color:var(--accent);color:var(--accent)}.ec-trim-side .hint{border-top:1px solid var(--hairline);color:var(--muted);margin:0;padding-top:12px;font-size:12px;line-height:1.5}.ec-admin-toolbar{grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:14px;margin-bottom:18px;display:grid}.ec-admin-search{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:text;align-items:center;gap:12px;height:44px;padding:0 16px;transition:border-color .15s,box-shadow .15s;display:flex}.ec-admin-search:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--hairline))}.ec-admin-search:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--hairline));box-shadow:0 0 0 3px var(--accent-soft)}.ec-admin-search svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}.ec-admin-search input{min-width:0;height:100%;font:inherit;color:var(--text);letter-spacing:-.005em;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px}.ec-admin-search input::placeholder{color:var(--dim)}.ec-admin-search input::-webkit-search-cancel-button{appearance:none}.ec-admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:22px;display:grid}.ec-admin-stat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:14px 18px;display:flex}.ec-admin-stat .label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.ec-admin-stat .value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.ec-admin-stat .hint{color:var(--muted);font-size:12px}.ec-admin-users{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ec-admin-user-row{border-bottom:1px solid var(--hairline);grid-template-columns:24px minmax(0,1fr) 260px 150px 72px 118px 300px;align-items:center;gap:16px;padding:14px 18px;transition:all .15s;display:grid}.ec-admin-user-row input[type=checkbox]{appearance:none;cursor:pointer;background:var(--surface);border:1.5px solid var(--hairline);border-radius:4px;width:16px;height:16px;margin:0;transition:all .12s;position:relative}.ec-admin-user-row input[type=checkbox]:hover{border-color:var(--accent)}.ec-admin-user-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.ec-admin-user-row input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4.5px;transform:rotate(45deg)}.ec-admin-user-row.head{background:var(--surface-2);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:11px;padding-bottom:11px;font-size:11.5px;font-weight:650}.ec-admin-user-row.head:hover{background:var(--surface-2)}.ec-admin-user-row .access{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.ec-admin-user-row .access .muted{color:var(--muted);font-size:12px}.ec-admin-user-row.is-deleted{opacity:.62}.ec-admin-user-row.is-deleted .identity strong{text-decoration:line-through}.ec-admin-user-row .ec-admin-charge{align-items:center;gap:6px;min-width:0;display:inline-flex}.ec-admin-bulkbar{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.ec-admin-bulkbar .count{color:var(--ink);font-size:13px;font-weight:650}.ec-admin-bulkbar .lead{color:var(--muted);font-size:12.5px}.ec-admin-bulkbar .sep{background:var(--hairline);width:1px;height:18px}.ec-admin-bulkbar .spacer{flex:1}.err-detail{margin-top:6px;font-size:12px}.err-detail>summary{cursor:pointer;color:var(--muted);letter-spacing:.02em;font-weight:600}.err-detail>pre{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md,8px);max-height:240px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--ink);margin:6px 0 0;padding:10px 12px;font-size:11.5px;line-height:1.5;overflow:auto}.ec-admin-user-row:last-child{border-bottom:0}.ec-admin-user-row:hover{background:var(--surface-2)}.ec-admin-user-row .dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:10px;height:10px}.ec-admin-user-row .dot.role-admin{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ec-admin-user-row .dot.role-member{background:var(--success)}.ec-admin-user-row .identity{flex-direction:column;gap:3px;min-width:0;display:flex}.ec-admin-user-row.is-clickable{cursor:pointer}.ec-admin-user-row.is-clickable:hover .identity strong{color:var(--accent)}.ec-temp-pw{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md,8px);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ec-temp-pw .label{color:var(--muted);font-size:12px}.ec-temp-pw .row{align-items:center;gap:8px;display:flex}.ec-modal-field{flex-direction:column;gap:6px;display:flex}.ec-modal-field .muted{color:var(--muted);font-size:13px}.ec-login-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ec-login-summary span,.ec-login-event{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md,8px);color:var(--muted);flex-direction:column;gap:4px;padding:9px 10px;font-size:12.5px;display:flex}.ec-login-summary b{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.ec-login-events{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow:auto}.ec-login-event__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ec-login-event time,.ec-login-event>span{font-family:var(--font-mono);font-size:12px}.ec-login-event small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.ec-modal-field .label{color:var(--muted);font-size:12px}.ec-modal-field .row{align-items:center;gap:8px;display:flex}.ec-modal-field .row .ui-field{flex:1}.ec-confirm-row{background:color-mix(in srgb, var(--danger) 8%, var(--surface-2));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--hairline));border-radius:var(--radius-md,8px);flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.ec-confirm-row .row{gap:8px;display:flex}.ec-temp-pw code{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);-webkit-user-select:all;user-select:all;word-break:break-all;flex:1;font-size:15px}.ec-admin-user-row .identity strong{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ec-admin-user-row .identity span{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em}.ec-admin-user-role{border-radius:var(--radius-pill);font-size:11.5px;font-weight:650;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hairline);background:var(--surface-2);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.ec-admin-user-role.role-admin{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline));background:var(--accent-soft)}.ec-admin-credit{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;min-width:0;display:flex}.ec-admin-credit .breakdown{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);gap:6px;font-size:11.5px;display:flex}.ec-admin-credit .breakdown b{color:var(--text);font-weight:600}.ec-admin-credit .total{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:600}.ec-admin-user-row .date{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;font-size:12.5px}.ec-admin-topup{align-items:stretch;gap:6px;display:inline-flex}.ec-admin-topup .field{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);align-items:center;height:34px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.ec-admin-topup .field:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--hairline))}.ec-admin-topup .field:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--hairline));box-shadow:0 0 0 3px var(--accent-soft)}.ec-admin-topup select,.ec-admin-topup input{height:100%;font:inherit;color:var(--text);background:0 0;border:0;outline:0}.ec-admin-topup .kind-select{padding-right:6px;position:relative}.ec-admin-topup .kind-select:after{content:"";border:1.5px solid var(--muted);pointer-events:none;border-top:0;border-left:0;width:7px;height:7px;margin-right:10px;transform:rotate(45deg)translateY(-2px)}.ec-admin-topup select{appearance:none;font-size:12px;font-weight:650;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background-image:none;padding:0 6px 0 12px}.ec-admin-topup .amount-field{padding:0 12px}.ec-admin-topup input{font-variant-numeric:tabular-nums;text-align:right;width:96px;padding:0;font-size:13px}.ec-admin-topup input::placeholder{color:var(--dim)}.ec-admin-topup input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ec-admin-topup input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ec-admin-topup button{appearance:none;border:1px solid var(--accent);background:var(--accent);color:var(--button-fg);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;letter-spacing:.02em;height:34px;padding:0 16px;font-size:12.5px;font-weight:650;transition:background .15s,transform .15s}.ec-admin-topup button:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}.ec-admin-topup button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width:1100px){.ec-admin-user-row{grid-template-columns:1fr;gap:10px}.ec-admin-user-row .dot{justify-self:start}}.ui-btn{font:inherit;letter-spacing:-.005em;cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.ui-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:0}.ui-btn:disabled,.ui-btn.is-loading{cursor:not-allowed;opacity:.55}.ui-btn:not(:disabled):not(.is-loading):active{transform:translateY(.5px)}.ui-btn--sm{height:30px;padding:0 12px;font-size:12.5px}.ui-btn--md{height:38px;padding:0 16px;font-size:13.5px}.ui-btn--lg{height:46px;padding:0 22px;font-size:15px}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}.ui-btn--primary:not(:disabled):not(.is-loading):hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover)}.ui-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--hairline)}.ui-btn--secondary:not(:disabled):not(.is-loading):hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 30%, var(--hairline))}.ui-btn--ghost{color:var(--text);background:0 0;border-color:#0000}.ui-btn--ghost:not(:disabled):not(.is-loading):hover{background:var(--surface-2)}.ui-btn--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.ui-btn--danger:not(:disabled):not(.is-loading):hover{filter:brightness(1.08)}.ui-btn__icon{width:1em;height:1em;display:inline-flex}.ui-btn__icon svg{width:100%;height:100%}.ui-field{flex-direction:column;gap:6px;min-width:0;display:inline-flex}.ui-field--block{width:100%;display:flex}.ui-field__label{font-size:11px;font-weight:650;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ui-field__control{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);align-items:center;gap:10px;height:38px;padding:0 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.ui-field__control:hover{border-color:color-mix(in srgb, var(--accent) 22%, var(--hairline))}.ui-field__control:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--hairline));box-shadow:0 0 0 3px var(--accent-soft)}.ui-field.is-error .ui-field__control{border-color:var(--danger)}.ui-field.is-error .ui-field__control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent)}.ui-field--block .ui-field__control{width:100%;display:flex}.ui-field__icon{width:16px;height:16px;color:var(--muted);flex-shrink:0;display:inline-flex}.ec-login-options{flex-wrap:wrap;gap:16px;margin:-2px 2px 2px;display:flex}.ec-check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.ec-check input[type=checkbox]{appearance:none;background:var(--surface);border:1.5px solid var(--hairline);cursor:pointer;border-radius:4px;width:16px;height:16px;margin:0;transition:all .12s;position:relative}.ec-check input[type=checkbox]:hover{border-color:var(--accent)}.ec-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.ec-check input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4.5px;transform:rotate(45deg)}.ui-field__eye{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.ui-field__eye:hover{color:var(--ink)}.ui-field__eye svg{width:17px;height:17px}.ui-field__icon svg{width:100%;height:100%}.ui-field__hint{color:var(--muted);font-size:12px}.ui-field__hint.is-error{color:var(--danger)}.ui-field__chevron{border:1.5px solid var(--muted);pointer-events:none;border-top:0;border-left:0;flex-shrink:0;width:7px;height:7px;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.ui-input,.ui-select{min-width:0;height:100%;font:inherit;color:var(--text);letter-spacing:-.005em;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px}.ui-input::placeholder{color:var(--dim)}.ui-input::-webkit-search-cancel-button{-webkit-appearance:none}.ui-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-select{appearance:none;cursor:pointer;background-image:none}.ui-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ui-card--padded .ui-card__body{padding:20px}.ui-card__head{border-bottom:1px solid var(--hairline);background:var(--surface);flex-direction:column;gap:4px;padding:16px 20px;display:flex}.ui-card__head h3{letter-spacing:-.01em;color:var(--text);margin:0;font-size:14px;font-weight:650}.ui-card__head p{color:var(--muted);margin:0;font-size:12.5px}.ui-card__body{flex-direction:column;gap:14px;display:flex}.ui-badge{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-2);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:650;display:inline-flex}.ui-badge--mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.ui-badge--accent{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline));background:var(--accent-soft)}.ui-badge--success{color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, var(--hairline));background:color-mix(in srgb, var(--success) 14%, transparent)}.ui-badge--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--hairline));background:color-mix(in srgb, var(--danger) 14%, transparent)}.ui-badge--warning{color:#b6792f;border-color:color-mix(in srgb, #d69b50 40%, var(--hairline));background:#d69b5024}.ui-tabs{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);gap:2px;padding:4px;display:inline-flex}.ui-tab{appearance:none;color:var(--muted);font:inherit;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;height:30px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.ui-tab:hover{color:var(--text)}.ui-tab.is-active{background:var(--accent);color:var(--button-fg)}.ui-stat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:14px 18px;display:flex}.ui-stat__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:650}.ui-stat__value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.ui-stat__hint{color:var(--muted);font-size:12px}.ui-stack{gap:var(--ui-stack-gap,16px);flex-direction:column;display:flex}.ui-row{align-items:center;gap:var(--ui-row-gap,12px);flex-wrap:wrap;display:flex}
.ui-field__control .ui-input,.ui-field__control .ui-select,.ui-field__control input.ui-input,.ui-field__control select.ui-select{width:auto;height:100%;caret-color:var(--accent);flex:1;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.ui-field__control .ui-input:focus,.ui-field__control .ui-select:focus,.ui-field__control input.ui-input:focus,.ui-field__control select.ui-select:focus{box-shadow:none!important;background:0 0!important}
