:root{--primary-color:#0f172a;--primary-light:#334155;--accent-color:#0ea5e9;--accent-hover:#0284c7;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--bg-page:#f8fafc;--bg-card:#fff;--bg-input:#f1f5f9;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:300ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#f8fafc;background-color:var(--bg-page);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.header-logo,h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif}button{border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}button,input,textarea{font-family:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}.header{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000;display:flex;justify-content:space-between;left:0;padding:1rem 1.5rem;position:absolute;right:0;top:0;z-index:100}.mobile-only{display:none!important}.header-logo{color:#0f172a;color:var(--primary-color);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.header-logo,.header-nav{align-items:center;display:flex}.header-nav{gap:1.5rem}.header-credits{background:#f1f5f9;background:var(--bg-input);border-radius:999px;color:#64748b;color:var(--text-secondary);padding:.25rem .75rem}.header-btn,.header-credits{font-size:.875rem;font-weight:500}.header-btn{padding:.5rem 1rem}.header-btn-primary{background:#0f172a;background:var(--primary-color);color:#fff}.header-btn-primary:hover{background:#334155;background:var(--primary-light);transform:translateY(-1px)}.header-btn-secondary{background:#0000;border:1px solid #f1f5f9;border:1px solid var(--bg-input);color:#64748b;color:var(--text-secondary)}.header-btn-secondary:hover{background:#f1f5f9;background:var(--bg-input);color:#1e293b;color:var(--text-primary)}.landing-page{overflow-x:hidden;width:100%}.hero-section{isolation:isolate;justify-content:center;margin:0 auto;max-width:1200px;min-height:95vh;padding:8rem 1.5rem 4rem;position:relative;text-align:center}.hero-section,.scroll-indicator{display:flex;flex-direction:column}.scroll-indicator{align-items:center;animation:fadeIn 1s ease-out 1s both;bottom:1rem;color:#94a3b8;color:var(--text-light);cursor:pointer;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;z-index:10}.scroll-indicator:hover{color:#0ea5e9;color:var(--accent-color);transform:translateX(-50%) translateY(-5px)}.scroll-text{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.scroll-arrow{animation:bounce 2s infinite;font-size:1.5rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.hero-blob{animation:float-blob 10s ease-in-out infinite alternate;border-radius:50%;filter:blur(80px);height:500px;opacity:.4;position:absolute;width:500px;z-index:-1}.hero-blob-1{animation-delay:0s;background:radial-gradient(circle,#0ea5e966 0,#0000 70%);left:-100px;top:-100px}.hero-blob-2{animation-delay:-5s;background:radial-gradient(circle,#8b5cf64d 0,#0000 70%);bottom:-50px;height:600px;right:-100px;width:600px}@keyframes float-blob{0%{transform:translate(0) scale(1)}to{transform:translate(20px,40px) scale(1.1)}}.hero-badge{animation:fadeIn .8s ease-out;background:#fff;border:1px solid #0ea5e933;border-radius:999px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#0ea5e9;color:var(--accent-color);display:inline-block;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;padding:.5rem 1rem}.hero-title{animation:slideUp .8s cubic-bezier(.16,1,.3,1) .1s both;color:#0f172a;color:var(--primary-color);font-size:clamp(3rem,6vw,4.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-bottom:1.5rem}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#3b82f6);background:linear-gradient(135deg,var(--accent-color) 0,#3b82f6 100%);background-clip:text;-webkit-background-clip:text}.underline-highlight{display:inline-block;padding-bottom:5px;position:relative}.underline-highlight:after{animation:drawUnderline 1.2s ease-out .8s both;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='338' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 15c45-3 145-10 205-5s100 6 120 5' stroke='%23BFDBFE' stroke-width='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;bottom:-8px;content:"";height:clamp(10px,1.8vw,16px);left:-2%;opacity:.7;position:absolute;width:104%;z-index:-1}@keyframes drawUnderline{0%{opacity:0;width:0}to{opacity:.8;width:100%}}.hero-subtitle{animation:slideUp .8s cubic-bezier(.16,1,.3,1) .2s both;color:#64748b;color:var(--text-secondary);font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.6;margin:0 auto 3.5rem;max-width:640px}.input-section{animation:slideUp .8s cubic-bezier(.16,1,.3,1) .3s both;margin:0 auto 3rem;max-width:800px;padding:0 1.5rem}.input-box-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:1.25rem;box-shadow:0 20px 50px -12px #0ea5e940,0 0 0 1px #0ea5e91a;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;transform:translateY(0);transition:all .3s cubic-bezier(.16,1,.3,1)}.input-box-container:focus-within{box-shadow:0 25px 50px -12px #0ea5e959,0 0 0 2px #0ea5e933;transform:translateY(-2px)}.input-wrapper{position:relative;width:100%}.input-box{background:#f1f5f9;background:var(--bg-input);border:1px solid #0000;border-radius:.75rem;border-radius:var(--radius-lg);font-size:1.125rem;outline:none;padding:1.5rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.input-box:focus{background:#fff;border-color:#0ea5e9;border-color:var(--accent-color);box-shadow:0 0 0 4px #0ea5e91a}.input-box::placeholder{color:#94a3b8;color:var(--text-light)}.generate-btn{align-items:center;background:#0ea5e9;background:var(--accent-color);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0ea5e94d;color:#fff;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:1rem;width:100%}.generate-btn:hover:not(:disabled){background:#0284c7;background:var(--accent-hover);transform:translateY(-1px)}.how-it-works-section{margin:0 auto 8rem;max-width:1000px;padding:8rem 1.5rem;position:relative;text-align:center}.how-it-works-section:after{background:#f1f5f9;background:var(--bg-input);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:100px}.section-title{color:#0f172a;color:var(--primary-color);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:3rem}.steps-container{align-items:flex-start;gap:2rem;justify-content:center}.step-card,.steps-container{display:flex;position:relative}.step-card{align-items:center;border-radius:.75rem;border-radius:var(--radius-lg);flex:1 1;flex-direction:column;padding:1.5rem;transition:all .3s;z-index:1}.step-card:hover{background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-5px)}.step-card:hover .step-number{background:#0ea5e9;background:var(--accent-color);border-color:#0ea5e9;border-color:var(--accent-color);color:#fff;transform:scale(1.1) rotate(5deg)}.step-number{align-items:center;background:#fff;border:2px solid #0ea5e9;border:2px solid var(--accent-color);border-radius:50%;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:#0ea5e9;color:var(--accent-color);display:flex;font-size:1.5rem;font-weight:700;height:3.5rem;justify-content:center;margin-bottom:1.5rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:3.5rem}.step-card h3{color:#0f172a;color:var(--primary-color);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.step-card p{color:#64748b;color:var(--text-secondary);font-size:1rem;line-height:1.5}.step-connector{color:#94a3b8;color:var(--text-light);font-size:2rem;font-weight:300;padding-top:1rem}.features-section{background:#f8fafc;background:var(--bg-page);overflow:hidden;padding:10rem 1.5rem;position:relative}.features-section .section-title{color:#0f172a;color:var(--primary-color);font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:6rem;text-align:center}.timeline-container{margin:0 auto;max-width:1000px;padding:2rem 0;position:relative}.timeline-line{background:linear-gradient(180deg,#0000,#0ea5e933 10%,#0ea5e933 90%,#0000);bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.timeline-line:after{background:linear-gradient(180deg,#0ea5e9,#3b82f6);background:linear-gradient(to bottom,var(--accent-color),#3b82f6);content:"";filter:blur(2px);height:100%;left:0;opacity:.3;position:absolute;top:0;transform-origin:top;width:100%}.timeline-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:8rem;position:relative;width:100%}.timeline-item:last-child{margin-bottom:0}.timeline-content{background:#fff;border:1px solid #0ea5e90d;border-radius:2.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);padding:3rem;position:relative;transition:all .5s cubic-bezier(.16,1,.3,1);width:42%}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-dot{align-items:center;background:#fff;border:4px solid #0ea5e9;border:4px solid var(--accent-color);border-radius:50%;box-shadow:0 0 20px #0ea5e94d;display:flex;font-size:1.5rem;height:3.5rem;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .5s ease;width:3.5rem;z-index:10}.timeline-item:hover .timeline-dot{background:#0ea5e9;background:var(--accent-color);box-shadow:0 0 30px #0ea5e980;color:#fff;transform:translate(-50%,-50%) scale(1.2)}.timeline-item:hover .timeline-content{border-color:#0ea5e9;border-color:var(--accent-color);box-shadow:0 30px 60px -12px #0ea5e926;transform:translateY(-10px)}.timeline-tag{background:#f1f5f9;background:var(--bg-input);border-radius:999px;color:#0ea5e9;color:var(--accent-color);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.25rem;padding:.4rem .875rem;text-transform:uppercase}.timeline-title{color:#0f172a;color:var(--primary-color);font-size:1.4rem;font-weight:800;letter-spacing:-.015em;margin-bottom:.75rem}.timeline-desc{color:#64748b;color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.timeline-connector{background:dashed #0ea5e933;height:2px;position:absolute;top:50%;width:8%;z-index:1}.timeline-item:nth-child(odd) .timeline-connector{left:42%}.timeline-item:nth-child(2n) .timeline-connector{right:42%}@media (max-width:768px){.timeline-dot,.timeline-line{left:2rem}.timeline-item,.timeline-item:nth-child(2n){align-items:flex-start;flex-direction:column;padding-left:5rem}.timeline-content{padding:2rem;width:100%}.timeline-connector{display:none}}.demo-section{margin:6rem auto 2rem;max-width:1200px;padding:0 1.5rem}.demo-section .diagram-wrapper{max-height:600px}.demo-title{color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:2rem;text-align:center;text-transform:uppercase}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:440px;padding:2.5rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:#0000;border-radius:50%;color:#94a3b8;color:var(--text-light);display:flex;font-size:1.5rem;height:2rem;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;width:2rem}.modal-close:hover{background:#f1f5f9;background:var(--bg-input);color:#1e293b;color:var(--text-primary)}.modal-title{color:#0f172a;color:var(--primary-color);font-size:1.75rem;font-weight:700;margin-bottom:.5rem;text-align:center}.modal-subtitle{color:#64748b;color:var(--text-secondary);margin-bottom:2rem;text-align:center}.modal-input{border:1px solid #0000001a;border-radius:.5rem;border-radius:var(--radius-md);font-size:1rem;margin-bottom:1rem;outline:none;padding:.875rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.modal-input:focus{border-color:#0ea5e9;border-color:var(--accent-color);box-shadow:0 0 0 3px #0ea5e91a}.modal-btn{align-items:center;border-radius:.5rem;border-radius:var(--radius-md);display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.875rem;width:100%}.modal-btn-primary{background:#0f172a;background:var(--primary-color);color:#fff;margin-top:.5rem}.modal-btn-primary:hover:not(:disabled){background:#334155;background:var(--primary-light)}.modal-divider{align-items:center;color:#94a3b8;color:var(--text-light);display:flex;font-size:.875rem;font-weight:500;margin:1.5rem 0}.modal-divider:after,.modal-divider:before{background:#0000001a;content:"";flex:1 1;height:1px}.modal-divider:before{margin-right:1rem}.modal-divider:after{margin-left:1rem}.modal-btn-google{background:#fff;border:1px solid #00000026;color:#1e293b;color:var(--text-primary)}.modal-btn-google:hover:not(:disabled){background:#f8fafc;background:var(--bg-page);border-color:#0003}.modal-toggle{color:#64748b;color:var(--text-secondary);font-size:.9375rem;margin-top:1.5rem;text-align:center}.modal-toggle-link{color:#0ea5e9;color:var(--accent-color);cursor:pointer;font-weight:600}.modal-toggle-link:hover{text-decoration:underline}.modal-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;border-radius:var(--radius-md);color:#b91c1c;font-size:.875rem;margin-bottom:1.5rem;padding:.75rem;text-align:center}@media (max-width:768px){.hero-section{padding-bottom:3rem;padding-top:5rem}.demo-section{margin-bottom:2rem}.how-it-works-section{margin-bottom:4rem;padding:4rem 1.5rem}.features-section{padding:4rem 1.5rem}.header{padding:.75rem 1rem}.desktop-only{display:none!important}.mobile-only{display:flex!important}.input-box-container{padding:1rem}.hero-title{font-size:2.25rem}.hero-badge{font-size:.75rem;margin-bottom:.75rem}.user-welcome h1{font-size:1.75rem}.modal-overlay{padding:1rem}.modal-content{border-radius:.75rem;border-radius:var(--radius-lg);margin:0 1rem;max-width:100%;padding:1.5rem}.modal-title{font-size:1.5rem}}.user-view-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.dashboard-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-bottom:1px solid #0000000d;justify-content:space-between;padding:.75rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.dashboard-nav,.nav-logo{align-items:center;display:flex}.nav-logo{color:#1e293b;color:var(--text-primary);font-size:1.125rem;font-weight:700;gap:.5rem}.nav-profile{gap:1rem}.nav-profile,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,var(--accent-light),#0ea5e9);background:linear-gradient(135deg,var(--accent-light),var(--accent-color));border-radius:50%;color:#fff;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.nav-logout-btn{background:#0000;color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:500}.nav-logout-btn:hover{color:#ef4444;color:var(--error-color)}.dashboard-content{display:flex;flex:1 1;flex-direction:column}.dashboard-hero{background:radial-gradient(circle at 50% 0,#e0f2fe 0,#0000 70%);display:flex;flex-direction:column;justify-content:center;min-height:600px;padding:8rem 1.5rem 4rem;text-align:center}.hero-content h1{color:#1e293b;color:var(--text-primary);font-size:2.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.hero-content p{color:#64748b;color:var(--text-secondary);font-size:1.125rem;margin-bottom:3.5rem}.highlight-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#0ea5e9);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text}.hero-input-container{background:#fff;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 20px 40px -10px #0000001a;margin:0 auto;max-width:800px;width:100%}.recent-activity-section{margin:0 auto 4rem;max-width:1000px;padding:0 1.5rem;width:100%}.section-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:2rem}.section-header h2{color:#1e293b;color:var(--text-primary);font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.view-all-btn{background:#0000;border-bottom:2px solid #0000;color:#0ea5e9;color:var(--accent-color);font-size:.9375rem;font-weight:600;padding:.5rem 0;transition:all .2s}.view-all-btn:hover{opacity:.8;transform:translateX(4px)}.recent-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recent-card{align-items:center;background:#fff;border:1px solid #0000000f;border-radius:.75rem;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:1rem;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.recent-card:hover{border-color:#0ea5e94d;box-shadow:0 12px 24px -8px #00000014;transform:translateY(-4px)}.card-icon-wrapper{align-items:center;background:#f8fafc;background:var(--bg-page);border-radius:.5rem;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:600;height:3rem;justify-content:center;width:3rem}.card-icon-wrapper.plus-icon{background:#f1f5f9;background:var(--bg-input);color:#0ea5e9;color:var(--accent-color);font-size:1.5rem}.card-details{flex:1 1;min-width:0}.card-details h3{color:#1e293b;color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-details p{font-size:.75rem;margin:0}.card-arrow,.card-details p{color:#94a3b8;color:var(--text-light)}.card-arrow{opacity:0;transform:translateX(-5px);transition:all .2s}.recent-card:hover .card-arrow{opacity:1;transform:translateX(0)}.new-card{border-color:var(--accent-light);border-style:dashed}.recent-error-state,.recent-loading-state{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:.75rem;border-radius:var(--radius-lg);color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.diagram-view-header{margin:0 auto 1rem;max-width:1400px;padding:0 1.5rem}.back-link{background:#0000;color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:.5rem 0}.back-link:hover{color:#0f172a;color:var(--primary-color);text-decoration:underline}@media (max-width:640px){.dashboard-hero{padding:3rem 1rem 1.5rem}.hero-content h1{font-size:1.75rem}}.debug-note{color:#94a3b8;color:var(--text-light);font-size:.8125rem;margin-top:.5rem!important}.retry-btn{background:#fff;border:1px solid #ef4444;border:1px solid var(--error-color);border-radius:.5rem;border-radius:var(--radius-md);color:#ef4444;color:var(--error-color);cursor:pointer;font-weight:500;margin-top:1rem;padding:.5rem 1.5rem;transition:all .2s}.retry-btn:hover{background:#ef4444;background:var(--error-color);color:#fff}.faq-section{margin:0 auto;max-width:1000px;padding:8rem 1.5rem;text-align:center}.faq-section .section-title{margin-bottom:1rem}.faq-subtitle{color:#64748b;color:var(--text-secondary);font-size:1.125rem;margin-bottom:4rem}.faq-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem;text-align:left}.faq-item{background:#fff;border:1px solid #0ea5e91a;border-radius:1rem;border-radius:var(--radius-xl);display:flex;flex-direction:column;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.faq-item:hover{border-color:#0ea5e9;border-color:var(--accent-color);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-5px)}.faq-icon{align-items:center;background:#f1f5f9;background:var(--bg-input);border-radius:50%;display:flex;font-size:1.25rem;height:2.5rem;justify-content:center;margin-bottom:1.25rem;width:2.5rem}.faq-item h3{color:#0f172a;color:var(--primary-color);font-size:1.125rem;font-weight:700;margin-bottom:.75rem}.faq-item p{color:#64748b;color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.cta-section{background:#0000;color:#0f172a;color:var(--primary-color);isolation:isolate;padding:10rem 1.5rem;position:relative;text-align:center}.cta-blob{border-radius:50%;filter:blur(80px);height:400px;opacity:.2;position:absolute;width:400px;z-index:-1}.cta-blob-1{background:radial-gradient(circle,#0ea5e9 0,#0000 70%);background:radial-gradient(circle,var(--accent-color) 0,#0000 70%);left:50%;top:0;transform:translateX(-150%)}.cta-blob-2{background:radial-gradient(circle,#8b5cf6 0,#0000 70%);bottom:0;right:50%;transform:translateX(150%)}.cta-section h2{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:2.5rem}.cta-gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#3b82f6);background:linear-gradient(135deg,var(--accent-color) 0,#3b82f6 100%);background-clip:text;-webkit-background-clip:text}.cta-btn{background:#0ea5e9;background:var(--accent-color);border-radius:999px;box-shadow:0 0 0 0 #0ea5e9b3;color:#fff;display:inline-block;font-size:1.375rem;font-weight:800;padding:1.25rem 3.5rem;text-decoration:none;transition:all .2s}@keyframes pulse-blue{0%{box-shadow:0 0 0 0 #0ea5e9b3;transform:scale(.95)}70%{box-shadow:0 0 0 20px #0ea5e900;transform:scale(1)}to{box-shadow:0 0 0 0 #0ea5e900;transform:scale(.95)}}.cta-btn:hover{background:#0284c7;background:var(--accent-hover);box-shadow:0 8px 20px #0000004d;transform:scale(1.05)}@media (max-width:768px){.steps-container{align-items:center;flex-direction:column;gap:3rem}.step-connector{padding:0;transform:rotate(90deg)}.hero-title{font-size:2.5rem}.cta-section h2{font-size:2rem}}.diagram-page-container{background:#f8fafc;background:var(--bg-page);display:flex;flex-direction:column;height:100vh;margin:0;max-width:none;overflow:hidden;padding-top:80px;width:100%}.diagram-page-container .diagram-wrapper{background:#fafafa;border:none;border-radius:0;border-top:1px solid #0000000d;box-shadow:none;flex:1 1;max-height:none!important}.diagram-page-nav{display:none}.diagram-page-container .diagram-wrapper{max-height:700px!important}.back-btn,.diagram-page-nav{align-items:center;display:flex}.back-btn{background:#fff;border:1px solid #0000000d;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.back-btn:hover{background:#f1f5f9;background:var(--bg-input);color:#0f172a;color:var(--primary-color);transform:translateX(-2px)}@media (max-width:768px){.diagram-page-container{gap:1rem;padding:.75rem}}.dashboard-loading{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f1f5f9;border-top-color:#0ea5e9;border:4px solid var(--bg-input);border-radius:50%;border-top-color:var(--accent-color);height:2.5rem;width:2.5rem}.initial-loading-container{align-items:center;background:#f8fafc;background:var(--bg-page);color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;gap:1.5rem;height:100vh;justify-content:center;width:100vw}.initial-loading-container .loading-spinner{height:3rem;width:3rem}.dashboard-empty-state{background:#fff;border:1px dashed #94a3b8;border:1px dashed var(--text-light);border-radius:1rem;border-radius:var(--radius-xl);padding:4rem 2rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.dashboard{margin:0 auto;max-width:1200px;min-height:100vh;padding:8rem 1.5rem 4rem}.dashboard-title{color:#1e293b;color:var(--text-primary);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2.5rem}.diagrams-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.diagram-card{background:#fff;border:1px solid #0000000d;border-radius:.75rem;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.diagram-card:hover{border-color:#0ea5e94d;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.diagram-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.diagram-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;color:var(--text-primary);display:-webkit-box;font-size:1.125rem;font-weight:600;line-height:1.4;overflow:hidden}.diagram-card-date{font-size:.875rem;margin-top:auto}.delete-btn,.diagram-card-date{color:#94a3b8;color:var(--text-light)}.delete-btn{align-items:center;background:#0000;border-radius:.5rem;border-radius:var(--radius-md);display:flex;font-size:1.125rem;height:2rem;justify-content:center;min-width:2rem;padding:.25rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.delete-btn:hover{background:#ef44440d;color:#ef4444;color:var(--error-color)}.input-meta-row{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding:0 .5rem}.attach-pill-btn{align-items:center;background:#fff;border:1.5px solid var(--bg-input);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text-secondary);display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all var(--transition-fast)}.upload-limit-info{color:var(--text-light);font-size:.75rem;opacity:.7}.attach-pill-btn:hover:not(:disabled){border-color:var(--accent-color);box-shadow:var(--shadow-md);color:var(--accent-color);transform:translateY(-1px)}.pill-icon{font-size:1rem}.input-status{align-items:center;display:flex}.status-badge{border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.025em;padding:.375rem .875rem;text-transform:uppercase}.status-badge.url{background:#0ea5e91a;color:var(--accent-color)}.status-badge.topic{background:#8b5cf61a;color:#8b5cf6}.url-options{align-items:center;display:flex;gap:.75rem}.mode-toggle{background:var(--bg-input);border-radius:8px;display:flex;padding:2px}.toggle-item{background:#0000;border-radius:6px;color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:.25rem .75rem;transition:all .2s}.toggle-item.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--accent-color)}.input-files-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding:0 .5rem}.file-preview-item{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;font-size:.8125rem;gap:.5rem;padding:.375rem .75rem}.file-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:#0000;color:var(--text-light);font-size:1.25rem;line-height:1}.remove-file-btn:hover{color:var(--error-color)}.main-action-btn{height:3.5rem;margin-top:1.5rem!important;overflow:hidden;position:relative}.btn-sparkle{font-size:1.125rem;margin-left:.25rem}.pdf-options{align-items:center;background:#0ea5e90d;border:1px dashed #0ea5e933;border-radius:12px;display:flex;gap:1rem;margin-top:1rem;padding:.75rem 1rem}.range-label{color:var(--accent-color);font-size:.8125rem;font-weight:700;white-space:nowrap}.range-input{background:#fff;border:1px solid var(--bg-input);border-radius:6px;flex:1 1;font-size:.8125rem;max-width:120px;outline:none;padding:.375rem .75rem;transition:all .2s}.range-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #0ea5e91a}.range-hint{color:var(--text-light);font-size:.75rem;font-style:italic;white-space:nowrap}@media (max-width:768px){.input-meta-row{gap:.75rem}.input-meta-row,.url-options{align-items:stretch;flex-direction:column}.url-options{gap:.5rem}}.tooltip-container{display:inline-flex;position:relative}.tooltip-trigger{align-items:center;border:1px solid #0003;border-radius:50%;color:var(--text-secondary);cursor:help;display:flex;font-size:.75rem;font-weight:600;height:1.25rem;justify-content:center;margin-left:.5rem;transition:all .2s;width:1.25rem}.tooltip-trigger:hover{background:var(--bg-input);border-color:var(--text-secondary);color:var(--text-primary)}.tooltip-content{background:#1e293b;border-radius:6px;bottom:100%;box-shadow:0 4px 6px -1px #0000001a;color:#fff;font-size:.75rem;left:50%;line-height:1.4;opacity:0;padding:.5rem .75rem;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%) translateY(-8px);transition:all .2s;visibility:hidden;width:200px;z-index:50}.tooltip-container:hover .tooltip-content{opacity:1;transform:translateX(-50%) translateY(-12px);visibility:visible}.tooltip-content:after{border:6px solid #0000;border-top-color:#1e293b;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.tooltip-right .tooltip-content{bottom:50%;left:100%;transform:translateX(8px) translateY(50%)}.tooltip-right:hover .tooltip-content{transform:translateX(12px) translateY(50%)}.tooltip-right .tooltip-content:after{border-color:#0000 #1e293b #0000 #0000;left:auto;right:100%;top:50%;transform:translateY(-50%)}.node-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ffffff80;border-radius:20px;box-shadow:0 4px 15px #0000000d,0 1px 2px #0000001a,inset 0 0 0 1px #ffffff80;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1)}.node-card:hover{background:#fff;box-shadow:0 20px 40px -12px #00000026;transform:translateY(-4px) scale(1.02)}.node-card-selected{background:#fff;border:2px solid var(--node-color);box-shadow:0 25px 50px -12px #0003}.node-card-header{align-items:center;background:linear-gradient(to right,var(--node-color-light),#0000);display:flex;gap:.375rem;padding:.5rem .75rem}.node-card-emoji-wrapper{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:6px;box-shadow:var(--shadow-sm);display:flex;height:24px;justify-content:center;width:24px}.node-card-emoji{font-size:14px}.node-card-type{color:var(--node-color);font-size:.625rem;font-weight:800;letter-spacing:.075em;opacity:.8;text-transform:uppercase}.node-card-content{display:flex;flex:1 1;flex-direction:column;padding:0 1rem 1rem}.node-card-title{color:var(--primary-color);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:.375rem}.node-card-title-expanded{font-size:1rem}.node-card-text{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.node-card-text-expanded{font-size:.9375rem}.node-card-source{align-items:center;border-top:1px solid #0000000d;color:var(--text-light);display:flex;font-size:.75rem;gap:.375rem;margin-top:1rem;padding-top:.75rem}.node-card-source-text a{color:var(--accent-color);font-weight:500;text-decoration:none}.node-card-followup-response{animation:fadeIn .4s ease-out;background:var(--bg-input);border-left:4px solid var(--node-color);border-radius:var(--radius-md);margin-top:1rem;padding:1rem}.node-card-followup-label{color:var(--node-color);font-size:.6875rem;font-weight:800;margin-bottom:.5rem;text-transform:uppercase}.node-card-actions{grid-gap:.5rem;border-top:1px solid #0000000d;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);margin-top:1.25rem;padding-top:1rem}.node-card-action-btn{align-items:center;background:#fff;border:1px solid var(--bg-input);border-radius:10px;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:600;gap:.25rem;justify-content:center;padding:.625rem}.node-card-action-btn:hover:not(:disabled){background:var(--bg-input);color:var(--primary-color);transform:translateY(-1px)}.node-card-action-btn-primary{background:var(--primary-color);border:none;color:#fff;grid-column:span 2}.node-card-action-btn-primary:hover:not(:disabled){background:var(--primary-light);color:#fff}.node-card-question-form{margin-top:1rem;position:relative}.node-card-question-input{background:var(--bg-input);border:1px solid var(--bg-input);border-radius:12px;font-size:.875rem;outline:none;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s;width:100%}.node-card-question-input:focus{background:#fff;border-color:var(--accent-color);box-shadow:0 0 0 4px #0ea5e91a}.node-card-question-submit{background:var(--accent-color);border-radius:8px;color:#fff;font-weight:900;height:2rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem}@media (max-width:768px){.node-card{width:240px!important}.node-card-selected{max-width:380px;width:calc(100vw - 3rem)!important}}.chat-panel{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{align-items:center;border-bottom:1px solid #0000000d;display:flex;gap:.75rem;min-height:56px;padding:1rem 1.25rem}.chat-icon{font-size:1.25rem}.chat-title{color:var(--primary-color);font-size:.9375rem;font-weight:700}.chat-messages{background:#fafafa;display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.chat-message{animation:slideUp .3s ease-out;display:flex;flex-direction:column;max-width:85%}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-label{color:var(--text-light);font-size:.6875rem;font-weight:700;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.user-message .message-label{text-align:right}.message-content{border-radius:18px;box-shadow:var(--shadow-sm);font-size:.9375rem;line-height:1.5;padding:.875rem 1.125rem}.user-message .message-content{background:var(--primary-color);border-bottom-right-radius:4px;color:#fff}.assistant-message .message-content{background:#fff;border:1px solid #0000000d;border-bottom-left-radius:4px;color:var(--text-primary)}.markdown-content p{margin-bottom:.75rem}.markdown-content p:last-child{margin-bottom:0}.chat-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.chat-empty p{font-size:.875rem;margin-bottom:.5rem}.chat-note{background:#0ea5e91a;border-radius:999px;color:var(--accent-color);font-size:.8125rem!important;font-weight:500;margin-bottom:1.5rem!important;padding:.5rem 1rem}.chat-suggestions{display:flex;flex-direction:column;gap:.75rem;width:100%}.chat-suggestions button{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:.875rem;font-weight:500;padding:.75rem 1rem;text-align:left;transition:all .2s}.chat-suggestions button:hover{background:#0ea5e90d;border-color:var(--accent-color);color:var(--accent-color)}@media (max-width:768px){.chat-header{gap:.5rem;padding:.75rem 1rem}.chat-title{font-size:.875rem}.chat-messages{gap:.75rem;padding:1rem}.message-content{font-size:.875rem;padding:.75rem 1rem}.chat-empty{padding:1.5rem 1rem}.chat-suggestions{gap:.5rem}.chat-suggestions button{font-size:.8125rem;padding:.625rem .875rem}.chat-input-form{padding:1rem}.input-container{padding:.375rem}.chat-input{font-size:.875rem;padding:.375rem .5rem}}.chat-selected-node{align-items:center;background:var(--bg-input);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1.25rem}.selected-node-info{align-items:center;display:flex;gap:.5rem;min-width:0}.selected-node-title{color:var(--primary-color);font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-node-clear{background:#0000;color:var(--text-light);font-size:1.25rem}.selected-node-clear:hover{color:var(--error-color)}.chat-input-form{background:#fff;border-top:1px solid #0000000d;padding:1.25rem}.chat-input-row{align-items:center;display:flex;gap:.75rem}.chat-pill-action{align-items:center;background:#fff;border:1.5px solid var(--bg-input);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--text-secondary);display:flex;font-size:1.125rem;height:2.5rem;justify-content:center;transition:all var(--transition-fast);width:2.5rem}.chat-pill-action:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-1px)}.chat-input-container{align-items:center;background:var(--bg-input);border:1.5px solid #0000;border-radius:999px;display:flex;flex:1 1;padding:.25rem;transition:all var(--transition-fast)}.chat-input-container:focus-within{background:#fff;border-color:var(--accent-color);box-shadow:0 0 0 4px #0ea5e91a}.chat-input-field{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:.9375rem;outline:none;padding:.5rem 1rem}.chat-send-pill{background:var(--primary-color);border-radius:999px;color:#fff;font-size:.8125rem;font-weight:700;letter-spacing:.025em;padding:.5rem 1.25rem;text-transform:uppercase;transition:all var(--transition-fast)}.chat-send-pill:hover:not(:disabled){background:var(--accent-color);transform:translateY(-1px)}.chat-send-pill:disabled{background:var(--text-light);opacity:.5}.chat-files-preview{background:#f8fafc;border-top:1px solid #0000000d;display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.25rem}.chat-file-pill{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:6px;box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.25rem .625rem}.chat-file-pill .file-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-item{background:#0000;color:var(--text-light);font-size:1rem;line-height:1;padding:0 2px}.remove-file-item:hover{color:var(--error-color)}@media (max-width:768px){.chat-input-form{padding:.75rem}}.chat-pdf-options{align-items:center;animation:fadeIn .3s ease-out;background:#0ea5e90d;border-top:1px solid #0ea5e91a;display:flex;gap:.75rem;padding:.75rem 1.25rem}.chat-range-label{color:var(--accent-color);font-size:.75rem;font-weight:700;text-transform:uppercase}.chat-range-input{background:#fff;border:1px solid var(--bg-input);border-radius:6px;font-size:.75rem;outline:none;padding:.25rem .5rem;width:60px}.chat-range-input:focus{border-color:var(--accent-color)}.chat-range-hint{color:var(--text-light);font-size:.6875rem;font-style:italic;opacity:.8}.diagram-wrapper{background:var(--bg-page);background:#fff;border:1px solid #0000000d;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-height:500px;overflow:hidden;position:relative}.diagram-header,.diagram-wrapper{display:flex;flex-direction:column}.diagram-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #0000000d;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);left:1rem;max-width:90%;padding:.5rem 1rem;pointer-events:none;position:absolute;top:1rem;z-index:10}.diagram-page-container .diagram-header{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;height:80px;justify-content:center;left:50%;max-width:600px;padding:0;position:fixed;top:0;transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:110}.diagram-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0;max-width:400px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #fffc;white-space:nowrap}.diagram-summary{display:none}.diagram-main-content{background:#fafafa;display:flex;flex:1 1;min-height:400px;position:relative}.diagram-canvas-container{background:radial-gradient(circle at 2px 2px,#0000000d 1px,#0000 0);background-size:32px 32px;flex:1 1;overflow:hidden;position:relative}.diagram-container{height:100%;width:100%}.diagram-canvas{cursor:grab;position:relative}.diagram-canvas:active{cursor:grabbing}.diagram-connections{left:0;pointer-events:none;position:absolute;top:0}.diagram-node{position:absolute;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;-webkit-user-select:none;user-select:none}.diagram-node-dragging{transition:none!important;z-index:1000!important}.diagram-node-chat-selected .node-card{box-shadow:0 0 0 4px var(--accent-color),var(--shadow-xl)}.diagram-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #0000000d;border-radius:999px;bottom:.75rem;box-shadow:var(--shadow-lg);gap:.5rem;left:50%;padding:.375rem;position:absolute;transform:translateX(-50%);z-index:10}.control-btn,.diagram-controls{align-items:center;display:flex}.control-btn{background:#0000;border-radius:50%;color:var(--text-secondary);font-size:1.5rem;height:2.75rem;justify-content:center;line-height:1;transition:all var(--transition-fast);width:2.75rem}.control-btn:hover{background:var(--bg-input);color:var(--primary-color)}.control-divider{background:#0000001a;height:1rem;margin:0 .25rem;width:1px}.export-btn-group{display:flex;gap:.25rem}.export-btn{background:#0000;border-radius:999px;font-size:.75rem;font-weight:600;padding:.375rem .75rem}.export-btn:hover{background:var(--bg-input);color:var(--primary-color)}.share-btn{background:var(--accent-color)!important;color:#fff!important;padding:.375rem .875rem!important}.share-btn:hover{background:var(--accent-hover)!important}.chat-toggle-floating{align-items:center;background:var(--primary-color);border-radius:50%;bottom:.75rem;box-shadow:var(--shadow-lg);color:#fff;display:flex;height:2.75rem;justify-content:center;position:absolute;right:.75rem;transition:all .3s cubic-bezier(.16,1,.3,1);width:2.75rem;z-index:10}.chat-toggle-floating:hover{background:var(--accent-hover);transform:translateY(-2px)}.chat-toggle-floating.active{background:var(--accent-color)}.diagram-chat-sidebar{background:#fff;border-left:1px solid #0000000d;display:flex;flex-direction:column;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1);width:380px;z-index:50}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-chat-close{align-items:center;background:#fff;border:1px solid #0000001a;border-radius:50%;box-shadow:var(--shadow-md);color:var(--text-secondary);display:none;font-size:1.25rem;height:2.25rem;justify-content:center;position:absolute;right:.75rem;top:.5rem;width:2.25rem;z-index:100}@media (max-width:768px){.diagram-chat-sidebar{bottom:0;box-shadow:-10px 0 30px #00000026;max-width:400px;position:absolute;right:0;top:0;width:85%;z-index:1000}.mobile-chat-close{display:flex}}.export-buttons{border-top:1px solid #0000000d;gap:1rem;justify-content:center;padding:1rem 2rem}.export-btn,.export-buttons{background:#fff;display:flex}.export-btn{align-items:center;border:1px solid var(--bg-input);color:var(--text-secondary);font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem}.export-btn:hover{background:#0ea5e90d;border-color:var(--accent-color);color:var(--accent-color)}.diagram-empty{align-items:center;color:var(--text-light);display:flex;font-weight:500;height:300px;justify-content:center}.export-dropdown{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #0000000d;border-radius:var(--radius-lg);bottom:100%;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:.25rem;left:50%;margin-bottom:.75rem;min-width:140px;padding:.5rem;position:absolute;transform:translateX(-50%)}.export-dropdown button{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;text-align:left;transition:all var(--transition-fast);white-space:nowrap}.export-dropdown button:hover{background:var(--bg-input);color:var(--accent-color)}.control-btn.active{background:var(--bg-input);color:var(--primary-color)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.diagram-wrapper{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.diagram-header,.diagram-page-container .diagram-header{display:none}.diagram-title{font-size:1.25rem}.diagram-chat-sidebar{bottom:0;position:absolute;right:0;top:0;width:100%;z-index:1000}.mobile-chat-close{display:flex}.export-buttons{flex-direction:column;padding:1rem}.export-btn{justify-content:center;width:100%}.diagram-controls{bottom:1rem;max-width:90%;width:auto}.diagram-main-content{min-height:180px}.diagram-summary{display:none}}.diagram-edge-group{cursor:pointer;pointer-events:all;transition:all .2s}.diagram-edge-group:hover .edge-path{stroke-width:3;opacity:.8!important}.diagram-edge-group:hover .edge-label-bg{fill:var(--primary-color);stroke:var(--primary-color)}.diagram-edge-group:hover .edge-label-text{fill:#fff}.edge-label-bg{fill:#fff;stroke:var(--accent-color);stroke-width:1.5px;opacity:1;transition:all .2s}.edge-label-text{fill:var(--accent-color);font-size:9px;font-weight:800;letter-spacing:.08em;pointer-events:none;text-transform:uppercase;transition:all .2s}.diagram-edge-group.selected .edge-path{stroke-width:3;opacity:1!important}.diagram-edge-group.selected .edge-label-bg{fill:var(--accent-color);stroke:var(--accent-color)}.diagram-edge-group.selected .edge-label-text{fill:#fff}.edge-popover{animation:popoverFadeIn .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border-radius:16px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;overflow:hidden;padding:0;position:absolute;width:280px;z-index:1000}@keyframes popoverFadeIn{0%{opacity:0;transform:translate(-50%,-90%) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.edge-popover-header{align-items:center;background:#0ea5e90d;border-bottom:1px solid #00000008;display:flex;gap:.5rem;padding:.75rem 1rem}.popover-icon{font-size:1rem}.popover-title{color:var(--text-light);flex:1 1;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.popover-close{background:#0000;border:none;color:var(--text-light);cursor:pointer;font-size:1.25rem;line-height:1}.popover-close:hover{color:var(--error-color)}.edge-popover-content{padding:1rem}.reasoning-text{color:var(--text-primary);font-size:.875rem;font-style:italic;line-height:1.6;margin:0 0 1rem}.popover-footer{display:flex;justify-content:flex-end}.relationship-tag{background:var(--accent-color);border-radius:999px;color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.05em;padding:.25rem .625rem;text-transform:uppercase}.popover-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #fffffff2;bottom:-6px;height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.share-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.share-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:450px;padding:1.5rem;width:90%}.share-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.share-header h2{color:#1a1a1a;font-size:1.25rem;margin:0}.close-btn{color:#666}.visibility-toggle{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.toggle-info h3{color:#333;font-size:1rem;margin:0 0 .25rem}.toggle-info p{color:#666;font-size:.875rem;margin:0}.switch{display:inline-block;height:28px;position:relative;width:50px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:20px;left:4px;width:20px}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{transform:translateX(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.share-link-container{animation:slideDown .3s ease-out}.link-box{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;display:flex;margin-bottom:1rem;padding:.5rem}.link-text{color:#333;flex:1 1;font-family:monospace;font-size:.9rem;margin-right:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{background:#fff;border:1px solid #ccc;border-radius:6px;color:#333;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s}.copy-btn:hover{background:#f0f0f0}.social-actions{display:flex;gap:.5rem}.social-btn{border-radius:8px;flex:1 1;font-size:.9rem;font-weight:500;padding:.6rem;text-align:center;text-decoration:none;transition:opacity .2s}.social-btn.whatsapp{background-color:#25d366;color:#fff}.social-btn:hover{opacity:.9}.visibility-toggle-container{align-items:center;display:flex;gap:1rem}.share-spinner{animation:spin .8s linear infinite;border:2px solid #0000001a;border-radius:50%;border-top-color:#2196f3;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}.settings-container{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.settings-title{color:#1a1a1a;font-size:2rem;font-weight:700;margin-bottom:2rem}.settings-section{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.settings-section h2{border-bottom:1px solid #f0f0f0;color:#1a1a1a;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem}.section-desc{color:#666;font-size:.9rem;margin-bottom:1rem}.profile-card,.profile-info{align-items:center;display:flex}.profile-info{gap:1rem}.profile-avatar{border-radius:50%;height:50px;object-fit:cover;width:50px}.profile-name{color:#333;font-size:1rem;font-weight:600}.profile-email{color:#666;font-size:.9rem}.credits-card{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem}.credits-info{display:flex;flex-direction:column}.credits-label{color:#666;font-size:.85rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.credits-amount{color:#1565c0;font-size:2rem;font-weight:700}.shared-list{display:flex;flex-direction:column;gap:.75rem}.shared-item{align-items:center;background:#f8f9fa;border:1px solid #eee;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.shared-item-info{display:flex;flex-direction:column;gap:.25rem}.shared-item-title{color:#333;font-weight:500}.shared-item-link{color:#1565c0;font-size:.85rem;text-decoration:none}.shared-item-link:hover{text-decoration:underline}.empty-state{background:#f9f9f9;border-radius:8px;color:#999;font-style:italic;padding:2rem;text-align:center}.btn-primary{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:background .2s}.btn-primary:hover{background:#0d47a1}.btn-secondary{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.btn-secondary.small{font-size:.85rem;padding:.4rem .8rem}.btn-secondary:hover{background:#f5f5f5;color:#333}.loading{color:#666;padding:4rem;text-align:center}.privacy-page{background-color:var(--bg-page);min-height:100vh;padding:8rem 1.5rem 4rem}.privacy-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:800px;padding:3rem}.privacy-header{border-bottom:1px solid var(--bg-input);margin-bottom:3rem;padding-bottom:1.5rem}.privacy-header h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:.5rem}.last-updated{color:var(--text-light);font-size:.875rem}.privacy-section{margin-bottom:2.5rem}.privacy-section h2{align-items:center;color:var(--primary-color);display:flex;font-size:1.5rem;gap:.75rem}.privacy-item,.privacy-section h2{margin-bottom:1.5rem}.privacy-item h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.privacy-section p{line-height:1.6}.privacy-section p,.privacy-section ul{color:var(--text-secondary);margin-bottom:1rem}.privacy-section ul{padding-left:1.5rem}.privacy-section li{margin-bottom:.5rem}.privacy-section a{color:var(--accent-color);font-weight:500;text-decoration:none}.privacy-section a:hover{text-decoration:underline}@media (max-width:768px){.privacy-page{padding-top:6rem}.privacy-container{padding:2rem}.privacy-header h1{font-size:2rem}}.credits-modal-overlay{background-color:initial;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1200}.credits-modal-content{animation:scaleIn .2s ease-out;background:#fff;border:1px solid #0000001a;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:1.5rem;width:320px}.credits-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.credits-modal-header h3{color:#1a1a1a;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.close-btn:hover{color:#333}.credits-modal-body p{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.usage-list{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:.75rem}.usage-item{border-bottom:1px solid #eee;display:flex;font-size:.9rem;justify-content:space-between;padding:.5rem 0}.usage-item:last-child{border-bottom:none}.usage-action{color:#333;font-weight:500}.usage-cost{color:#1565c0;font-weight:600}.credits-modal-buy-btn{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem;transition:background .2s;width:100%}.credits-modal-buy-btn:hover{background:#0d47a1}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.credits-modal-overlay{align-items:center;background-color:#0006;display:flex;justify-content:center}.credits-modal-content.popover{box-shadow:0 10px 25px #0003;left:auto!important;margin:0!important;max-width:320px;position:relative!important;top:auto!important;width:90%}}.user-menu-container{position:relative}.user-menu-btn{align-items:center;background:#0000;border:2px solid #0000;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:2px;transition:all .2s}.user-menu-btn:focus,.user-menu-btn:hover{border-color:var(--accent-color)}.user-avatar-small{border-radius:50%;height:40px;object-fit:cover;width:40px}.user-avatar-placeholder{align-items:center;background:var(--accent-color);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-menu-overlay{background:#0000;inset:0;position:fixed;z-index:900}.user-menu-dropdown{animation:slideDown .15s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 0 0 1px #0000000d;margin-top:.75rem;padding:.5rem;position:absolute;right:0;top:100%;transform-origin:top right;width:240px;z-index:950}@keyframes slideDown{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.user-menu-header{border-bottom:1px solid #f1f5f9;margin-bottom:.5rem;padding:.75rem 1rem}.user-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:var(--text-secondary);font-size:.8rem}.user-menu-item{background:#0000;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;padding:.6rem 1rem;text-align:left;text-decoration:none;transition:all .15s;width:100%}.user-menu-item:hover{background:#f8fafc;color:var(--accent-color)}.user-menu-item.logout{color:var(--error-color)}.user-menu-item.logout:hover{background:#fef2f2}.user-menu-divider{background:#f1f5f9;height:1px;margin:.5rem 0}.header-logo-img{border-radius:6px;height:32px;margin-right:.75rem;width:auto}@media (max-width:768px){.header-logo-img{height:28px;margin-right:.5rem}}.footer{background-color:#fff;border-top:1px solid var(--bg-input);margin-top:auto;padding:4rem 1.5rem 2.5rem}.footer-container{display:flex;flex-direction:column;margin:0 auto;max-width:1200px}.footer-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:2.5rem;width:100%}.footer-brand{display:flex;flex-direction:column;gap:.5rem}.footer-logo{color:var(--primary-color);font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none}.footer-logo span{color:var(--accent-color)}.footer-tagline{color:var(--text-secondary);font-size:.875rem;line-height:1.5;max-width:320px}.footer-nav{align-items:center;display:flex;gap:2.5rem}.footer-link{border-bottom:2px solid #0000;color:var(--text-secondary);font-size:.9375rem;font-weight:500;text-decoration:none;transition:all .2s}.footer-link:hover{color:var(--accent-color)}.footer-divider{background:var(--bg-input);height:1px;margin-bottom:1.5rem;width:100%}.footer-bottom{display:flex;justify-content:center;width:100%}.footer-copyright{color:var(--text-light);font-size:.875rem;font-weight:400}@media (max-width:768px){.footer{padding:3rem 1.5rem 2rem}.footer-top{align-items:center;flex-direction:column;gap:2.5rem;text-align:center}.footer-nav{flex-direction:column;gap:1.25rem}.footer-brand{align-items:center}}.buy-credits-container{margin-bottom:24px;text-align:center}.credits-current-balance{color:#666;margin-bottom:16px}.price-card{background:#f5f5f5;border-radius:12px;margin-bottom:24px;padding:24px;transition:transform .2s ease}.price-card:hover{transform:translateY(-2px)}.price-amount{color:#1565c0;font-size:48px;font-weight:700;line-height:1}.price-title{color:#333;font-size:18px;font-weight:600;margin-top:8px}.price-subtitle{color:#666;font-size:14px;margin-top:4px}.buy-error-message{color:#e53935;font-size:14px;margin-bottom:16px;text-align:center}@media (max-width:480px){.modal-content{max-width:360px!important;padding:1.5rem!important;width:95%!important}.price-amount{font-size:36px}.price-title{font-size:16px}.modal-title{font-size:1.5rem!important}}