:root{color-scheme:light;--bg:#f8fafc;--bg-strong:#f1f5f9;--surface:#ffffff;--surface-muted:#f8fafc;--surface-emphasis:#eef2ff;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--muted:#64748b;--primary:#0f172a;--primary-hover:#1e293b;--accent:#2563eb;--accent-soft:#eff6ff;--success:#0f766e;--success-bg:#ecfdf5;--success-border:#bbf7d0;--danger:#b42318;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#1d4ed8;--info-bg:#eff6ff;--info-border:#bfdbfe;--shadow-lg:0 24px 60px rgba(15,23,42,0.08);--shadow-sm:0 8px 24px rgba(15,23,42,0.05);--radius-xl:28px;--radius-lg:22px;--radius-md:18px;--radius-sm:14px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,rgba(37,99,235,.08),transparent 30%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%);color:var(--text)}button,input,textarea{font:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}img{display:block}.page-shell{min-height:100vh;padding:28px 20px 40px}.page-inner{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.panel,.product-header{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.product-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-radius:var(--radius-xl)}.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.account-card{display:flex;flex-direction:column;gap:4px;min-width:240px;padding:10px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-muted)}.account-copy,.account-title{margin:0}.account-title{font-size:.92rem;font-weight:700}.account-copy{color:var(--muted);font-size:.84rem}.account-usage-block{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.account-usage-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;font-weight:600}.account-usage-meta strong{color:var(--text);font-size:.88rem;font-weight:800}.usage-progress-track{overflow:hidden;height:8px;border-radius:999px;background:rgba(37,99,235,.12)}.usage-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .16s ease}.account-usage-block.is-limited .usage-progress-track{background:rgba(180,35,24,.12)}.account-usage-block.is-limited .usage-progress-fill{background:linear-gradient(90deg,#dc2626,#f97316)}.brand-block{display:flex;align-items:center;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--accent) 0,var(--primary) 100%);color:#ffffff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);font-size:.94rem;font-weight:800;letter-spacing:.06em}.brand-caption,.brand-name,.empty-copy,.empty-title,.info-label,.info-value,.loading-copy,.loading-title,.summary-label,.summary-value{margin:0}.brand-name{font-size:1.06rem;font-weight:800}.brand-caption{margin-top:2px;color:var(--muted);font-size:.92rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;font-size:.88rem;font-weight:700;white-space:nowrap}.status-idle,.status-ready{border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}.status-working{border:1px solid var(--info-border);background:var(--info-bg);color:var(--info)}.status-success{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success)}.status-critical{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger)}.section-tag{margin:0 0 12px;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.panel,.workspace-stack{display:flex;flex-direction:column;gap:24px}.panel{padding:24px;border-radius:var(--radius-xl)}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-header h2{margin:0;font-size:1.42rem;letter-spacing:-.03em}.panel-copy{margin:10px 0 0;max-width:620px;color:var(--muted);line-height:1.7}.panel-meta{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.84rem;font-weight:600;white-space:nowrap}.request-composer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:24px;gap:24px;align-items:start}.request-editor,.request-media-stack{min-width:0;display:flex;flex-direction:column;gap:16px}.request-editor{height:100%;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff,rgba(239,246,255,.55))}.upload-field{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff 0,var(--surface-muted) 100%);cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.upload-field:hover{border-color:var(--accent);box-shadow:0 0 0 4px rgba(37,99,235,.08)}.upload-field.has-file{border-color:rgba(37,99,235,.3);background:linear-gradient(180deg,#ffffff 0,var(--accent-soft) 100%)}.upload-field.is-drag-active{border-color:var(--accent);background:linear-gradient(180deg,#ffffff,rgba(219,234,254,.9));box-shadow:0 0 0 4px rgba(37,99,235,.12),inset 0 0 0 1px rgba(37,99,235,.18)}.upload-field input{display:none}.upload-copy{display:flex;flex-direction:column;gap:8px}.upload-title{font-size:1.02rem;font-weight:700}.upload-caption{color:var(--muted);line-height:1.65}.action-row,.result-actions,.upload-chip-row{display:flex;flex-wrap:wrap;gap:10px}.meta-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid var(--border);background:#ffffff;color:var(--muted)}.loading-card,.preview-frame,.result-frame,.result-placeholder{min-height:360px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.preview-frame,.result-frame{overflow:hidden;position:relative}.source-frame{min-height:500px}.preview-frame.is-drag-active{border-color:var(--accent);box-shadow:0 0 0 4px rgba(37,99,235,.12),inset 0 0 0 1px rgba(37,99,235,.18)}.preview-image,.result-image{width:100%;height:100%;object-fit:contain;background:#ffffff}.empty-state,.loading-card,.result-placeholder{gap:14px;padding:32px}.drop-overlay,.empty-state,.loading-card,.result-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.drop-overlay{position:absolute;inset:0;gap:10px;padding:24px;background:rgba(239,246,255,.9);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drop-overlay-copy,.drop-overlay-title{margin:0}.drop-overlay-title{font-size:1.08rem;font-weight:800}.drop-overlay-copy{max-width:320px;color:var(--muted);line-height:1.6}.empty-title,.loading-title{font-size:1.04rem;font-weight:700}.empty-copy,.loading-copy{max-width:420px;color:var(--muted);line-height:1.7}.file-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.summary-label{color:var(--muted);font-size:.82rem;font-weight:600}.summary-value{margin-top:6px;font-size:.96rem;font-weight:600;word-break:break-word}.secondary-button,.text-button{transition:border-color .14s ease,background .14s ease,color .14s ease,opacity .14s ease,transform .14s ease}.text-button{padding:0;color:var(--accent);font-size:.92rem;font-weight:700;cursor:pointer}.text-button:hover:not(:disabled){color:#1d4ed8}.prompt-field{display:flex;flex-direction:column;gap:10px;flex:1 1}.field-label{font-size:.94rem;font-weight:700}.prompt-field textarea{min-height:320px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff;color:var(--text);font-size:.98rem;line-height:1.65;resize:vertical}.prompt-field textarea::placeholder{color:#94a3b8}.prompt-field textarea:focus,.secondary-button:focus-visible,.submit-button:focus-visible,.text-button:focus-visible,.upload-field:focus-within{outline:2px solid rgba(37,99,235,.2);outline-offset:2px}.secondary-button,.submit-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;font-size:.94rem;font-weight:700}.submit-button{background:var(--primary);color:#ffffff;cursor:pointer}.submit-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.secondary-button{border:1px solid var(--border);background:#ffffff;color:var(--text);cursor:pointer}.compact-button{min-height:38px;padding:0 16px}.secondary-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.secondary-button:disabled,.submit-button:disabled,.text-button:disabled{opacity:.55;cursor:not-allowed}.message-box{border-radius:var(--radius-md);padding:15px 16px;border:1px solid var(--border);line-height:1.6}.success-box{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.error-box{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.result-panel{justify-content:space-between}.result-stack{display:flex;flex-direction:column;gap:16px}.spinner{width:34px;height:34px;border:3px solid rgba(37,99,235,.18);border-top:3px solid var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.request-composer{grid-template-columns:1fr}}@media (max-width:720px){.page-shell{padding:18px 14px 28px}.panel,.product-header{padding:18px;border-radius:22px}.file-summary,.panel-header,.product-header{flex-direction:column}.header-controls{width:100%;justify-content:flex-start}.account-card{min-width:0;width:100%}.request-editor{padding:18px}.product-header{align-items:flex-start;border-radius:22px}.panel-meta,.status-pill{white-space:normal}.loading-card,.preview-frame,.prompt-field textarea,.result-frame,.result-placeholder,.source-frame{min-height:280px}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,rgba(37,99,235,.14),transparent 30%),radial-gradient(circle at bottom right,rgba(14,165,233,.1),transparent 24%),linear-gradient(180deg,#ffffff 0,var(--bg) 100%)}.auth-panel{position:relative;overflow:hidden;width:min(100%,460px);display:flex;flex-direction:column;gap:24px;padding:28px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,246,255,.72)),rgba(255,255,255,.96);box-shadow:0 28px 60px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.7)}.auth-panel:before{top:-110px;right:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(37,99,235,.12) 0,transparent 68%)}.auth-panel:after,.auth-panel:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-panel:after{left:-100px;bottom:-150px;width:240px;height:240px;background:radial-gradient(circle,rgba(14,165,233,.12) 0,transparent 70%)}.auth-brand{position:relative;z-index:1;align-self:flex-start;padding:10px 14px 10px 10px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(15,23,42,.04)}.auth-copy{display:flex;flex-direction:column;gap:10px}.auth-copy-text,.auth-eyebrow,.auth-submit-copy,.auth-title{margin:0}.auth-eyebrow{color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-title{font-size:clamp(2.2rem,7vw,3rem);line-height:.95;letter-spacing:-.05em}.auth-copy-text{color:var(--muted);line-height:1.65}.auth-form{position:relative;z-index:1;gap:20px;padding:0}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:10px}.auth-field span{color:#334155;font-size:.9rem;font-weight:700}.auth-field input{min-height:52px;padding:0 16px;border:1px solid rgba(148,163,184,.34);border-radius:16px;background:rgba(255,255,255,.96);color:var(--text);box-shadow:inset 0 1px 2px rgba(15,23,42,.03);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .14s ease}.auth-field input::placeholder{color:#94a3b8}.auth-field input:hover{border-color:rgba(100,116,139,.44)}.auth-field input:focus,.auth-submit:focus-visible{outline:none;border-color:rgba(37,99,235,.46);box-shadow:0 0 0 4px rgba(37,99,235,.12),inset 0 1px 2px rgba(15,23,42,.03)}.auth-submit{width:100%;min-height:52px}.auth-submit-row{display:flex;flex-direction:column;gap:12px}.auth-submit-copy{color:var(--muted);font-size:.88rem;line-height:1.6}@keyframes auth-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-copy,.auth-form{animation:auth-enter .36s ease-out both}@media (max-width:840px){.auth-form{gap:18px}}@media (max-width:560px){.auth-shell{padding:16px}.auth-panel{padding:18px;border-radius:24px}.auth-brand{border-radius:16px}.auth-title{font-size:clamp(2rem,12vw,3rem)}}