:root{--brand:#1f7a5a;--brand-dark:#155c43;--brand-light:#e8f4ef;--accent:#e8a13a;--accent-dark:#c5882e;--bg:#f7f6f2;--bg-card:#fff;--bg-overlay:#16201c8c;--line:#e3e1d9;--text-main:#16201c;--text-muted:#5a6b63;--text-invert:#fff;--input-bg:#fff;--input-border:#e3e1d9;--input-focus:#1f7a5a;--error:#c0392b;--error-bg:#fdf2f2;--success:#1f7a5a;--radius-sm:6px;--radius:12px;--radius-lg:18px;--font-family:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:30px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--leading:1.55;--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;--max-w:1040px;--sidebar-w:240px;--z-base:1;--z-sticky:10;--z-overlay:50;--z-modal:100;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--text-base);color:var(--text-main);background:var(--bg);line-height:var(--leading);-webkit-font-smoothing:antialiased}input,select,textarea{font-family:var(--font-family);font-size:var(--text-base);background:var(--input-bg);color:var(--text-main);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--transition);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--brand-light)}button{font-family:var(--font-family);cursor:pointer;border:none}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}.shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.app-header{padding:var(--space-4) var(--space-6);background:var(--bg-card);border-bottom:1px solid var(--line);z-index:var(--z-sticky);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-logo{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--brand);letter-spacing:-.3px}.app-nav{align-items:center;gap:var(--space-5);display:flex}.nav-link{color:var(--text-muted);font-size:var(--text-base);font-weight:var(--fw-medium)}.nav-link:hover{color:var(--text-main)}.app-main{padding:var(--space-10) var(--space-6);max-width:var(--max-w);flex:1;width:100%;margin:0 auto}.auth-loading{min-height:100vh;color:var(--text-muted);font-size:var(--text-base);justify-content:center;align-items:center;display:flex}.login-wrap{background:var(--bg);min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:400px}.login-logo{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--brand);letter-spacing:-.5px;margin-bottom:var(--space-2)}.login-tagline{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background var(--transition), border-color var(--transition);border:none;width:100%;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brand);color:var(--text-invert);margin-top:var(--space-4)}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-google{background:var(--bg-card);color:var(--text-main);border:1px solid var(--line)}.btn-google:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-muted);font-size:var(--text-sm);display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.field-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-main);margin-bottom:var(--space-1);margin-top:var(--space-4);display:block}.login-error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-3);background:var(--error-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.login-switch{margin-top:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.link-btn{color:var(--brand);font-size:inherit;font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:var(--brand-dark)}.placeholder-text{color:var(--text-muted);font-size:var(--text-base)}.gen-layout{gap:var(--space-8);grid-template-columns:420px 1fr;align-items:start;display:grid}@media (width<=860px){.gen-layout{grid-template-columns:1fr}}.pane-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-main);margin-bottom:var(--space-5);letter-spacing:-.3px}.gen-row{gap:var(--space-4);display:grid}.gen-row-2{grid-template-columns:1fr 1fr}.gen-row-3{grid-template-columns:1fr 1fr 1fr}@media (width<=600px){.gen-row-2,.gen-row-3{grid-template-columns:1fr}}.gen-field{flex-direction:column;display:flex}textarea{background:var(--input-bg);color:var(--text-main);resize:vertical;font-family:var(--font-family)}.field-hint{font-weight:var(--fw-normal);color:var(--text-muted);font-size:var(--text-xs)}.gen-submit{margin-top:var(--space-6);padding:var(--space-4);font-size:var(--text-md)}.gen-loading{font-size:var(--text-base);color:var(--brand);padding:var(--space-4) 0;font-weight:var(--fw-medium)}.gen-error{color:var(--error);font-size:var(--text-sm);background:var(--error-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.output-empty{color:var(--text-muted);font-size:var(--text-base);padding:var(--space-8) 0}.output-empty-sub{font-size:var(--text-sm);margin-top:var(--space-2)}.output-wrap{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5)}.output-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.output-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.output-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-action{background:var(--bg);color:var(--text-main);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background var(--transition), border-color var(--transition)}.btn-action:hover:not(:disabled){background:var(--brand-light);border-color:var(--brand);color:var(--brand)}.btn-action-regen{background:var(--brand);color:var(--text-invert);border-color:var(--brand)}.btn-action-regen:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark);color:var(--text-invert)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.acct-layout{max-width:640px}.acct-loading{color:var(--text-muted)}.acct-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-6)}.acct-row{padding:var(--space-3) 0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.acct-row:last-child{border-bottom:none}.acct-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.acct-value{font-size:var(--text-sm);color:var(--text-main)}.plan-badge{font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand)}.plan-badge--solo,.plan-badge--team{color:var(--brand-dark);background:#e8f4ef}.acct-section{margin-top:var(--space-6)}.acct-section-title{font-size:var(--text-md);font-weight:var(--fw-bold);margin-bottom:var(--space-5);color:var(--text-main)}.btn-outline{background:var(--bg-card);color:var(--brand);border:1px solid var(--brand);border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background var(--transition);justify-content:center;align-items:center;width:auto;display:inline-flex}.btn-outline:hover:not(:disabled){background:var(--brand-light)}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.pricing-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=600px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6)}.pricing-card--featured{border:2px solid var(--brand)}.pricing-name{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-main);margin-bottom:var(--space-2)}.pricing-price{font-size:var(--text-2xl);font-weight:var(--fw-extrabold);color:var(--text-main);margin-bottom:var(--space-4)}.pricing-features{margin-bottom:var(--space-5);list-style:none}.pricing-features li{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-1) 0}.pricing-features li:before{content:"+ ";color:var(--brand);font-weight:var(--fw-bold)}.trial-badge{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--accent-dark);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);background:#fef3e2}.paywall-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-8);text-align:center}.paywall-msg{font-size:var(--text-base);color:var(--text-main);margin-bottom:var(--space-5)}.paywall-btn{width:auto;padding:var(--space-3) var(--space-8);display:inline-flex}.output-text{background:var(--input-bg);width:100%;min-height:200px;color:var(--text-main);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:var(--space-4);font-size:var(--text-base);line-height:var(--leading);resize:vertical;font-family:var(--font-family)}
