:root{--bg-base:#0d0d10;--bg-panel-center:#0d0d10;--bg-panel-side:#17171c;--bg-surface:#ffffff0a;--bg-surface-hover:#ffffff12;--bg-elevated:#ffffff17;--bg-overlay:#000000a6;--bg-input:#ffffff0f;--glass-blur:blur(18px);--glass-border:1px solid #ffffff1a;--glass-shadow:0 8px 32px #00000073;--glass-shadow-lg:0 16px 48px #0000008c;--text-primary:#ede9ff;--text-secondary:#ffffff8c;--text-tertiary:#ffffff47;--text-on-accent:#000;--accent-primary:#7c5cfc;--accent-secondary:#a259ff;--accent-gradient:linear-gradient(135deg, #7c5cfc 0%, #a259ff 100%);--accent-gradient-hover:linear-gradient(135deg, #9b7ffe 0%, #b472ff 100%);--accent-glow:0 0 24px #7c5cfc66;--accent-glow-sm:0 0 12px #7c5cfc40;--btn-violet-text:#d4aaff;--btn-violet-text-muted:#c49eff;--btn-violet-bg:#a259ff2e;--btn-violet-bg-hover:#a259ff47;--btn-violet-bg-dim:#a259ff14;--btn-violet-bg-dim-hover:#a259ff29;--btn-violet-border:#a259ff59;--btn-violet-border-hover:#a259ff8c;--btn-violet-border-dim:#a259ff38;--btn-violet-border-dim-hover:#a259ff66;--btn-violet-border-outline:#a259ff73;--btn-violet-border-outline-hover:#a259ff99;--btn-violet-glow:0 0 16px #a259ff40;--btn-violet-glow-sm:0 0 12px #a259ff26;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#a78bfa;--source-pdf:#f87171;--source-web:#a78bfa;--source-youtube:#fc4040;--source-drive:#34d399;--source-text:#a259ff;--border-color:#ffffff14;--border-subtle:#ffffff0d;--border-focus:#7c5cfca6;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-base:1.5;--lh-relaxed:1.7;--transition-fast:.12s ease;--transition-base:.22s ease;--transition-slow:.38s ease;--z-base:1;--z-panel:10;--z-sticky:20;--z-overlay:100;--z-modal:200;--z-toast:300;--topbar-height:56px;--sources-width:268px;--studio-width:300px;--sidebar-width:240px;--sidebar-collapsed-width:44px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--lh-base);color:var(--text-primary);background-color:var(--bg-base);min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1f}::-webkit-scrollbar-thumb:hover{background:#ffffff38}::selection{color:var(--text-primary);background:#7c5cfc59}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-secondary)}button{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);color:inherit;background:0 0;border:none}input,textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary)}.glass{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow)}.glass-elevated{background:var(--bg-elevated);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow)}.theme-btn-solid{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font-sans);background:var(--btn-violet-bg);color:var(--btn-violet-text);border:1px solid var(--btn-violet-border);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;letter-spacing:.01em;display:inline-flex}.theme-btn-solid:hover:not(:disabled){background:var(--btn-violet-bg-hover);border-color:var(--btn-violet-border-hover);box-shadow:var(--btn-violet-glow);transform:translateY(-1px)}.theme-btn-solid:active:not(:disabled){transform:translateY(0)}.theme-btn-solid:disabled{opacity:.4;cursor:not-allowed}.theme-btn-glass{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);font-family:var(--font-sans);background:var(--btn-violet-bg-dim);color:var(--btn-violet-text-muted);border:1px solid var(--btn-violet-border-dim);cursor:pointer;-webkit-backdrop-filter:var(--glass-blur);transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;display:inline-flex}.theme-btn-glass:hover:not(:disabled){background:var(--btn-violet-bg-dim-hover);border-color:var(--btn-violet-border-dim-hover);box-shadow:var(--btn-violet-glow-sm);transform:translateY(-1px)}.theme-btn-glass:active:not(:disabled){transform:translateY(0)}.theme-btn-glass:disabled{opacity:.4;cursor:not-allowed}.theme-btn-outline{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);font-family:var(--font-sans);color:var(--btn-violet-text-muted);border:1px solid var(--btn-violet-border-outline);cursor:pointer;-webkit-backdrop-filter:var(--glass-blur);transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background:0 0;display:inline-flex}.theme-btn-outline:hover:not(:disabled){background:var(--btn-violet-bg-dim);border-color:var(--btn-violet-border-outline-hover);box-shadow:var(--btn-violet-glow-sm);transform:translateY(-1px)}.theme-btn-outline:active:not(:disabled){transform:translateY(0)}.theme-btn-outline:disabled{opacity:.4;cursor:not-allowed}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.cfe-fab{bottom:var(--space-6);right:var(--space-6);border-radius:var(--radius-full);cursor:pointer;background:var(--bg-elevated);width:56px;height:56px;box-shadow:0 4px 20px #0006, 0 0 0 1px var(--bg-surface-hover);z-index:var(--z-sticky);border:none;padding:0;transition:transform .2s,box-shadow .2s;position:fixed;overflow:hidden}.cfe-fab:hover{box-shadow:0 6px 28px #00000080, 0 0 0 1px var(--accent-primary);transform:scale(1.08)}.cfe-fab-img{object-fit:cover;width:100%;height:100%;display:block}.free-plan-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);color:var(--text-secondary);background:linear-gradient(90deg,#7c3aed26,#8b5cf614);border-bottom:1px solid #8b5cf633;font-size:.78rem;display:flex}.free-plan-banner-icon{color:var(--accent-primary);flex-shrink:0}.free-plan-banner span{flex:1}.free-plan-banner-btn{border-radius:var(--radius-full);border:1px solid var(--accent-primary);color:var(--accent-primary);cursor:pointer;white-space:nowrap;background:0 0;padding:3px 12px;font-size:.75rem;font-weight:600;transition:background .15s,color .15s}.free-plan-banner-btn:hover{background:var(--accent-primary);color:#fff}.free-plan-banner--pioneer{background:linear-gradient(90deg,#34d3991f,#34d3990d);border-bottom-color:#34d39940}.free-plan-banner--pioneer .free-plan-banner-icon{color:var(--color-success)}.free-plan-banner-btn--pioneer{border-color:var(--color-success);color:var(--color-success)}.free-plan-banner-btn--pioneer:hover{background:var(--color-success);color:#000}.images-usage-gate{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);text-align:center;background:#7c3aed12;border:1px solid #8b5cf640;flex-direction:column;display:flex}.images-usage-gate-icon{color:var(--accent-primary);margin:0 auto}.images-usage-gate-title{color:var(--text-primary);margin:0;font-size:.85rem;font-weight:600}.images-usage-gate-desc{color:var(--text-secondary);margin:0;font-size:.75rem}.images-free-note,.parallel-free-note{color:var(--text-tertiary);text-align:center;margin:var(--space-1) 0 0;font-size:.72rem}.images-free-note a,.parallel-free-note a{color:var(--accent-primary);text-decoration:none}.images-free-note a:hover,.parallel-free-note a:hover{text-decoration:underline}.gated-page{height:100%;padding:var(--space-8);justify-content:center;align-items:center;display:flex}.gated-page-card{align-items:center;gap:var(--space-4);text-align:center;max-width:420px;padding:var(--space-10) var(--space-8);background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #8b5cf633;flex-direction:column;display:flex}.gated-page-icon{border-radius:var(--radius-full);width:56px;height:56px;color:var(--accent-primary);background:#7c3aed1f;justify-content:center;align-items:center;display:flex}.gated-page-title{font-size:1.2rem;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.gated-page-desc{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.6}.gated-page-actions{gap:var(--space-2);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}.sum-overlay{z-index:calc(var(--z-modal) + 10);padding:var(--space-6);-webkit-backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sum-card{align-items:center;gap:var(--space-4);text-align:center;width:100%;max-width:420px;padding:var(--space-10) var(--space-8);background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #8b5cf633;flex-direction:column;display:flex;box-shadow:0 24px 64px #0006}.sum-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;display:flex}.sum-icon--update{color:var(--accent-primary);background:#7c3aed1f}.sum-icon--warning{color:var(--color-warning);background:#f59e0b1f}.sum-icon--info{color:var(--color-info);background:#3b82f61f}.sum-version{font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary);border-radius:var(--radius-full);background:#7c3aed1a;padding:2px 10px}.sum-title{font-size:1.15rem;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.sum-message{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.6}.sum-actions{gap:var(--space-2);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}
