:root{--text:#5c5668;--text-h:#08060d;--text-muted:#7a7385;--bg:#fff;--surface:#faf9fc;--border:#d8d5de;--input-bg:#f3f1f6;--input-border:#b8b3c0;--placeholder:#8a8496;--code-bg:#f0eef4;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--shadow-sm:0 1px 2px #08060d0f;--shadow-md:0 4px 12px #08060d14;--success-bg:#22c55e1f;--success-border:#22c55e66;--error-bg:#ef44441a;--error-border:#ef444466;--warning-bg:#f59e0b1f;--warning-border:#f59e0b66;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#a8a3b3;--text-h:#f3f4f6;--text-muted:#8b8698;--bg:#16171d;--surface:#1c1d25;--border:#3a3c48;--input-bg:#22232c;--input-border:#4a4d5c;--placeholder:#6e6a7a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #00000040;--success-bg:#22c55e26;--success-border:#22c55e73;--error-bg:#ef444426;--error-border:#ef444473;--warning-bg:#f59e0b26;--warning-border:#f59e0b73}}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:500}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}#app{min-height:100svh}.card{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-sm);border-radius:12px;padding:24px}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:500;transition:opacity .2s,background .2s,border-color .2s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{color:#fff;background:var(--accent);border-color:var(--accent)}.btn--primary:hover:not(:disabled){opacity:.92}.btn--secondary{color:var(--text-h);background:var(--code-bg);border-color:var(--border)}.btn--secondary:hover:not(:disabled){border-color:var(--accent-border)}.btn--ghost{color:var(--text-h);border-color:var(--border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--accent-bg)}.btn--block{width:100%}.form-field{text-align:left;flex-direction:column;gap:6px;display:flex}.form-field>span:first-child{color:var(--text-h);letter-spacing:.01em;font-size:14px;font-weight:600}.form-field input,.form-field textarea,.form-field select{border:1.5px solid var(--input-border);width:100%;font:inherit;color:var(--text-h);background:var(--input-bg);border-radius:8px;padding:11px 14px;font-size:15px;line-height:1.5;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #08060d0a}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--placeholder);opacity:1}.form-field input:hover:not(:focus):not(:disabled),.form-field textarea:hover:not(:focus):not(:disabled){border-color:var(--text-muted)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-bg), inset 0 1px 2px #08060d0a;outline:none}.form-field input[type=number]{font-variant-numeric:tabular-nums;max-width:140px}.form-field textarea{resize:vertical;min-height:108px}.form-hint{color:var(--text-muted);font-size:13px;line-height:1.45}.auth-form{flex-direction:column;gap:16px;display:flex}.alert{border-radius:8px;margin:0;padding:10px 14px;font-size:14px;line-height:1.5}.alert--error{color:#b91c1c;background:var(--error-bg);border:1px solid var(--error-border)}.alert--success{color:#15803d;background:var(--success-bg);border:1px solid var(--success-border)}.alert--warning{color:#b45309;background:var(--warning-bg);border:1px solid var(--warning-border)}@media (prefers-color-scheme:dark){.alert--error{color:#fca5a5}.alert--success{color:#86efac}.alert--warning{color:#fcd34d}}.status-badge{border:1px solid var(--border);color:var(--text);background:var(--code-bg);border-radius:999px;align-items:center;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.status-badge--compact{flex-shrink:0;padding:2px 8px;font-size:12px}.status-badge--processing{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.status-badge--success{color:#15803d;background:var(--success-bg);border-color:var(--success-border)}.status-badge--error{color:#b91c1c;background:var(--error-bg);border-color:var(--error-border)}@media (prefers-color-scheme:dark){.status-badge--success{color:#86efac}.status-badge--error{color:#fca5a5}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.param-control{border:1px solid var(--border);background:var(--input-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.param-control__label{color:var(--text-h);font-size:14px;font-weight:500}.param-control__hint{color:var(--text-muted);font-size:13px;line-height:1.45}.param-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-h);align-items:center;gap:10px;font-size:14px;display:inline-flex;position:relative}.param-toggle input{opacity:0;width:0;height:0;position:absolute}.param-toggle__track{background:var(--border);border-radius:999px;flex-shrink:0;width:42px;height:24px;transition:background .2s,box-shadow .2s;position:relative}.param-toggle__thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.param-toggle input:checked+.param-toggle__track{background:var(--accent)}.param-toggle input:checked+.param-toggle__track .param-toggle__thumb{transform:translate(18px)}.param-toggle input:focus-visible+.param-toggle__track{outline:2px solid var(--accent-border);outline-offset:2px}@media (prefers-color-scheme:dark){.param-toggle__track{background:#3f3f46}.param-toggle input:checked+.param-toggle__track{background:var(--accent)}}.param-checkbox{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;transition:border-color .2s,background .2s,color .2s;display:inline-flex;position:relative}.param-checkbox input{opacity:0;width:0;height:0;position:absolute}.param-checkbox__icon{border:1.5px solid var(--border);border-radius:4px;place-items:center;width:16px;height:16px;transition:border-color .2s,background .2s;display:grid}.param-checkbox__icon:after{content:"";background:var(--accent);border-radius:2px;width:8px;height:8px;transition:transform .15s;transform:scale(0)}.param-checkbox input:checked+.param-checkbox__icon{border-color:var(--accent)}.param-checkbox input:checked+.param-checkbox__icon:after{transform:scale(1)}.param-checkbox:has(input:checked){border-color:var(--accent-border);background:var(--accent-bg)}.param-select{appearance:none;border:1.5px solid var(--input-border);background-color:var(--input-bg);width:100%;color:var(--text-h);font:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%235c5668' d='M0 1.5L1.5 0 5 3.5 8.5 0 10 1.5 5 6z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border-radius:8px;padding:11px 36px 11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #08060d0a}.param-select:hover:not(:focus){border-color:var(--text-muted)}.param-select:focus{border-color:var(--accent);background-color:var(--bg);box-shadow:0 0 0 3px var(--accent-bg), inset 0 1px 2px #08060d0a;outline:none}@media (prefers-color-scheme:dark){.param-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%239ca3af' d='M0 1.5L1.5 0 5 3.5 8.5 0 10 1.5 5 6z'/%3E%3C/svg%3E")}}.param-slider{background:var(--input-border);appearance:none;cursor:pointer;border-radius:999px;width:100%;height:6px}.param-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #00000026}.param-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--accent-bg);transform:scale(1.08)}.param-slider::-moz-range-thumb{border:2px solid var(--accent);background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000026}.param-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--value,0%), var(--input-border) var(--value,0%));border-radius:999px;height:6px}.param-slider::-moz-range-track{background:var(--input-border);border-radius:999px;height:6px}.param-slider::-moz-range-progress{background:var(--accent);border-radius:999px;height:6px}.param-group{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-top:4px;padding:20px}.param-group__title{color:var(--text-h);align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;display:flex}.param-group__title:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:16px}.param-group__body{flex-direction:column;gap:16px;display:flex}.generation-page{flex-direction:column;gap:28px;display:flex}.generation-page__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.generation-page__title{letter-spacing:-.02em;margin:0 0 6px;font-size:28px;font-weight:600}.generation-page__desc{color:var(--text-muted);margin:0;font-size:15px;line-height:1.5}.generation-form{flex-direction:column;gap:20px;display:flex}.generation-form__cost{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.generation-form__cost strong{color:var(--accent);font-size:18px;font-weight:600}.generation-form .btn--primary{padding:12px 20px;font-size:16px}
