.auth-dialog-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:authDialogOverlayIn .15s ease-out}@keyframes authDialogOverlayIn{0%{opacity:0}to{opacity:1}}.auth-dialog{position:relative;width:100%;max-width:400px;margin:var(--space-md);padding:var(--space-xl);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 80px rgba(0,0,0,.5);animation:authDialogIn .2s cubic-bezier(.16,1,.3,1)}@keyframes authDialogIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-dialog-message{font-size:var(--font-body);font-weight:400;color:var(--text-primary);line-height:1.5;margin:0 0 var(--space-lg) 0}.auth-dialog-actions{display:flex;gap:var(--space-sm)}.auth-dialog-btn{flex:1 1;height:44px;font-family:inherit;font-size:var(--font-caption);font-weight:500;letter-spacing:.02em;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.auth-dialog-btn--primary{color:var(--bg-primary);background:var(--text-primary)}.auth-dialog-btn--primary:hover{background:var(--accent);transform:translateY(-1px)}.auth-dialog-btn--secondary{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border)}.auth-dialog-btn--secondary:hover{color:var(--text-primary);border-color:var(--text-muted)}.auth-dialog-close{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s,background .15s}.auth-dialog-close:hover{color:var(--text-primary);background:var(--bg-surface)}.landing{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);max-width:1200px;width:100%;margin:0 auto}.landing-nav-brand{display:flex;align-items:center;gap:.6rem}.landing-nav-links{display:flex;align-items:center;gap:var(--space-sm)}.landing-nav-link{font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-sm);transition:color .2s var(--ease)}.landing-nav-link:hover{color:var(--text-primary)}.landing-nav-cta{font-size:var(--font-caption);font-weight:500;color:var(--bg-primary);background:var(--text-primary);padding:.5rem 1.25rem;border-radius:var(--radius-sm);transition:background .2s var(--ease),transform .2s var(--ease)}.landing-nav-cta:hover{background:var(--accent);transform:translateY(-1px)}.landing-hero{flex:1 1;display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;position:relative}.landing-hero:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.landing-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);max-width:720px}.landing-brand{display:flex;align-items:center;justify-content:center;gap:.6rem}.landing-assertion{font-size:var(--font-subhead);font-weight:600;letter-spacing:.02em;color:var(--accent)}.handstroke-underline{position:relative}.handstroke-underline:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 16'%3E%3Cpath d='M0 10 Q50 2 100 10' stroke='%232979FF' stroke-width='10' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat bottom;background-size:100% 100%}.landing-headline{font-size:var(--font-hero);font-weight:300;line-height:1.12;letter-spacing:-.035em;color:var(--text-primary)}.landing-subtext{font-size:var(--font-subhead);font-weight:300;line-height:1.55;color:var(--text-secondary);max-width:48ch}.landing-input-section{width:100%;max-width:560px;display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.landing-textarea{width:100%;min-height:160px;padding:var(--space-md);font-family:inherit;font-size:var(--font-body);font-weight:400;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;resize:vertical;caret-color:var(--accent);transition:border-color .2s var(--ease)}.landing-textarea:focus{border-color:rgba(41,121,255,.35);box-shadow:0 0 0 3px var(--accent-dim)}.landing-textarea::placeholder{color:var(--text-muted)}.landing-error{font-size:var(--font-caption);color:var(--error);background:var(--error-dim);padding:.75rem var(--space-sm);border-radius:var(--radius-sm)}.landing-generate-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:48px;padding:0 1.5rem;font-family:inherit;font-size:var(--font-caption);font-weight:500;letter-spacing:.02em;color:var(--bg-primary);background:var(--text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}.landing-generate-btn:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}.landing-generate-btn:disabled{opacity:.6;cursor:not-allowed}.landing-spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.landing-preview-wrap{flex:1 1;display:flex;flex-direction:column;position:relative;min-height:0}.landing-preview-wrap .presentation{flex:1 1;height:auto;min-height:0}.landing-preview-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(to top,var(--bg-primary) 60%,transparent);z-index:50}.landing-preview-try{padding:.75rem 1.25rem;font-family:inherit;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.landing-preview-try:hover{color:var(--text-primary);border-color:var(--text-muted)}.landing-preview-save{padding:.75rem 1.5rem;font-family:inherit;font-size:var(--font-caption);font-weight:500;color:var(--bg-primary);background:var(--text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}.landing-preview-save:hover{background:var(--accent);transform:translateY(-1px)}.landing-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.landing-actions-or{font-size:var(--font-caption);color:var(--text-muted)}.landing-btn-primary{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1.5rem;font-size:var(--font-caption);font-weight:500;letter-spacing:.02em;color:var(--bg-primary);background:var(--text-primary);border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);min-height:44px}.landing-btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.landing-btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1.5rem;font-size:var(--font-caption);font-weight:500;letter-spacing:.02em;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);min-height:44px}.landing-btn-secondary:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.landing-features{padding:var(--space-2xl) var(--space-lg);max-width:1200px;width:100%;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-lg);gap:var(--space-lg)}.landing-feature{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s var(--ease)}.landing-feature:hover{border-color:var(--text-muted)}.landing-feature-icon{color:var(--accent)}.landing-feature-title{font-size:var(--font-body);font-weight:500;color:var(--text-primary)}.landing-feature-text{font-size:var(--font-caption);font-weight:400;line-height:1.55;color:var(--text-secondary)}.landing-footer{padding:var(--space-lg);text-align:center;border-top:1px solid var(--border)}.landing-footer-text{font-size:var(--font-label);color:var(--text-muted);letter-spacing:.08em}@media (max-width:768px){.landing-nav{padding:var(--space-sm) var(--space-md)}.landing-hero{padding:var(--space-xl) var(--space-md)}.landing-hero:before{width:400px;height:400px}.landing-actions{flex-direction:column;width:100%}.landing-btn-primary,.landing-btn-secondary{width:100%}.landing-features{padding:var(--space-xl) var(--space-md)}.landing-features-grid{grid-template-columns:1fr}}