.onboarding-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .15s ease-out}.onboarding-modal{background:#fafafa;border-radius:10px;box-shadow:0 10px 40px #0000001f;width:100%;max-width:420px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:scaleIn .15s ease-out;border:1px solid #e5e5e5;font-family:Inter,system-ui,-apple-system,sans-serif}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.onboarding-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e8e8e8;background:#fafafa}.onboarding-logo{font-size:14px;font-weight:600;color:#1a1a1a;letter-spacing:-.01em}.onboarding-skip{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:#888;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.onboarding-skip:hover{background:#f0f0f0;color:#1a1a1a}.onboarding-skip:disabled{opacity:.5;cursor:not-allowed}.onboarding-progress{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e8e8e8}.progress-step{display:flex;align-items:center;gap:6px}.step-number{width:22px;height:22px;border-radius:50%;background:#e5e5e5;color:#999;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;transition:all .15s ease}.progress-step.active .step-number{background:#1a1a1a;color:#fff}.progress-step.completed .step-number{background:#22c55e;color:#fff}.step-connector{width:24px;height:2px;background:#e5e5e5}.progress-step.completed .step-connector{background:#22c55e}.onboarding-content{flex:1;overflow-y:auto;padding:20px 16px;background:#fff}.step-content h2{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 4px;letter-spacing:-.01em}.step-subtitle{font-size:13px;color:#888;margin:0 0 20px;font-weight:450}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.option-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center}.option-card:hover{border-color:#ccc;background:#f5f5f5}.option-card.selected{border-color:#1a1a1a;background:#f5f5f5}.option-card svg{color:#888}.option-card.selected svg{color:#1a1a1a}.option-label{font-size:13px;font-weight:600;color:#1a1a1a}.option-description{font-size:11px;color:#999;font-weight:450}.options-list{display:flex;flex-direction:column;gap:6px}.option-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.option-row:hover{border-color:#ccc;background:#f5f5f5}.option-row.selected{border-color:#1a1a1a;background:#f5f5f5}.option-row svg{color:#888;flex-shrink:0}.option-row.selected svg{color:#1a1a1a}.option-row span{flex:1;font-size:13px;font-weight:500;color:#1a1a1a}.option-row .check-icon{color:#1a1a1a}.input-group{margin-top:12px}.input-group label{display:block;font-size:12px;font-weight:500;color:#666;margin-bottom:6px}.input-group input{width:100%;padding:9px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;font-weight:450;transition:all .15s ease;box-sizing:border-box;background:#fff;color:#1a1a1a}.input-group input:hover{border-color:#ccc}.input-group input:focus{outline:none;border-color:#1a1a1a}.input-group input::placeholder{color:#bbb}.team-size-options{display:flex;gap:8px;flex-wrap:wrap}.team-size-btn{padding:7px 14px;background:#fafafa;border:1px solid #e5e5e5;border-radius:6px;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s ease}.team-size-btn:hover{border-color:#ccc;background:#f5f5f5}.team-size-btn.selected{border-color:#1a1a1a;background:#1a1a1a;color:#fff}.use-cases-grid{display:flex;flex-wrap:wrap;gap:8px}.use-case-chip{display:flex;align-items:center;gap:5px;padding:7px 12px;background:#fafafa;border:1px solid #e5e5e5;border-radius:16px;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s ease}.use-case-chip:hover{border-color:#ccc;background:#f5f5f5}.use-case-chip.selected{border-color:#1a1a1a;background:#1a1a1a;color:#fff}.use-case-chip.selected svg{color:#fff}.onboarding-error{margin:0 16px 12px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:12px;font-weight:500}.onboarding-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #e8e8e8;background:#fafafa}.footer-spacer{flex:1}.btn-back{display:flex;align-items:center;gap:5px;padding:8px 14px;background:transparent;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .15s ease}.btn-back:hover{border-color:#ccc;background:#f5f5f5}.btn-back:disabled{opacity:.5;cursor:not-allowed}.btn-next,.btn-complete{display:flex;align-items:center;gap:5px;padding:8px 16px;background:#1a1a1a;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.btn-next:hover,.btn-complete:hover{background:#333}.btn-next:disabled,.btn-complete:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.onboarding-modal{max-height:100vh;border-radius:0;max-width:100%}.options-grid{grid-template-columns:1fr}}.top-nav{position:fixed;top:0;left:0;right:0;background:#fffc;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);z-index:1000;height:60px}.nav-container{max-width:1280px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:8px;cursor:pointer}.logo{width:24px;height:24px;object-fit:contain}.brand-text{font-size:16px;font-weight:600;color:#000;letter-spacing:-.02em}.nav-center{display:flex;align-items:center;gap:0}.nav-link{background:none;border:none;padding:8px 16px;font-size:15px;font-weight:450;color:#6b7280;cursor:pointer;border-radius:6px;transition:color .12s ease;letter-spacing:-.01em;position:relative}.nav-link:hover{color:#111827}.nav-link.nav-external{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px}.nav-x-icon{width:48px;height:48px;display:block;object-fit:contain;opacity:.86;filter:saturate(.9);transform:scale(1.15)}.nav-link.nav-external:hover .nav-x-icon{opacity:1;filter:saturate(1)}.nav-actions{display:flex;align-items:center;gap:8px}.nav-login{background:#3b82f6;border:1px solid #3b82f6;padding:7px 14px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;border-radius:6px;transition:all .12s ease;letter-spacing:-.01em}.nav-login:hover{background:#2563eb;border-color:#2563eb}.nav-signup{background:#000;border:none;padding:7px 14px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;border-radius:6px;transition:all .15s ease;letter-spacing:-.01em}.nav-signup.nav-google{display:inline-flex;align-items:center;gap:8px}.nav-signup.nav-google .google-icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center}.nav-signup.nav-google .google-icon svg{display:block}.nav-signup:hover{background:#1a1a1a;transform:translateY(-.5px);box-shadow:0 4px 12px #00000026}.hero-section{padding:80px 32px 60px;max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.hero-section:before{content:"";position:absolute;inset:-60px -60px -90px;background-image:url(/ss/1.png);background-repeat:no-repeat;background-position:50% 20%;background-size:min(980px,92vw) auto;opacity:.16;filter:blur(14px) saturate(1.05) contrast(.95);z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(68% 68% at 50% 28%,rgba(0,0,0,.96) 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,.3) 62%,transparent 80%);mask-image:radial-gradient(68% 68% at 50% 28%,rgba(0,0,0,.96) 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,.3) 62%,transparent 80%)}.hero-left{flex:1;display:flex;flex-direction:column;align-items:center;gap:48px}.hero-art{display:flex;justify-content:center;align-items:center}.hero-illustration{width:378px;height:auto;object-fit:contain}.hero-content{text-align:center;max-width:500px}.hero-right{flex:1;display:flex;justify-content:center;align-items:center}.diagram-preview{width:100%;max-width:500px;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(0,0,0,.06)}.diagram-screenshot{width:100%;height:auto;display:block}.hero-content h1{font-size:3.2rem;font-weight:700;color:#000;margin:0 0 20px;letter-spacing:-.04em;line-height:1.15}.hero-content p{font-size:1.25rem;color:#4b5563;margin:0;font-weight:450;letter-spacing:-.01em}.hero-press{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.hero-press-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.1);background:#ffffffa6;box-shadow:0 1px #0f172a0a;transition:background .15s ease,border-color .15s ease,transform .15s ease;text-decoration:none}.hero-press-link:hover{background:#ffffffe0;border-color:#0f172a29;transform:translateY(-.5px)}.hero-press-link.hero-press-link--ph{padding:0;border:none;background:transparent;box-shadow:none}.hero-press-link.hero-press-link--ph:hover{background:transparent;border-color:transparent;transform:translateY(-.5px)}.hero-press-logo{width:120px;height:auto;display:block;opacity:1;filter:none}.hero-press-logo.hero-press-logo--ph{width:250px;max-width:min(250px,80vw)}.hero-press-link:hover .hero-press-logo{opacity:1;filter:none}.types-section{padding:20px 32px;max-width:1200px;margin:0 auto;display:flex;justify-content:center;position:relative}.types-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.types-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:16px;align-items:center}.type-item{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.type-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#94a3b8;transition:color .2s ease}.type-item span{font-size:12px;font-weight:500;color:#64748b;letter-spacing:-.01em}.type-item:hover .type-icon{color:#475569}.demo-section{padding:40px 32px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:32px;position:relative}.demo-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.demo-header{text-align:center;max-width:600px}.demo-login-cta-row{display:flex;justify-content:center;margin-bottom:10px}.demo-login-cta{height:34px;min-width:160px;padding-left:18px;padding-right:18px}.demo-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.demo-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.demo-container{width:100%;max-width:1000px;position:relative}.demo-image{width:100%;height:auto;border-radius:8px;border:none;object-fit:cover;background:transparent;display:block;clip-path:inset(2px 0 0 0)}.demo-iframe{width:100%;height:600px;border:none;background:transparent}.demo-footer{width:100%;max-width:800px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:24px;border-top:1px solid #e2e8f0}.feature-item{display:flex;align-items:center;justify-content:center;text-align:center}.feature-label{font-size:14px;font-weight:500;color:#64748b;letter-spacing:-.01em}.landing-sandbox{width:100%;display:flex;flex-direction:column;gap:14px}.landing-sandbox-top{width:100%;display:flex;justify-content:center}.landing-sandbox-prompt{width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.landing-sandbox-bar{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-radius:999px;position:relative;isolation:isolate;overflow:visible;background:transparent}.landing-sandbox-nudge{position:absolute;left:16px;top:-42px;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;border:1px solid rgba(99,102,241,.18);background:#ffffffe0;box-shadow:0 14px 28px #0206171a,inset 0 1px #ffffffd9;color:#0f172ad1;font-size:12px;font-weight:650;letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;transform:translateY(6px);animation:landingSandboxNudgeIn .35s ease-out .65s forwards}.landing-sandbox-nudge:after{content:"";position:absolute;left:22px;bottom:-7px;width:12px;height:12px;background:#ffffffeb;border-left:1px solid rgba(99,102,241,.22);border-bottom:1px solid rgba(99,102,241,.22);transform:rotate(-45deg);border-bottom-left-radius:3px}.landing-sandbox-nudge:hover{transform:translateY(-1px)}.landing-sandbox-nudge-text{white-space:nowrap}.landing-sandbox-nudge-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,#6366f1fa,#ec4899db);box-shadow:0 0 0 3px #6366f11a,0 6px 14px #0206171a;animation:landingSandboxNudgePulse 2.4s ease-in-out infinite;flex:0 0 auto}.landing-sandbox-nudge-arrow{font-size:14px;line-height:1;opacity:.75;transform:translateY(0);animation:landingSandboxNudgeArrow 1.6s ease-in-out infinite}@keyframes landingSandboxNudgeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes landingSandboxNudgePulse{0%,to{opacity:.92;box-shadow:0 0 0 3px #6366f11a,0 6px 14px #0206171a}50%{opacity:1;box-shadow:0 0 0 6px #6366f114,0 6px 18px #0206171f}}@keyframes landingSandboxNudgeArrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media(max-width:640px){.landing-sandbox-nudge{left:14px;top:-50px;font-size:11px;padding:8px 10px}.landing-sandbox-nudge:after{left:18px}}@media(prefers-reduced-motion:reduce){.landing-sandbox-nudge,.landing-sandbox-nudge-dot,.landing-sandbox-nudge-arrow{animation:none!important}}.landing-sandbox-bar:before{content:"";position:absolute;inset:-3px;border-radius:999px;padding:3px;background:linear-gradient(90deg,#3b82f6f2,#6366f1f2,#ec4899e0,#fbbf24e6,#10b981d1,#3b82f6f2);background-size:320% 100%;opacity:.92;filter:saturate(1.05);animation:landingSandboxRainbowShift 3.2s ease-in-out infinite;z-index:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.landing-sandbox-bar:after{content:"";position:absolute;inset:0;border-radius:999px;background:#ffffffdb;box-shadow:0 14px 34px #02061714,inset 0 1px #ffffffb3;z-index:1;pointer-events:none}.landing-sandbox-bar:hover:before{opacity:1;filter:saturate(1.12)}.landing-sandbox-badge{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#0f172ab8;padding:6px 10px;border-radius:999px;background:#0f172a0e;z-index:2;letter-spacing:-.01em;text-transform:uppercase;font-size:11px}.landing-sandbox-badge-dot{width:7px;height:7px;border-radius:999px;background:linear-gradient(135deg,#3b82f6f2,#ec4899d1,#10b981c7);box-shadow:0 0 0 2px #ffffffbf;flex:0 0 auto}.landing-sandbox-badge:before{content:"";position:absolute;inset:0;border-radius:999px;padding:2px;background:linear-gradient(135deg,#6366f147,#ec48992e,#10b98129);opacity:.85;z-index:-1;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.landing-sandbox-input{width:100%;resize:none;border:0;outline:none;background:transparent;font-size:14px;line-height:1.35;padding:6px;color:#0f172a;z-index:2}.landing-sandbox-input::placeholder{color:#0f172a73}.landing-sandbox-primary{position:relative;border:0;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700;color:#fffffff5;cursor:pointer;background:linear-gradient(180deg,#0f172af2,#020617f5);box-shadow:0 14px 30px #02061733;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;z-index:2;overflow:hidden;display:inline-flex;align-items:center;gap:8px}.landing-sandbox-ring-spinner{width:18px;height:18px;border-radius:999px;display:inline-block;flex:0 0 auto;background:conic-gradient(#3b82f600,#3b82f6eb,#6366f1eb,#ec4899d9,#fbbf24d9,#10b981c7,#3b82f6eb);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:landingSandboxRingSpin .85s linear infinite;filter:saturate(1.1)}.landing-sandbox-overlay-chip .landing-sandbox-ring-spinner{width:20px;height:20px;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px))}@keyframes landingSandboxRingSpin{to{transform:rotate(360deg)}}.landing-sandbox-progress{width:100%;height:2px;border-radius:999px;margin-top:8px;background:#0f172a14;overflow:hidden;position:relative}.landing-sandbox-progress:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3b82f600,#6366f1a6,#ec48998c,#10b98173,#3b82f600);background-size:200% 100%;animation:landingSandboxProgress 1.1s ease-in-out infinite;opacity:.9}@keyframes landingSandboxProgress{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.landing-sandbox-primary:before{content:"";position:absolute;inset:0;border-radius:999px;padding:2px;background:linear-gradient(90deg,#3b82f6c7,#ec4899a8,#fbbf249e,#10b98199,#3b82f6c7);background-size:320% 100%;opacity:.86;animation:landingSandboxRainbowShift 3.2s ease-in-out infinite;z-index:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.landing-sandbox-primary:after{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(120deg,#fff0,#ffffff38,#fff0 36%);transform:translate(-120%);opacity:.75;z-index:1;pointer-events:none}.landing-sandbox-primary:hover{transform:translateY(-.5px);filter:none;box-shadow:0 18px 42px #02061738}.landing-sandbox-primary:hover:after{animation:landingSandboxSheen .9s ease-out 1}@keyframes landingSandboxSheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes landingSandboxRainbowShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.landing-sandbox-primary:disabled{opacity:.75;cursor:default;transform:none;filter:none;box-shadow:none}.landing-sandbox-meta{margin-top:8px;display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap}.landing-sandbox-free-line{font-size:12px;color:#475569eb;letter-spacing:-.01em}@keyframes landingSandboxGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.landing-sandbox-label{font-size:12px;font-weight:600;color:#0f172a;letter-spacing:-.01em;margin-bottom:8px}.landing-sandbox-textarea{width:100%;resize:none;border-radius:10px;border:0;background:#ffffffeb;padding:10px 12px;font-size:14px;line-height:1.45;outline:none}.landing-sandbox-textarea:focus{box-shadow:0 0 0 4px #0f172a14}.landing-sandbox-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.landing-sandbox-generate{background:#0f172a;border:1px solid rgba(15,23,42,.18);color:#fff;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.landing-sandbox-generate:hover{background:#111c33;transform:translateY(-.5px);box-shadow:0 10px 18px #0000001f}.landing-sandbox-generate:disabled{opacity:.7;cursor:default;transform:none;box-shadow:none}.landing-sandbox-hint{font-size:12px;color:#64748b}.landing-sandbox-error{margin-top:10px;font-size:12px;color:#b91c1c}.landing-sandbox-canvas{width:100%;height:520px;border-radius:12px;overflow:hidden;border:0;background:#fff;box-shadow:0 24px 64px #02061724;position:relative}.landing-sandbox-canvas-enter{animation:landingSandboxCanvasEnter .28s ease-out both}@keyframes landingSandboxCanvasEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.landing-sandbox-bar:before{animation:none}.landing-sandbox-primary:before{animation:none}.landing-sandbox-ring-spinner{animation:none}}.landing-sandbox-canvas .react-flow__pane{cursor:grab}.landing-sandbox-canvas .react-flow__pane:active{cursor:grabbing}.landing-sandbox-canvas .react-flow__node{cursor:grab}.landing-sandbox-canvas .react-flow__node:active{cursor:grabbing}.landing-sandbox-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(800px 500px at 50% 30%,#0f172a0f,#0f172a1f 60%,#0f172a2e);opacity:0;pointer-events:none;transition:opacity .18s ease}.landing-sandbox-overlay.is-visible{opacity:1;pointer-events:all}.landing-sandbox-overlay-inner{width:100%;display:flex;align-items:center;justify-content:center;padding:12px}.landing-sandbox-overlay-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 44px #0206172e;font-size:13px;font-weight:700;color:#0f172ad6}.landing-sandbox-spinner{width:22px;height:22px;margin:0 auto 10px;border-radius:999px;border:2px solid rgba(15,23,42,.14);border-top-color:#0f172ac7;animation:landingSandboxSpin .9s linear infinite}.landing-sandbox-overlay-title{font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.landing-sandbox-overlay-subtitle{margin-top:4px;font-size:12px;color:#475569}@keyframes landingSandboxSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.use-cases-section{padding:40px 32px;max-width:1200px;margin:0 auto;position:relative}.use-cases-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.use-cases-header{text-align:center;max-width:600px;margin:0 auto 32px}.use-cases-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.use-cases-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.use-cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.use-case-card{display:flex;flex-direction:row;gap:20px;align-items:center}.use-case-image{flex:0 0 120px;height:120px}.use-case-image img{width:100%;height:100%;display:block;object-fit:contain}.use-case-content{flex:1}.use-case-content h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 6px;letter-spacing:-.02em}.use-case-content p{font-size:13px;color:#64748b;line-height:1.5;margin:0}.integrations-section{padding:40px 32px;max-width:1200px;margin:0 auto;position:relative}.integrations-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.integrations-header{text-align:center;max-width:600px;margin:0 auto 32px}.integrations-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.integrations-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.integrations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.integrations-disclaimer{max-width:1200px;margin:18px auto 0;padding:0 32px;font-size:11px;line-height:1.45;color:#94a3b8;text-align:center}.integration-item{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.integration-item.integration-link{text-decoration:none;color:inherit;cursor:pointer}.integration-item.integration-link:hover .integration-content h3{color:#0f172a}.integration-actions{display:flex;justify-content:center;margin-top:10px}.integration-cta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#2563eb;background:transparent;border:none;padding:0;line-height:1}.integration-item.integration-link:hover .integration-cta{text-decoration:underline}.integration-cta:after{content:"→";display:inline-block;transform:translate(0);transition:transform .12s ease}.integration-item.integration-link:hover .integration-cta:after{transform:translate(2px)}.integration-logo{width:48px;height:48px}.integration-logo img{width:100%;height:100%;object-fit:contain;border-radius:4px}.integration-content{width:100%}.integration-content h3{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px;letter-spacing:-.015em}.integration-content p{font-size:12px;color:#64748b;line-height:1.4;margin:0}.integration-item.coming-soon{opacity:.6}.coming-indicator{font-size:10px;font-weight:400;color:#94a3b8;margin-left:6px}.landing{min-height:100vh;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.content{text-align:center;max-width:400px;padding:40px}.content h1{font-size:2rem;font-weight:600;color:#111;margin:0 0 16px}.content p{font-size:1.1rem;color:#666;margin:0 0 32px}.buttons{display:flex;flex-direction:column;gap:12px}.btn-primary{background:#000;color:#fff;border:1px solid #000000;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#333;border-color:#333}.btn-secondary{background:transparent;color:#000;border:1px solid #e5e5e5;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f5f5f5;border-color:#d4d4d4}@media(max-width:768px){.nav-container{padding:0 20px}.nav-center{display:none}.brand-text{font-size:15px}.logo{width:22px;height:22px}.nav-actions{gap:6px}.nav-login,.nav-signup{padding:6px 12px;font-size:13px}.hero-section{padding:80px 20px 40px;flex-direction:column;gap:32px}.hero-left{gap:32px}.hero-illustration{max-width:300px}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.1rem}.diagram-preview{max-width:400px}.types-section{padding:16px 20px}.types-grid{grid-template-columns:repeat(4,1fr);gap:12px}.type-icon{width:28px;height:28px}.type-item span{font-size:11px}.demo-section{padding:24px 20px;gap:24px}.demo-header h2{font-size:1.75rem}.demo-header p{font-size:15px}.demo-image{border-radius:6px}.demo-iframe{height:500px}.feature-grid{grid-template-columns:repeat(2,1fr);gap:16px}.feature-label{font-size:13px}.use-cases-section{padding:24px 20px}.use-cases-header{margin:0 auto 20px}.use-cases-header h2{font-size:1.75rem}.use-cases-header p{font-size:15px}.use-cases-grid{grid-template-columns:1fr;gap:16px}.use-case-card{flex-direction:column;gap:8px;text-align:center}.use-case-image{flex:none;width:100px;height:100px;margin:0 auto}.use-case-content h3{font-size:15px}.use-case-content p{font-size:12px}.integrations-section{padding:24px 20px}.integrations-header{margin:0 auto 20px}.integrations-header h2{font-size:1.75rem}.integrations-header p{font-size:15px}.integrations-grid{grid-template-columns:repeat(2,1fr);gap:16px}.integration-item{gap:8px}.integration-logo{width:40px;height:40px}.integration-content h3{font-size:13px}.integration-content p{font-size:11px}.landing-sandbox-canvas{height:440px}}.features-section{padding:40px 32px;max-width:1200px;margin:0 auto;position:relative}.features-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.features-header{text-align:center;max-width:600px;margin:0 auto 32px}.features-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.features-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.features-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.feature-item{text-align:center;padding:0 20px;transition:transform .15s ease}.feature-item:hover{transform:translateY(-2px)}.feature-item h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px;letter-spacing:-.02em}.feature-item p{font-size:14px;color:#64748b;line-height:1.5;margin:0}@media(max-width:768px){.features-section{padding:24px 20px}.features-header{margin:0 auto 20px}.features-header h2{font-size:1.75rem}.features-header p{font-size:15px}.features-list{gap:20px}.feature-item{padding:0 10px}.feature-item h3{font-size:15px}.feature-item p{font-size:13px}}.why-dashin-section{padding:40px 32px;max-width:1200px;margin:0 auto;position:relative}.why-dashin-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.why-dashin-header{text-align:center;max-width:600px;margin:0 auto 32px}.why-dashin-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.why-dashin-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.why-dashin-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.why-dashin-item{text-align:center;padding:0 20px;transition:transform .15s ease}.why-dashin-item:hover{transform:translateY(-2px)}.why-dashin-item h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px;letter-spacing:-.02em}.why-dashin-item p{font-size:14px;color:#64748b;line-height:1.5;margin:0}@media(max-width:768px){.why-dashin-section{padding:24px 20px}.why-dashin-header{margin:0 auto 20px}.why-dashin-header h2{font-size:1.75rem}.why-dashin-header p{font-size:15px}.why-dashin-list{gap:20px}.why-dashin-item{padding:0 10px}.why-dashin-item h3{font-size:15px}.why-dashin-item p{font-size:13px}}.faq-section{padding:40px 32px 60px;max-width:1200px;margin:0 auto;position:relative}.faq-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.faq-header{text-align:center;max-width:600px;margin:0 auto 32px}.faq-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.faq-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 48px;max-width:800px;margin:0 auto}.faq-card{text-align:left;transition:transform .15s ease}.faq-card:hover{transform:translateY(-1px)}.faq-label{font-size:12px;font-weight:500;color:#94a3b8;margin-bottom:4px}.faq-card h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px;letter-spacing:-.02em}.faq-card p{font-size:14px;color:#64748b;line-height:1.5;margin:0}@media(max-width:768px){.faq-section{padding:24px 20px 40px}.faq-header{margin:0 auto 20px}.faq-header h2{font-size:1.75rem}.faq-header p{font-size:15px}.faq-grid{grid-template-columns:1fr;gap:24px}.faq-card h3{font-size:14px}.faq-card p{font-size:12px}}.landing-footer{border-top:1px solid #e2e8f0;padding:24px 32px;margin-top:40px}.footer-container{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:8px}.footer-logo{width:20px;height:20px;object-fit:contain}.footer-brand-text{font-size:14px;font-weight:600;color:#64748b;letter-spacing:-.01em}.footer-links{display:flex;align-items:center;gap:24px}.footer-link{background:none;border:none;font-size:13px;font-weight:450;color:#94a3b8;cursor:pointer;transition:color .12s ease;letter-spacing:-.01em}.footer-link:hover{color:#64748b}@media(max-width:768px){.landing-footer{padding:20px}.footer-container{flex-direction:column;gap:16px;text-align:center}.footer-links{gap:20px}.footer-link{font-size:12px}.integrations-disclaimer{padding:0 20px;margin-top:14px;font-size:10.5px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:18px;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.02em}.modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#64748b;border-radius:4px;transition:all .15s ease}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:24px;overflow-y:auto;flex:1}.legal-content h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px;letter-spacing:-.02em}.legal-content h3:not(:first-child){margin-top:24px}.legal-content p{font-size:14px;color:#64748b;line-height:1.6;margin:0}@media(max-width:768px){.modal-overlay{padding:16px}.modal-content{max-height:90vh}.modal-header{padding:16px 20px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.legal-content h3{font-size:15px}.legal-content p{font-size:13px}}.interactive-demo-section{padding:40px 32px 60px;max-width:1200px;margin:0 auto;position:relative}.interactive-demo-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%)}.interactive-demo-header{text-align:center;max-width:600px;margin:0 auto 32px}.interactive-demo-header h2{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 8px;letter-spacing:-.025em}.interactive-demo-header p{font-size:16px;color:#64748b;line-height:1.6;margin:0}.interactive-demo-container{width:100%;max-width:1000px;margin:0 auto}@media(max-width:768px){.interactive-demo-section{padding:24px 20px 40px}.interactive-demo-header{margin:0 auto 20px}.interactive-demo-header h2{font-size:1.75rem}.interactive-demo-header p{font-size:15px}}@media(max-width:640px){.content{padding:24px}.content h1{font-size:1.75rem}.content p{font-size:1rem}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.canvas-container{position:absolute;inset:0;background:#fff}.react-flow{background:#fff!important}.react-flow__renderer{background:#fff}.react-flow__controls{box-shadow:var(--shadow-md);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-200);background:#fff}.react-flow__controls-button{background:#fff;border:none;border-bottom:1px solid var(--gray-100);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button:hover{background:var(--gray-50)}.react-flow__controls-button svg{fill:var(--gray-500);width:14px;height:14px}.react-flow__controls-button:hover svg{fill:var(--gray-700)}.canvas-minimap{background:#fff!important;border:1px solid var(--gray-200)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important;overflow:hidden}.react-flow__minimap-mask{fill:#3b82f614}.react-flow__minimap-node{fill:var(--gray-300);stroke:none}.react-flow__background{background-color:#fafbfc}.canvas-container:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:url(/logo.png);background-size:40px 40px;background-repeat:repeat;opacity:.02;filter:grayscale(100%)}.react-flow__selection{background:#3b82f60f;border:1px solid var(--brand-400);border-radius:var(--radius-sm)}.react-flow__edge-path{stroke:var(--gray-400);stroke-width:2.5;fill:none}.canvas-container.diagram-flowchart .react-flow__edge-path{stroke:var(--gray-500)}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--brand-500);stroke-width:3;fill:none}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--brand-400);fill:none}.react-flow__arrowhead{fill:var(--gray-400)}.canvas-container.diagram-flowchart .react-flow__arrowhead{fill:var(--gray-500)}.react-flow__edge-text{font-size:12px;fill:var(--gray-700);font-weight:600;display:block}.react-flow__connection-line{stroke:var(--brand-400);stroke-width:1.5}.react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300)}.react-flow__handle:hover{background:var(--brand-600);transform:scale(1.2)}.react-flow__handle-connecting,.react-flow__handle-valid{background:var(--emerald-500)}.react-flow__attribution{display:none}.react-flow__panel{margin:var(--space-3)}.react-flow__node{overflow:visible!important}.react-flow__node:hover{z-index:1000!important}.tooltip-portal{position:fixed;transform:translate(-50%);z-index:99999;pointer-events:none;animation:tooltipShow .15s ease-out}.tooltip-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1a1a2e;margin:0 auto}.tooltip-content{background:#1a1a2e;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;text-align:center;box-shadow:0 4px 14px #00000040;white-space:normal;word-wrap:break-word;max-width:200px}@keyframes tooltipShow{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.flowchart-node{font-family:var(--font-sans);font-size:12px;font-weight:500;text-align:center;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.flowchart-node.selected{box-shadow:0 0 0 2px var(--brand-500)}.flowchart-node.diamond-wrapper.selected .diamond{border-color:var(--brand-500);box-shadow:0 0 0 2px var(--brand-500),var(--shadow-sm)}.flowchart-node.document-wrapper.selected .document-svg path{stroke:var(--brand-500);stroke-width:2}.flowchart-node.database-wrapper.selected .database-svg ellipse,.flowchart-node.database-wrapper.selected .database-svg path{stroke:var(--brand-500);stroke-width:2}.flowchart-node.manual-operation.selected .trapezoid-svg path{stroke:var(--brand-500);stroke-width:2}.node-label{word-wrap:break-word;overflow-wrap:anywhere;word-break:break-word;line-height:1.4;color:inherit}.flowchart-node.rectangle{padding:12px 20px;min-width:120px;max-width:180px;background:#fff;border:1.5px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);box-shadow:var(--shadow-sm)}.flowchart-node.rectangle:hover{border-color:var(--gray-400);box-shadow:var(--shadow-md)}.flowchart-node.diamond-wrapper{padding:0;background:transparent;border:none;box-shadow:none;display:flex;align-items:center;justify-content:center;width:100px;height:100px}.diamond{width:70px;height:70px;transform:rotate(45deg);background:#fff;border:1.5px solid var(--amber-500);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.diamond-content{transform:rotate(-45deg);text-align:center;padding:4px;font-size:11px;font-weight:500;color:var(--gray-700);max-width:60px;word-wrap:break-word;overflow:hidden;max-height:3.9em}.diamond-handle-top{top:0!important}.diamond-handle-bottom{bottom:0!important}.diamond-handle-left{left:0!important}.diamond-handle-right{right:0!important}.flowchart-node.parallelogram{padding:12px 24px;min-width:120px;max-width:180px;background:#fff;border:1.5px solid var(--brand-400);transform:skew(-12deg);color:var(--gray-700);box-shadow:var(--shadow-sm)}.flowchart-node.parallelogram .node-label{transform:skew(12deg)}.flowchart-node.terminal{padding:12px 32px;min-width:120px;width:auto;max-width:none;background:var(--emerald-500);border:none;border-radius:999px;color:#fff;white-space:nowrap;overflow:visible;text-overflow:unset;display:inline-block}.flowchart-node.terminal:hover{background:var(--emerald-600)}.flowchart-node.circle{width:48px;height:48px;min-width:unset;padding:0;background:#fff;border:1.5px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-600);box-shadow:var(--shadow-sm)}.flowchart-node.circle .node-label{font-size:10px}.flowchart-node.document-wrapper{padding:0;background:transparent;border:none;box-shadow:none;width:120px;height:70px;position:relative}.document-svg{width:100%;height:100%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.06))}.document-svg path{fill:#fff;stroke:var(--gray-300);stroke-width:1.5}.document-label{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:11px;font-weight:500;color:var(--gray-700);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.flowchart-node.database-wrapper{padding:0;background:transparent;border:none;box-shadow:none;width:140px;height:120px;position:relative}.database-svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.1))}.database-svg ellipse,.database-svg path{fill:#fff;stroke:var(--violet-400);stroke-width:1.5}.database-label{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:11px;font-weight:600;color:var(--gray-700);max-width:120px;overflow:hidden;white-space:normal;word-wrap:break-word;line-height:1.3;padding:0 6px;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;text-overflow:ellipsis}.flowchart-node.predefined-process{padding:12px 28px;min-width:120px;background:#fff;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);color:var(--gray-700);box-shadow:var(--shadow-sm);position:relative}.predefined-process .side-bar{position:absolute;top:-1px;bottom:-1px;width:6px;background:var(--gray-100);border:1.5px solid var(--gray-300)}.predefined-process .side-bar.left{left:-1px;border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.predefined-process .side-bar.right{right:-1px;border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.flowchart-node.manual-operation{padding:0;background:transparent;border:none;box-shadow:none;width:120px;height:50px;position:relative}.trapezoid-svg{width:100%;height:100%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.06))}.trapezoid-svg path{fill:#fff;stroke:var(--gray-300);stroke-width:1.5}.trapezoid-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:11px;font-weight:500;color:var(--gray-700);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.flowchart-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.flowchart-node:hover .react-flow__handle,.flowchart-node.selected .react-flow__handle{opacity:1}.flowchart-node .react-flow__handle:hover{background:var(--brand-600);transform:scale(1.2)}.uml-node{font-family:var(--font-sans);font-size:12px;transition:box-shadow var(--transition-fast)}.uml-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.class-node{min-width:160px;background:#fff;border:1.5px solid var(--amber-400);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.class-header{padding:8px 12px;text-align:center;background:var(--amber-50);border-bottom:1px solid var(--amber-200)}.stereotype{font-size:10px;font-style:italic;color:var(--gray-500);margin-bottom:2px}.class-name{font-weight:600;font-size:13px;color:var(--gray-800)}.class-section{padding:6px 12px;text-align:left;background:#fff;border-bottom:1px solid var(--gray-100)}.class-section:last-child{border-bottom:none}.class-member{font-family:var(--font-mono);font-size:10px;color:var(--gray-600);padding:2px 0;line-height:1.4}.class-member.empty{color:var(--gray-400);text-align:center;font-family:var(--font-sans)}.interface-node{min-width:140px;background:#fff;border:1.5px dashed var(--brand-400);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.interface-node .class-header{background:var(--brand-50);border-bottom-color:var(--brand-100)}.actor-node{padding:0;background:transparent;border:none;box-shadow:none;text-align:center}.actor-svg{width:40px;height:64px}.actor-svg circle,.actor-svg line{stroke:var(--gray-500);stroke-width:1.5;fill:none}.actor-svg circle{fill:#fff}.actor-label{margin-top:4px;font-size:11px;font-weight:500;color:var(--gray-700)}.usecase-node{padding:0;background:transparent;border:none;box-shadow:none}.usecase-ellipse{padding:12px 24px;background:#fff;border:1.5px solid var(--violet-400);border-radius:999px;text-align:center;min-width:80px;box-shadow:var(--shadow-sm)}.usecase-label{font-size:11px;font-weight:500;color:var(--gray-700)}.component-node{padding:12px 20px 12px 28px;background:#fff;border:1.5px solid var(--rose-400);border-radius:var(--radius-md);position:relative;min-width:100px;box-shadow:var(--shadow-sm)}.component-icon{position:absolute;left:-8px;top:8px;display:flex;flex-direction:column;gap:4px}.component-tab{width:10px;height:6px;background:#fff;border:1.5px solid var(--rose-400);border-radius:1px}.component-label{text-align:center;font-size:11px;font-weight:500;color:var(--gray-700)}.package-node{background:#fff;border:1.5px solid var(--violet-400);border-radius:var(--radius-md);min-width:120px;overflow:visible;box-shadow:var(--shadow-sm)}.package-header{padding:4px 8px;font-weight:600;font-size:10px;color:var(--violet-700);background:var(--violet-50);border:1.5px solid var(--violet-400);border-radius:var(--radius-sm);position:absolute;top:-12px;left:8px}.package-body{min-height:48px;padding-top:8px}.lifeline-node{padding:0;background:transparent;border:none;box-shadow:none;display:flex;flex-direction:column;align-items:center}.lifeline-head{padding:8px 16px;background:#fff;border:1.5px solid var(--emerald-400);border-radius:var(--radius-md);font-size:11px;font-weight:500;color:var(--gray-700);box-shadow:var(--shadow-sm)}.lifeline-line{width:1.5px;height:80px;background:repeating-linear-gradient(to bottom,var(--emerald-400) 0px,var(--emerald-400) 4px,transparent 4px,transparent 8px)}.activity-node{padding:10px 20px;background:#fff;border:1.5px solid var(--brand-400);border-radius:999px;text-align:center;box-shadow:var(--shadow-sm)}.activity-label{font-size:11px;font-weight:500;color:var(--gray-700)}.state-node{padding:10px 16px;background:#fff;border:1.5px solid var(--amber-400);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm)}.state-name{font-size:11px;font-weight:600;color:var(--gray-700)}.uml-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.uml-node:hover .react-flow__handle,.uml-node.selected .react-flow__handle{opacity:1}.er-node{font-family:var(--font-sans);font-size:13px;transition:all .2s ease}.er-node.selected{box-shadow:0 0 0 3px var(--brand-500),0 8px 24px #6366f140!important;transform:scale(1.02)}.table-node{min-width:280px;max-width:360px;background:#fff;border:2px solid #1e293b;border-radius:12px;overflow:hidden;box-shadow:4px 4px #1e293b,0 4px 12px #00000014}.table-node:hover{box-shadow:6px 6px #1e293b,0 8px 20px #0000001f;transform:translate(-1px,-1px)}.table-header{padding:12px 16px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;gap:10px;border-bottom:2px solid #1e293b}.table-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:6px;padding:2px}.table-icon svg{width:14px;height:14px}.table-name{font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.table-columns{padding:8px 0;background:#fafafa}.table-column{padding:8px 14px;display:grid;grid-template-columns:28px minmax(100px,1fr) auto auto;align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:12px;border-bottom:1px solid #e5e7eb;min-height:38px}.table-column:last-child{border-bottom:none}.table-column:hover{background:#f0f4ff}.table-column.empty{color:var(--gray-400);display:flex;justify-content:center;font-family:var(--font-sans);font-style:italic;grid-template-columns:1fr}.column-icons{display:flex;gap:3px;min-width:28px}.pk-icon,.fk-icon{font-size:10px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;border-radius:4px;color:#b45309}.fk-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#8b5cf6;color:#6d28d9}.column-name{font-weight:600;color:#1e293b;white-space:nowrap}.column-type{color:#64748b;font-size:11px;font-weight:500;white-space:nowrap;background:#e2e8f0;padding:2px 8px;border-radius:4px}.column-constraints{display:flex;gap:4px;min-width:50px;justify-content:flex-end}.column-constraint{font-size:9px;font-weight:700;padding:2px 6px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:4px;color:#dc2626;text-transform:uppercase}.column-constraint:only-child{min-width:auto}.entity-node{padding:16px 28px;background:#fff;border:2px solid #1e293b;border-radius:0;text-align:center;box-shadow:3px 3px #1e293b}.entity-node:hover{box-shadow:5px 5px #1e293b;transform:translate(-1px,-1px)}.entity-label{font-weight:700;font-size:14px;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.relationship-wrapper{padding:0;background:transparent;border:none;box-shadow:none}.relationship-diamond{width:100px;height:60px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #1e293b;display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);box-shadow:2px 2px #1e293b}.relationship-label{font-size:11px;font-weight:600;color:#92400e;text-align:center;padding:0 8px;max-width:90px;text-transform:lowercase}.attribute-node{padding:0;background:transparent;border:none;box-shadow:none}.attribute-ellipse{padding:10px 20px;background:#fff;border:2px solid #1e293b;border-radius:999px;text-align:center;min-width:60px;box-shadow:2px 2px #1e293b}.attribute-ellipse:hover{box-shadow:3px 3px #1e293b;transform:translate(-.5px,-.5px)}.attribute-ellipse.derived{border-style:dashed;background:#f8fafc}.attribute-ellipse.multivalued{border-width:4px}.attribute-label{font-size:12px;font-weight:500;color:#334155;display:inline-block;max-width:180px}.attribute-label.primary{text-decoration:underline;text-underline-offset:3px;font-weight:700;color:#1e293b}.er-node .react-flow__handle{width:10px;height:10px;background:#6366f1;border:2px solid #ffffff;box-shadow:0 0 0 2px #1e293b;opacity:0;transition:all .2s ease}.er-node:hover .react-flow__handle,.er-node.selected .react-flow__handle{opacity:1}.er-node .react-flow__handle:hover{background:#4f46e5;transform:scale(1.2)}.org-node{font-family:var(--font-sans);font-size:12px;border-radius:var(--radius-lg);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.org-node:hover{transform:translateY(-1px)}.org-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.person-node{min-width:180px;background:#fff;border:1.5px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm)}.person-accent{height:3px;width:100%;background:linear-gradient(90deg,var(--brand-500) 0%,var(--violet-500) 100%)}.person-content{padding:12px;display:flex;align-items:center;gap:12px}.person-avatar{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid var(--gray-200);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--gray-100);flex-shrink:0}.person-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{font-weight:600;font-size:12px;color:var(--gray-500)}.person-info{flex:1;min-width:0}.person-name{font-weight:600;font-size:13px;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-title{font-size:11px;color:var(--gray-500);margin-top:1px}.person-department{font-size:10px;color:var(--gray-400);margin-top:1px}.department-node{min-width:160px;padding:12px 16px;background:#fff;border:1.5px solid var(--brand-200);display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.department-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--brand-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}.department-icon svg{color:#fff}.department-info{flex:1}.department-name{font-weight:600;font-size:12px;color:var(--gray-800)}.department-count{font-size:10px;color:var(--gray-500);margin-top:1px}.team-node{min-width:140px;background:#fff;border:1.5px solid var(--emerald-200);overflow:hidden;box-shadow:var(--shadow-sm)}.team-header{padding:8px 12px;display:flex;align-items:center;gap:8px;background:var(--emerald-50);border-bottom:1px solid var(--emerald-100)}.team-icon{width:20px;height:20px;border-radius:var(--radius-sm);background:var(--emerald-500);display:flex;align-items:center;justify-content:center}.team-icon svg{width:12px;height:12px;color:#fff}.team-name{font-weight:600;font-size:11px;color:var(--gray-800)}.team-members{padding:6px 12px}.team-member{font-size:10px;color:var(--gray-600);padding:3px 0;border-bottom:1px solid var(--gray-100)}.team-member:last-child{border-bottom:none}.team-member.more{color:var(--gray-400);font-style:italic}.org-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.org-node:hover .react-flow__handle,.org-node.selected .react-flow__handle{opacity:1}.mindmap-node{font-family:var(--font-sans);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.mindmap-node:hover{transform:scale(1.02)}.mindmap-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.central-node{padding:20px 28px;border-radius:var(--radius-full);font-size:14px;font-weight:600;text-align:center;min-width:80px;min-height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-500) 0%,var(--violet-500) 100%);color:#fff;box-shadow:var(--shadow-md)}.central-label{max-width:100px;word-wrap:break-word;overflow-wrap:anywhere;line-height:1.3}.branch-node{padding:10px 18px;border-radius:var(--radius-full);font-size:12px;font-weight:500;text-align:center;min-width:60px;background:var(--amber-500);color:#fff;box-shadow:var(--shadow-sm)}.branch-label{display:inline-block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaf-node{padding:8px 14px;border-radius:var(--radius-full);font-size:11px;font-weight:500;text-align:center;background:var(--emerald-500);color:#fff;box-shadow:var(--shadow-xs)}.leaf-label{display:inline-block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mindmap-node .react-flow__handle{width:6px;height:6px;background:#fff9;border:1.5px solid rgba(255,255,255,.9);opacity:0;transition:opacity var(--transition-fast)}.mindmap-node:hover .react-flow__handle,.mindmap-node.selected .react-flow__handle{opacity:1}.mindmap-node .react-flow__handle:hover{background:#ffffffe6;transform:scale(1.3)}.network-node{font-family:var(--font-sans);padding:12px 14px;border-radius:var(--radius-lg);text-align:center;min-width:72px;background:#fff;border:1.5px solid var(--gray-200);transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);position:relative;box-shadow:var(--shadow-sm)}.network-node:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.network-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.network-icon{margin-bottom:6px;display:flex;justify-content:center;color:var(--gray-600)}.network-icon svg{width:28px;height:28px}.network-label{font-size:10px;font-weight:600;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.network-ip{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);margin-top:2px}.network-status{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:var(--radius-full)}.network-status.online{background:var(--emerald-500)}.network-status.offline{background:var(--rose-500)}.network-status.warning{background:var(--amber-500);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.router-node{border-color:var(--brand-300)}.router-node .network-icon{color:var(--brand-500)}.switch-node{border-color:var(--emerald-300)}.switch-node .network-icon{color:var(--emerald-500)}.server-node{border-color:var(--amber-300)}.server-node .network-icon{color:var(--amber-600)}.database-node{border-color:var(--violet-300)}.database-node .network-icon{color:var(--violet-500)}.firewall-node{border-color:var(--rose-300)}.firewall-node .network-icon{color:var(--rose-500)}.cloud-node{border-color:var(--brand-300);border-radius:var(--radius-2xl)}.cloud-node .network-icon{color:var(--brand-500)}.computer-node{border-color:var(--gray-300)}.computer-node .network-icon{color:var(--gray-500)}.mobile-node{border-color:var(--violet-300)}.mobile-node .network-icon{color:var(--violet-500)}.printer-node{border-color:var(--gray-300)}.printer-node .network-icon{color:var(--gray-500)}.network-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.network-node:hover .react-flow__handle,.network-node.selected .react-flow__handle{opacity:1}.bpmn-node{font-family:var(--font-sans);font-size:12px;transition:box-shadow var(--transition-fast)}.bpmn-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.start-event{width:40px;height:40px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--emerald-500);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);position:relative}.start-event .event-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;font-weight:500;color:var(--gray-600);max-width:120px;overflow:hidden;text-overflow:ellipsis}.end-event{width:40px;height:40px;border-radius:var(--radius-full);background:#fff;border:3px solid var(--rose-500);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);position:relative}.end-event .event-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;font-weight:500;color:var(--gray-600);max-width:120px;overflow:hidden;text-overflow:ellipsis}.task-node{padding:10px 18px;background:#fff;border:1.5px solid var(--brand-400);border-radius:var(--radius-lg);min-width:100px;text-align:center;box-shadow:var(--shadow-sm)}.task-label{font-size:11px;font-weight:500;color:var(--gray-700)}.gateway-wrapper{padding:0;background:transparent;border:none;box-shadow:none;display:flex;flex-direction:column;align-items:center}.gateway-diamond{width:40px;height:40px;background:#fff;border:1.5px solid var(--amber-500);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.gateway-symbol{transform:rotate(-45deg);font-size:16px;font-weight:700;color:var(--amber-600)}.gateway-label{margin-top:8px;font-size:10px;font-weight:500;color:var(--gray-600);white-space:nowrap;text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis}.intermediate-event{width:40px;height:40px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--amber-500);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-sm)}.intermediate-inner{width:32px;height:32px;border-radius:var(--radius-full);background:#fff;border:1.5px solid var(--amber-400)}.intermediate-event .event-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;font-weight:500;color:var(--gray-600);max-width:120px;overflow:hidden;text-overflow:ellipsis}.subprocess-node{padding:12px 20px 20px;background:#fff;border:1.5px solid var(--violet-400);border-radius:var(--radius-lg);min-width:100px;text-align:center;position:relative;box-shadow:var(--shadow-sm)}.subprocess-label{font-size:11px;font-weight:500;color:var(--gray-700)}.subprocess-marker{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:14px;height:14px;border:1.5px solid var(--violet-400);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--violet-500);background:#fff}.bpmn-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.bpmn-node:hover .react-flow__handle,.bpmn-node.selected .react-flow__handle{opacity:1}.arch-node{font-family:var(--font-sans);padding:12px 14px;border-radius:var(--radius-lg);text-align:center;min-width:80px;background-color:#fff;border:1.5px solid var(--gray-200);transition:box-shadow var(--transition-fast),transform var(--transition-fast);position:relative;box-shadow:0 1px 4px #0000001a;isolation:isolate}.arch-node:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.arch-node.selected{box-shadow:0 0 0 2px var(--brand-500)!important}.arch-icon{margin-bottom:6px;display:flex;justify-content:center;color:var(--gray-600)}.arch-icon svg{width:28px;height:28px}.arch-label{font-size:11px;font-weight:600;color:var(--gray-700);line-height:1.25;max-width:160px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;text-align:center;white-space:pre-wrap}.provider-badge{position:absolute;top:-6px;right:-6px;font-size:8px;font-weight:600;padding:2px 5px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.users-node{border-color:var(--violet-300)}.users-node .arch-icon{color:var(--violet-500)}.aws-node{border-width:2px}.provider-badge.aws{background:#f90;color:#fff}.aws-node.ec2{background:#fff7ed;border-color:#f97316}.aws-node.ec2 .arch-icon{color:#ea580c}.aws-node.s3{background:#f0fdf4;border-color:#22c55e}.aws-node.s3 .arch-icon{color:#16a34a}.aws-node.rds{background:#eff6ff;border-color:#3b82f6}.aws-node.rds .arch-icon{color:#2563eb}.aws-node.dynamodb{background:#eef2ff;border-color:#6366f1}.aws-node.dynamodb .arch-icon{color:#4f46e5}.aws-node.lambda{background:#fffbeb;border-color:#f59e0b}.lambda-icon{font-size:24px;font-weight:700;color:#d97706}.aws-node.cloudfront{background:#faf5ff;border-color:#a855f7}.aws-node.cloudfront .arch-icon{color:#9333ea}.aws-node.elb{background:#fdf4ff;border-color:#d946ef}.aws-node.elb .arch-icon{color:#c026d3}.aws-node.api-gateway{background:#fff1f2;border-color:#f43f5e}.aws-node.api-gateway .arch-icon{color:#e11d48}.aws-node.elasticache{background:#fef2f2;border-color:#ef4444}.aws-node.elasticache .arch-icon{color:#dc2626}.aws-node.sns{background:#fdf2f8;border-color:#ec4899}.aws-node.sns .arch-icon{color:#db2777}.aws-node.sqs{background:#fff7ed;border-color:#fb923c}.aws-node.sqs .arch-icon{color:#ea580c}.aws-node.ses{background:#f0fdfa;border-color:#14b8a6}.aws-node.ses .arch-icon{color:#0d9488}.aws-node.cloudwatch{background:#fdf2f8;border-color:#ec4899}.aws-node.cloudwatch .arch-icon{color:#db2777}.aws-node.iam{background:#fef2f2;border-color:#ef4444}.aws-node.iam .arch-icon{color:#dc2626}.aws-node.cognito{background:#fef2f2;border-color:#f87171}.aws-node.cognito .arch-icon{color:#ef4444}.aws-node.kms{background:#fef2f2;border-color:#f87171}.aws-node.kms .arch-icon{color:#ef4444}.aws-node.ecs{background:#fff7ed;border-color:#f97316}.aws-node.ecs .arch-icon{color:#ea580c}.aws-node.eks{background:#fff7ed;border-color:#fb923c}.aws-node.eks .arch-icon{color:#ea580c}.aws-node.vpc{background:#faf5ff;border-color:#a855f7}.aws-node.vpc .arch-icon{color:#9333ea}.aws-node.route53{background:#eef2ff;border-color:#818cf8}.aws-node.route53 .arch-icon{color:#6366f1}.aws-node.eventbridge{background:#fdf2f8;border-color:#f472b6}.aws-node.eventbridge .arch-icon{color:#ec4899}.aws-node.stepfunctions{background:#fdf2f8;border-color:#f472b6}.aws-node.stepfunctions .arch-icon{color:#ec4899}.aws-node.kinesis{background:#faf5ff;border-color:#a855f7}.aws-node.kinesis .arch-icon{color:#9333ea}.aws-node.athena{background:#eef2ff;border-color:#6366f1}.aws-node.athena .arch-icon{color:#4f46e5}.aws-node.sagemaker{background:#ecfdf5;border-color:#10b981}.aws-node.sagemaker .arch-icon{color:#059669}.aws-node.glue{background:#eff6ff;border-color:#3b82f6}.aws-node.glue .arch-icon{color:#2563eb}.aws-node.codepipeline{background:#f0fdfa;border-color:#14b8a6}.aws-node.codepipeline .arch-icon{color:#0d9488}.aws-node.waf{background:#fef2f2;border-color:#ef4444}.aws-node.waf .arch-icon{color:#dc2626}.k8s-node{background:#eff6ff;border-color:#326ce5;border-width:2px}.k8s-icon{font-size:24px;font-weight:400;color:#326ce5}.provider-badge.k8s{background:#326ce5;color:#fff}.docker-node{background:#f0f9ff;border-color:#0db7ed;border-width:2px}.docker-node .arch-icon{color:#0284c7}.provider-badge.docker{background:#0db7ed;color:#fff}.generic-node{border-width:2px}.generic-node.webapp{background:#ecfeff;border-color:#06b6d4}.generic-node.webapp .arch-icon{color:#0891b2}.generic-node.mobileapp{background:#f0fdfa;border-color:#14b8a6}.generic-node.mobileapp .arch-icon{color:#0d9488}.generic-node.desktopapp{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e9}.generic-node.desktopapp .arch-icon{color:#0284c7}.generic-node.spa{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#22d3ee}.generic-node.spa .arch-icon{color:#06b6d4}.generic-node.apiserver{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.generic-node.apiserver .arch-icon{color:#4f46e5}.generic-node.webserver{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.generic-node.webserver .arch-icon{color:#2563eb}.generic-node.appserver{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.appserver .arch-icon{color:#7c3aed}.generic-node.microservice{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#818cf8}.generic-node.microservice .arch-icon{color:#6366f1}.generic-node.graphql{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#e1306c}.generic-node.graphql .arch-icon{color:#db2777}.generic-node.restapi{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.restapi .arch-icon{color:#059669}.generic-node.database,.generic-node.sqldatabase{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.generic-node.database .arch-icon,.generic-node.sqldatabase .arch-icon{color:#2563eb}.generic-node.nosqldatabase{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.nosqldatabase .arch-icon{color:#059669}.generic-node.graphdatabase{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.graphdatabase .arch-icon{color:#7c3aed}.generic-node.timeseriesdb{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#f97316}.generic-node.timeseriesdb .arch-icon{color:#ea580c}.generic-node.searchengine{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.generic-node.searchengine .arch-icon{color:#d97706}.generic-node.objectstorage{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#22c55e}.generic-node.objectstorage .arch-icon{color:#16a34a}.generic-node.filestorage{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.filestorage .arch-icon{color:#059669}.generic-node.blockstorage{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-color:#14b8a6}.generic-node.blockstorage .arch-icon{color:#0d9488}.generic-node.cdn{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7}.generic-node.cdn .arch-icon{color:#9333ea}.generic-node.cache{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.generic-node.cache .arch-icon{color:#dc2626}.provider-badge.cache{background:#ef4444;color:#fff}.generic-node.queue{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fb923c}.generic-node.queue .arch-icon{color:#ea580c}.provider-badge.queue{background:#fb923c;color:#fff}.generic-node.messagebroker{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec4899}.generic-node.messagebroker .arch-icon{color:#db2777}.generic-node.eventbus{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7}.generic-node.eventbus .arch-icon{color:#9333ea}.generic-node.streamprocessor{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.generic-node.streamprocessor .arch-icon{color:#4f46e5}.generic-node.pubsub{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#f472b6}.generic-node.pubsub .arch-icon{color:#ec4899}.generic-node.monitoring{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec4899}.generic-node.monitoring .arch-icon{color:#db2777}.generic-node.logging{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.logging .arch-icon{color:#7c3aed}.generic-node.metrics{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.metrics .arch-icon{color:#059669}.generic-node.alerting{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.generic-node.alerting .arch-icon{color:#d97706}.generic-node.tracing{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.generic-node.tracing .arch-icon{color:#4f46e5}.generic-node.authentication{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.generic-node.authentication .arch-icon{color:#dc2626}.generic-node.authorization{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#f43f5e}.generic-node.authorization .arch-icon{color:#e11d48}.generic-node.apigateway{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#f43f5e}.generic-node.apigateway .arch-icon{color:#e11d48}.generic-node.loadbalancer{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7}.generic-node.loadbalancer .arch-icon{color:#9333ea}.generic-node.firewall{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#f87171}.generic-node.firewall .arch-icon{color:#ef4444}.generic-node.ratelimiter{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#f97316}.generic-node.ratelimiter .arch-icon{color:#ea580c}.generic-node.identityprovider{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.generic-node.identityprovider .arch-icon{color:#dc2626}.generic-node.cicd{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-color:#14b8a6}.generic-node.cicd .arch-icon{color:#0d9488}.generic-node.registry{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.generic-node.registry .arch-icon{color:#2563eb}.generic-node.configmanager{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.configmanager .arch-icon{color:#7c3aed}.generic-node.secretsmanager{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.generic-node.secretsmanager .arch-icon{color:#dc2626}.generic-node.worker{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#f97316}.generic-node.worker .arch-icon{color:#ea580c}.generic-node.jobscheduler{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.generic-node.jobscheduler .arch-icon{color:#d97706}.generic-node.batchprocessor{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-color:#fb923c}.generic-node.batchprocessor .arch-icon{color:#ea580c}.generic-node.function{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.generic-node.function .arch-icon{color:#d97706}.generic-node.dns{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#818cf8}.generic-node.dns .arch-icon{color:#6366f1}.generic-node.vpn{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7}.generic-node.vpn .arch-icon{color:#9333ea}.generic-node.proxy{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.proxy .arch-icon{color:#7c3aed}.generic-node.webhook{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.webhook .arch-icon{color:#059669}.generic-node.datawarehouse{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.generic-node.datawarehouse .arch-icon{color:#2563eb}.generic-node.datalake{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#06b6d4}.generic-node.datalake .arch-icon{color:#0891b2}.generic-node.etl{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.generic-node.etl .arch-icon{color:#4f46e5}.generic-node.analyticsengine{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.generic-node.analyticsengine .arch-icon{color:#7c3aed}.generic-node.ml{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.generic-node.ml .arch-icon{color:#059669}.arch-node .react-flow__handle{width:8px;height:8px;background:var(--brand-500);border:2px solid #ffffff;box-shadow:0 0 0 1px var(--brand-300);opacity:0;transition:opacity var(--transition-fast)}.arch-node:hover .react-flow__handle,.arch-node.selected .react-flow__handle{opacity:1}.textblock-node{min-width:200px;max-width:400px;min-height:60px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s,border-color .2s;overflow:visible}.textblock-node:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #0000001a}.textblock-node.selected{border-color:var(--brand-500);box-shadow:0 0 0 2px var(--brand-100),0 4px 12px #0000001a}.textblock-node.editing{border-color:var(--brand-400)}.textblock-content{padding:12px 14px}.textblock-editor{outline:none;font-size:13px;line-height:1.6;color:var(--gray-700);min-height:40px}.textblock-editor:focus{outline:none}.textblock-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--gray-400);pointer-events:none;float:left;height:0;font-style:italic}.textblock-editor p{margin:0 0 6px}.textblock-editor p:last-child{margin-bottom:0}.textblock-editor h1{font-size:18px;font-weight:700;margin:0 0 8px;color:var(--gray-900)}.textblock-editor h2{font-size:15px;font-weight:600;margin:0 0 6px;color:var(--gray-800)}.textblock-editor h3{font-size:13px;font-weight:600;margin:0 0 4px;color:var(--gray-800)}.textblock-editor ul,.textblock-editor ol{margin:0 0 6px;padding-left:20px}.textblock-editor li{margin-bottom:2px}.textblock-editor ul[data-type=taskList]{list-style:none;padding-left:0}.textblock-editor li[data-type=taskItem]{display:flex;align-items:flex-start;gap:8px}.textblock-editor li[data-type=taskItem] input[type=checkbox]{margin-top:3px;width:14px;height:14px;accent-color:var(--brand-600)}.textblock-editor li[data-type=taskItem][data-checked=true]>div{opacity:.6;text-decoration:line-through}.textblock-editor code{background:var(--gray-100);border-radius:4px;padding:1px 4px;font-size:12px;font-family:SF Mono,Monaco,monospace}.textblock-editor pre{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;padding:8px 10px;margin:6px 0;overflow-x:auto;font-size:12px}.textblock-editor pre code{background:transparent;padding:0}.textblock-editor blockquote{margin:6px 0;padding:6px 10px;border-left:3px solid var(--gray-300);background:var(--gray-50);border-radius:4px;color:var(--gray-600)}.textblock-editor hr{border:none;border-top:1px solid var(--gray-200);margin:10px 0}.textblock-editor strong{font-weight:600}.textblock-editor em{font-style:italic}.textblock-editor s{text-decoration:line-through}.textblock-editor a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}.textblock-editor a:hover{color:var(--brand-700)}.textblock-node .react-flow__handle{opacity:0;width:8px;height:8px;background:var(--brand-500);border:2px solid white;transition:opacity .2s}.textblock-node:hover .react-flow__handle,.textblock-node.selected .react-flow__handle{opacity:1}.textblock-node .react-flow__handle:hover{width:10px;height:10px;background:var(--brand-600)}.edge-label{font-family:var(--font-sans);font-size:9px;font-weight:500;color:#64748b;background:#fffffff2;padding:3px 8px;border-radius:4px;border:none;box-shadow:0 1px 3px #00000014;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.edge-label:hover{border-color:var(--brand-300);background:var(--brand-50)}.dashed-edge{stroke-dasharray:5,5}.animated-edge{stroke-dasharray:5;animation:dash .5s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.react-flow__edge.selected path.react-flow__edge-path{stroke:#2563eb;stroke-width:3px;filter:drop-shadow(0 0 4px rgba(37,99,235,.5))}.react-flow__edge-interaction{pointer-events:all!important;cursor:pointer!important}.delete-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-modal-content{background:#fff;width:100%;max-width:400px;border-radius:16px;box-shadow:0 20px 60px #00000026;overflow:hidden;animation:scaleIn .2s ease-out;border:1.5px solid #e0e0e0;font-family:Inter,system-ui,-apple-system,sans-serif}.delete-modal-header{background:#fff;padding:20px 24px;border-bottom:1.5px solid #e0e0e0}.delete-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#2d3436}.delete-modal-body{padding:20px 24px}.delete-modal-body p{margin:0 0 8px;color:#636e72;font-size:14px;line-height:1.5}.delete-modal-body .warning-text{color:#d63031;font-size:13px;margin-top:12px;font-weight:500;background:#ffe6e6;padding:10px 14px;border:1.5px solid #ff7675;border-radius:8px}.delete-modal-footer{padding:16px 24px;background:#fafbfc;border-top:1.5px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.delete-modal-footer button{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.delete-modal-footer .btn-secondary{background:#fff;color:#636e72;border:1.5px solid #e0e0e0}.delete-modal-footer .btn-secondary:hover{background:#f1f3f4;color:#2d3436;border-color:#b2bec3}.delete-modal-footer .btn-danger{background:#d63031;color:#fff}.delete-modal-footer .btn-danger:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #d6303140}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:2000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 8px 30px #0000001f;border:1.5px solid #e0e0e0;display:flex;align-items:center;gap:12px;min-width:320px;animation:slideInUp .3s ease-out;pointer-events:auto;font-family:Inter,system-ui,-apple-system,sans-serif}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast.success{border-left:4px solid #00b894;background:#f0fff4}.toast.error{border-left:4px solid #d63031;background:#fff5f5}.toast.info{border-left:4px solid #0984e3;background:#f0f9ff}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast.success .toast-icon{color:#00b894}.toast.error .toast-icon{color:#d63031}.toast.info .toast-icon{color:#0984e3}.toast-content{flex:1}.toast-title{font-weight:600;font-size:14px;color:#2d3436;margin-bottom:2px}.toast-message{font-size:13px;color:#636e72}.guided-tip-overlay{position:fixed;inset:0;z-index:9999;animation:fadeIn .2s ease-out}.guided-tip-highlight{animation:highlightPulse 2s ease-in-out infinite}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 9999px #00000080,0 0 0 4px #6366f199}50%{box-shadow:0 0 0 9999px #00000080,0 0 0 8px #6366f14d}}.guided-tip{position:fixed;background:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 10px 40px #0003,0 0 0 3px #6366f140;border:2px solid #6366f1;min-width:300px;max-width:380px;animation:tipSlideIn .3s ease-out;font-family:Inter,system-ui,-apple-system,sans-serif;z-index:10000}.guided-tip:not([style*=position]){top:50%;left:50%;transform:translate(-50%,-50%)!important}@keyframes tipSlideIn{0%{opacity:0;transform:translateY(10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.guided-tip.left{animation:tipSlideInLeft .3s ease-out}@keyframes tipSlideInLeft{0%{opacity:0;transform:translate(-90%) translateY(-50%)}to{opacity:1;transform:translate(-100%) translateY(-50%)}}.guided-tip.right{animation:tipSlideInRight .3s ease-out}@keyframes tipSlideInRight{0%{opacity:0;transform:translate(10%) translateY(-50%)}to{opacity:1;transform:translateY(-50%)}}.guided-tip-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.guided-tip-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;color:#d97706;flex-shrink:0}.guided-tip .guided-tip-icon:has(svg[class*=sparkles]){background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#6366f1}.guided-tip-title{font-weight:700;font-size:16px;color:#1e293b;flex:1}.guided-tip-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:#64748b;transition:all .15s ease}.guided-tip-close:hover{background:#e2e8f0;color:#334155}.guided-tip-message{font-size:14px;line-height:1.6;color:#475569;margin:0 0 16px}.guided-tip-tour-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.guided-tip-progress{font-size:12px;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:4px 10px;border-radius:20px}.guided-tip-buttons{display:flex;align-items:center;gap:8px}.guided-tip-skip{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.guided-tip-skip:hover{background:#f8fafc;color:#475569;border-color:#cbd5e1}.guided-tip-action{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.guided-tip-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.guided-tip-action:active{transform:translateY(0)}.guided-tip-arrow{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #6366f1;transform:rotate(45deg)}.guided-tip.bottom .guided-tip-arrow{top:-8px;left:50%;margin-left:-7px;border-right:none;border-bottom:none}.guided-tip.top .guided-tip-arrow{bottom:-8px;left:50%;margin-left:-7px;border-left:none;border-top:none}.guided-tip.left .guided-tip-arrow{right:-8px;top:50%;margin-top:-7px;border-left:none;border-bottom:none}.guided-tip.right .guided-tip-arrow{left:-8px;top:50%;margin-top:-7px;border-right:none;border-top:none}.guided-tip:not([style*=position]) .guided-tip-arrow{display:none}.guided-tip.tour-mode{border-color:#8b5cf6;box-shadow:0 12px 48px #00000040,0 0 0 3px #8b5cf64d}.guided-tip.tour-mode .guided-tip-arrow{border-color:#8b5cf6}@keyframes subtlePulse{0%,to{box-shadow:0 10px 40px #0003,0 0 0 3px #6366f140}50%{box-shadow:0 10px 40px #0003,0 0 0 5px #6366f126}}.guided-tip:not(.tour-mode){animation:tipSlideIn .3s ease-out,subtlePulse 2.5s ease-in-out .3s infinite}@media(max-width:640px){.guided-tip{min-width:280px;max-width:calc(100vw - 32px);padding:16px 18px}.guided-tip-title{font-size:15px}.guided-tip-message{font-size:13px}.guided-tip-tour-controls{flex-direction:column;gap:10px}.guided-tip-buttons{width:100%;justify-content:space-between}.guided-tip-skip,.guided-tip-action{flex:1;justify-content:center}}.ai-chat{width:320px;height:100%;background:#fafafa;border-left:1px solid #ebebeb;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:10;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:450}.chat-header{padding:12px 16px;background:#fafafa;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;justify-content:space-between;min-height:48px;z-index:30;position:relative;flex-shrink:0}.chat-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#1a1a1a;flex:1;min-width:0;overflow:hidden;letter-spacing:-.01em}.chat-title svg{color:#888;width:16px;height:16px}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.mode-toggle{display:flex;background:#f0f0f0;border:none;border-radius:6px;padding:2px;gap:1px;flex-shrink:0}.mode-btn{padding:4px 10px;font-size:11px;font-weight:500;border:none;background:transparent;color:#666;cursor:pointer;transition:all .15s ease;border-radius:5px;position:relative;white-space:nowrap}.mode-btn:hover:not(.active){color:#1a1a1a}.mode-btn.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 2px #0000000f}.trial-info{display:flex;align-items:center;gap:5px;padding:4px 10px;background:#f5f5f5;border:none;border-radius:20px;flex-shrink:0;transition:all .15s ease}.trial-info.expired{background:#fef2f2}.trial-text{font-size:10px;font-weight:500;color:#666;white-space:nowrap}.trial-info.expired .trial-text{color:#dc2626}.switch-mode-btn{padding:4px 8px;font-size:10px;font-weight:500;background:#f0f0f0;color:#555;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.switch-mode-btn:hover{background:#e5e5e5;color:#1a1a1a}.header-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#888;transition:all .15s ease;background:transparent;border:none;cursor:pointer}.header-btn:hover,.header-btn.active{background:#f0f0f0;color:#1a1a1a}.sessions-list{position:absolute;inset:56px 0 0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:25;display:flex;flex-direction:column;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sessions-header{padding:16px 20px 8px;display:flex;align-items:center;justify-content:space-between}.sessions-header h3{font-size:11px;font-weight:600;text-transform:uppercase;color:#636e72;letter-spacing:.05em;margin:0}.sessions-header button{background:transparent;border:none;color:#636e72;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.sessions-header button:hover{background:#f1f3f4;color:#2d3436}.sessions-scroll{flex:1;overflow-y:auto;padding:8px 12px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:4px;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1.5px solid transparent;background:transparent}.session-item:hover{background:#f8f9fa;border-color:#e0e0e0}.session-item.active{background:#e8f4fd;border-color:#74b9ff}.session-info{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1;margin-right:8px}.session-title{font-size:13px;font-weight:500;color:#636e72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.session-item.active .session-title{color:#0984e3;font-weight:600}.session-date{font-size:10px;color:#b2bec3}.session-delete,.delete-session{opacity:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#b2bec3;background:transparent;border:none;transition:all .2s ease;cursor:pointer}.session-item:hover .session-delete,.session-item:hover .delete-session{opacity:1}.session-delete:hover,.delete-session:hover{color:#d63031;background:#d6303114}.empty-sessions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;height:100%}.empty-sessions .empty-icon{color:#dfe6e9;margin-bottom:16px}.empty-sessions .empty-title{font-size:14px;font-weight:500;color:#636e72;margin:0 0 4px}.empty-sessions .empty-subtitle{font-size:12px;color:#b2bec3;margin:0 0 24px}.empty-sessions .start-chat-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#0984e3;color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.empty-sessions .start-chat-btn:hover{background:#0773c7;transform:translateY(-1px);box-shadow:0 4px 12px #0984e340}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#fafafa;position:relative;z-index:1}.empty-state{padding:16px;display:flex;flex-direction:column;gap:12px}.empty-state-header{text-align:left}.empty-state-header h3{font-size:13px;font-weight:600;margin:0;color:#2d3436}.starter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.starter-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px 14px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;cursor:pointer;transition:all .15s ease}.starter-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000f}.starter-item:active{transform:scale(.98)}.starter-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#555;background:#f5f5f5;border-radius:10px;transition:all .15s}.starter-item:hover .starter-icon{background:#e0e0e0;color:#333}.starter-item svg{width:20px;height:20px}.starter-title{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#1a1a1a;text-align:center}.starter-item:hover .starter-title{color:#1a1a1a}.starter-desc{font-size:10px;font-weight:400;color:#888;text-align:center;line-height:1.3}.template-section{display:flex;flex-direction:column;gap:12px}.template-label{font-size:10px;font-weight:600;color:#b2bec3;text-transform:uppercase;letter-spacing:.5px;text-align:center}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.template-card{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8fafc;border:none;border-radius:10px;font-size:13px;font-weight:500;color:#2d3436;cursor:pointer;transition:all .15s ease}.template-card svg{color:#636e72;flex-shrink:0;transition:color .2s ease}.template-card:hover{background:#eff6ff}.template-card:hover svg{color:#0984e3}.message{width:100%;animation:messageIn .3s cubic-bezier(.2,0,0,1);display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-content{padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-width:85%}.message.user .message-content{background:#e8e8e8;color:#1a1a1a;border-bottom-right-radius:4px}.message.assistant .message-content{background:#fff;color:#1a1a1a;border:1px solid #e8e8e8;border-bottom-left-radius:4px}.message.assistant.success .message-content{background:#dcfce7;color:#166534}.message.assistant.error .message-content{color:#991b1b;background:#fee2e2}.trial-limit-message{background:#fff3cd!important;border:1.5px solid #ffc107!important;border-radius:12px!important;padding:16px!important;color:#856404!important}.trial-limit-message .upgrade-hint{margin-top:12px;padding:12px;background:#fefce8;border:none;border-radius:8px;font-size:12px;color:#854d0e}.message.loading .message-content{display:flex;align-items:center;gap:10px;color:#666;background:#fff;border:1px solid #e8e8e8;padding:12px 16px}.spin{animation:spin 1s linear infinite;color:#1a1a1a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.settings-modal{background:#fff;border-radius:12px;width:340px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #00000026;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5}.settings-modal-header h3{font-size:14px;font-weight:600;color:#1a1a1a;margin:0}.settings-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#666;cursor:pointer;transition:all .15s ease}.settings-close-btn:hover{background:#f5f5f5;color:#1a1a1a}.settings-modal-content{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(80vh - 140px)}.settings-modal-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid #e5e5e5;background:#fafafa}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-row label{font-size:11px;font-weight:600;color:#636e72;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:6px}.key-hint{font-size:10px;color:#b2bec3;margin-top:6px;display:flex;align-items:center;gap:4px}.settings-row input,.settings-row select{height:40px;padding:0 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1f2937;transition:all .15s ease;font-family:Inter,system-ui,-apple-system,sans-serif}.settings-row input:hover,.settings-row select:hover{border-color:#b2bec3}.settings-row input:focus,.settings-row select:focus{background:#fff;border-color:#999;outline:none;box-shadow:0 0 0 2px #0000000d}.save-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;background:#555;color:#fff;border-radius:8px;font-size:12px;font-weight:500;transition:all .15s ease;border:none;cursor:pointer}.save-btn:hover{background:#444}.save-btn:active{transform:scale(.98)}.settings-modal-footer .save-btn,.settings-modal-footer .reset-app-btn{flex:1;justify-content:center}.reset-app-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fafbfc;color:#636e72;border:1.5px solid #e0e0e0;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-app-btn:hover{background:#ffe6e6;color:#d63031;border-color:#ff7675}.setup-prompt{width:100%;padding:12px;margin-bottom:16px;background:#e8f4fd;border:1.5px dashed #74b9ff;border-radius:8px;font-size:12px;color:#0984e3;text-align:center;cursor:pointer;transition:all .2s ease;font-weight:500}.setup-prompt:hover{background:#d4e9fc;border-style:solid}.chat-input-area{padding:12px 14px 14px;background:#fafafa;border-top:none;z-index:20}.trial-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#e8f4fd;border:1px solid #74b9ff;border-radius:20px;font-size:10px;font-weight:600;color:#0984e3;margin-bottom:10px}.trial-pill svg{width:12px;height:12px}.input-row{display:flex;gap:8px;align-items:center;background:#fff;padding:10px 12px;border-radius:12px;border:1px solid #e0e0e0;transition:all .15s ease}.input-row:focus-within{border-color:#1a1a1a}.input-icon{display:flex;align-items:center;justify-content:center;color:#999;flex-shrink:0;transition:color .15s ease}.input-row:focus-within .input-icon{color:#1a1a1a}.input-actions{display:flex;align-items:center;justify-content:flex-start;margin-top:10px}.new-design-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:transparent;border:1px dashed #ccc;border-radius:8px;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s ease;width:100%}.new-design-btn:hover{border-color:#1a1a1a;color:#1a1a1a;border-style:solid}.new-design-btn svg{width:14px;height:14px}.footer-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;flex-shrink:0;cursor:pointer;transition:all .2s ease;color:#b2bec3}.new-chat-footer:hover{background:#f1f3f4;color:#636e72}.input-row textarea{flex:1;min-height:20px;max-height:100px;padding:6px 4px;background:transparent;border:none;font-size:13px;color:#2d3436;resize:none;line-height:1.4;font-family:Inter,system-ui,-apple-system,sans-serif}.input-row textarea:focus{outline:none}.input-row textarea::placeholder{color:#9ca3af;font-size:13px}.send-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#555;color:#fff;border-radius:8px;transition:all .15s ease;flex-shrink:0;border:none;cursor:pointer}.send-btn:hover:not(:disabled){background:#333}.send-btn:disabled{background:#e5e5e5;color:#999;cursor:not-allowed}.header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-icon{margin-left:8px;opacity:.5}.message.clickable{cursor:pointer}.message.clickable:hover .message-content{box-shadow:0 4px 12px #00000014}.message-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.message-action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:#f5f5f5;color:#555;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.message-action-btn:hover{background:#e0e0e0;color:#333}.message-action-btn svg{width:12px;height:12px}.mode-status{display:flex;align-items:center;justify-content:flex-start;padding:10px 16px;background:#fafafa;border-bottom:1px solid #e8e8e8;gap:8px;flex-shrink:0;position:relative;z-index:20}.mode-status-left{display:flex;align-items:center;gap:8px}.guided-mode-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;border:none;background:transparent;color:#636e72;cursor:pointer;transition:all .15s ease;border-radius:6px}.guided-mode-toggle:hover{background:#fff;color:#2d3436}.guided-mode-toggle.active{background:#10b981;color:#fff}.toggle-indicator{display:none}.toggle-label{font-weight:600}.mode-hint{font-size:11px;color:#b2bec3;font-weight:400}.mode-info-icon{color:#dfe6e9;cursor:help;transition:color .15s ease}.mode-info-icon:hover{color:#b2bec3}.trial-pill-mini{font-size:10px;font-weight:500;color:#666;background:#f0f0f0;padding:3px 8px;border-radius:10px}.mode-toggle-settings{display:flex;gap:6px}.mode-option{flex:1;padding:10px 12px;font-size:12px;font-weight:500;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px}.mode-option:hover{background:#eee;border-color:#ccc}.mode-option.active{background:#fff;border-color:#555;color:#1a1a1a}.mode-badge{font-size:9px;background:#10b981;color:#fff;padding:2px 6px;border-radius:8px;font-weight:600}.clarification-form{background:#fff;border:1.5px solid #e0e0e0;border-radius:12px;padding:16px;margin:8px 0;animation:clarificationIn .3s cubic-bezier(.2,0,0,1);box-shadow:0 2px 8px #0000000f}@keyframes clarificationIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.clarification-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #f1f3f4}.clarification-icon{display:none}.clarification-title h4{font-size:12px;font-weight:600;color:#1a1a1a;margin:0;text-transform:uppercase;letter-spacing:.5px}.clarification-title p{font-size:11px;color:#636e72;margin:4px 0 0;font-weight:500}.clarification-questions{display:flex;flex-direction:column;gap:10px}.clarification-question{background:#fafbfc;border-radius:8px;padding:12px;border:1px solid #e8e8e8;transition:all .2s ease}.clarification-question:hover{background:#f5f7f9}.question-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:500;color:#2d3436;margin-bottom:10px;line-height:1.4}.question-number{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:#1a1a1a;color:#fff;border-radius:4px;font-size:9px;font-weight:700;flex-shrink:0;margin-top:1px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.option-btn{padding:6px 12px;font-size:11px;font-weight:500;background:#fff;border:1.5px solid #e0e0e0;border-radius:6px;color:#636e72;cursor:pointer;transition:all .15s ease}.option-btn:hover{border-color:#999;color:#1a1a1a}.option-btn.selected{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.custom-option-input{flex:1;min-width:120px;padding:6px 10px;font-size:11px;background:#fff;border:1.5px solid #e0e0e0;border-radius:6px;color:#2d3436;transition:all .2s ease;font-family:inherit}.custom-option-input:focus{outline:none;border-color:#999;box-shadow:0 0 0 2px #0000000d}.custom-option-input::placeholder{color:#b2bec3}.clarification-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #e8e8e8}.clarification-skip-btn{padding:8px 14px;font-size:11px;font-weight:500;background:transparent;border:none;color:#636e72;cursor:pointer;transition:all .2s ease}.clarification-skip-btn:hover{color:#2d3436}.clarification-submit-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;font-size:12px;font-weight:600;background:#1a1a1a;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease}.clarification-submit-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.clarification-submit-btn:active{transform:translateY(0)}.clarification-submit-btn svg{width:12px;height:12px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:#fbfbfc}.auth-clean{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px;align-items:center}.auth-brand{display:flex;align-items:center;gap:12px;width:100%}.auth-brand-text{display:flex;flex-direction:column;min-width:0}.auth-brand-title-row{display:flex;align-items:center;gap:8px}.auth-logo{width:34px;height:34px;border-radius:8px}.auth-brand-title{font-size:14px;font-weight:650;color:#0f172a;letter-spacing:-.01em}.auth-brand-subtitle{font-size:13px;color:#64748b;margin-top:2px}.auth-legal{width:100%;font-size:12px;color:#64748b;text-align:center;line-height:1.5}.auth-legal-link{background:transparent;border:none;color:#0f172a;font-size:12px;font-weight:600;cursor:pointer;padding:0 4px}.auth-legal-link:hover{text-decoration:underline}.auth-legal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:2000}.auth-legal-modal{width:100%;max-width:760px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;max-height:min(80vh,760px);display:flex;flex-direction:column}.auth-legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e7eb}.auth-legal-modal-title{font-size:14px;font-weight:650;color:#0f172a}.auth-legal-modal-close{width:28px;height:28px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer;color:#64748b;font-size:20px;line-height:1}.auth-legal-modal-close:hover{background:#0f172a0a;border-color:#0f172a14;color:#0f172a}.auth-legal-modal-body{padding:16px 18px;overflow:auto}.auth-legal-content h3{font-size:13px;font-weight:650;color:#0f172a;margin:14px 0 6px}.auth-legal-content p{font-size:12px;color:#475569;margin:0;line-height:1.55}.auth-clerk-container{width:100%}.auth-footer{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b;margin-top:10px}.auth-footer button{background:none;border:none;color:#0f172a;font-size:14px;font-weight:500;cursor:pointer;padding:0}.auth-footer button:hover{text-decoration:underline}@media(max-width:520px){.auth-page{padding:24px 16px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-300: #d4d4d8;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--gray-950: #09090b;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--violet-50: #f5f3ff;--violet-100: #ede9fe;--violet-200: #ddd6fe;--violet-300: #c4b5fd;--violet-400: #a78bfa;--violet-500: #8b5cf6;--violet-600: #7c3aed;--violet-700: #6d28d9;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--rose-50: #fff1f2;--rose-100: #ffe4e6;--rose-200: #fecdd3;--rose-300: #fda4af;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--rose-700: #be123c;--success: #22c55e;--warning: #eab308;--error: #ef4444;--info: #0ea5e9;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--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;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .2s ease;--z-dropdown: 100;--z-modal: 200;--z-tooltip: 300}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}.app{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--gray-100)}.app-body{flex:1;display:flex;overflow:hidden}.canvas-wrapper{flex:1;position:relative;overflow:hidden;background:#fff}.document-view{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden;position:relative;width:100%}.document-container{flex:1;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.document-container .notes-editor{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:0;box-shadow:none;border:none;height:100%}.document-container .notes-editor .notes-content{flex:1;max-width:900px;width:100%;margin:0 auto;padding:60px 48px;overflow-y:auto}.document-container .notes-left-gutter{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.06)}.document-container .notes-editor.notion .notes-content{padding-left:48px;padding-right:48px}.docs-drawer-backdrop{position:fixed;inset:0;background:#0000001a;z-index:999}.docs-drawer{position:fixed;top:12px;right:12px;bottom:12px;width:480px;background:#fff;border-radius:14px;box-shadow:0 12px 40px #0000002e,0 0 0 1px #0000000f;display:flex;flex-direction:column;z-index:1000;transform:translate(calc(100% + 24px));transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;contain:layout}.docs-drawer.open{transform:translate(0)}.docs-drawer-header{height:56px;min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 8px;border-bottom:1px solid var(--gray-200);background:linear-gradient(180deg,#fafbfc,#f5f7f9)}.docs-drawer-header-left,.docs-drawer-header-right{display:flex;align-items:center;gap:4px}.docs-drawer-back{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gray-500);background:transparent;border:none;cursor:pointer}.docs-drawer-back:hover{background:var(--gray-200);color:var(--gray-700)}.docs-drawer-title{font-size:15px;font-weight:700;color:var(--gray-900);letter-spacing:-.01em}.docs-drawer-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--gray-100);color:var(--gray-500)}.docs-drawer-status.saved{background:#10b9811a;color:var(--success)}.docs-drawer-status.saving{background:#3b82f61a;color:var(--brand-600)}.docs-drawer-btn{height:32px;padding:0 14px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:#fff;background:var(--brand-600);border:none;cursor:pointer;transition:background .15s}.docs-drawer-btn:hover{background:var(--brand-700)}.docs-drawer-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-400)}.docs-drawer-close{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gray-400);background:transparent;border:none;cursor:pointer}.docs-drawer-close:hover{background:var(--gray-200);color:var(--gray-700)}.docs-drawer-body{flex:1;min-height:0;overflow:hidden;background:#fff;display:flex;flex-direction:column}.docs-drawer-body .notes-editor{height:100%;border:none;border-radius:0;display:flex;flex-direction:column}.docs-drawer-body .notes-editor .notes-content{padding:24px 28px;flex:1;overflow-y:auto}.docs-drawer-body .notes-editor .notes-content .ProseMirror{min-height:300px;font-size:14px;line-height:1.7}.docs-drawer-body .notes-editor .notes-left-gutter{display:none}.docs-drawer-body .notes-editor .notes-toolbar{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#fff,#fafbfc);border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:4px;padding:10px 12px}.docs-drawer-body .notes-editor .notes-toolbar .toolbar-btn{width:30px;height:30px;border-radius:6px}.docs-drawer-body .notes-editor .notes-toolbar .toolbar-btn:hover{background:var(--gray-200)}.docs-drawer-body .notes-editor .notes-toolbar .toolbar-btn.active{background:var(--brand-100);color:var(--brand-700)}.docs-drawer .notes-bubble-menu{max-width:320px}.docs-drawer .notes-slash-menu{max-width:340px}.notes-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);background:#ffffffd9}.notes-overlay-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.notes-overlay-actions{display:inline-flex;align-items:center;gap:8px;padding:0;border-radius:0;background:transparent;border:none}.notes-overlay-action{width:32px;height:32px;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:0;background:#ffffffeb;border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 24px #0000001a;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);cursor:pointer;color:#0f172abd;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.notes-overlay-action:hover{transform:translateY(-.5px);background:#fffffffa;border-color:#0000001a;box-shadow:0 14px 30px #0000001f;color:#0f172aeb}.notes-overlay-action:active{transform:translateY(0);background:#ffffffeb;box-shadow:0 10px 24px #0000001a}.notes-overlay-action:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f647}.notes-overlay-action:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.notes-overlay-action span{display:none}.notes-overlay-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid rgba(15,23,42,.1)}.notes-overlay-status.saving{background:#0f172a0a;color:#0f172aa6}.notes-overlay-status.dirty{background:#f59e0b1f;color:#b45309f2;border-color:#f59e0b3d}.notes-overlay-status.saved{background:#10b9811a;color:#10b981f2;border-color:#10b98133}.notes-overlay-status.draft{background:#0f172a0a;color:#0f172aa6;border-color:#0f172a1f}.notes-status-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a1a;box-shadow:0 1px 2px #00000014}.notes-status-dot.saved{background:#22c55ed9;border-color:#22c55e8c}.notes-status-dot.dirty{background:#f59e0bd9;border-color:#f59e0b8c}.notes-status-dot.error{background:#ef4444d9;border-color:#ef44448c}.notes-status-dot.draft{background:#0f172a47;border-color:#0f172a2e}.notes-status-dot.saving{animation:notesDotPulse 1.1s ease-in-out infinite}@keyframes notesDotPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}.notes-overlay-title{font-size:12px;font-weight:800;letter-spacing:-.01em;color:#0f172adb}.notes-overlay-close{width:32px;height:32px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#ffffffeb;border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 24px #0000001a;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);cursor:pointer;color:#0f172aa6;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.notes-overlay-close:hover{transform:translateY(-.5px);background:#fffffffa;border-color:#0000001a;box-shadow:0 14px 30px #0000001f;color:#0f172aeb}.notes-overlay-close:active{transform:translateY(0);background:#ffffffeb;box-shadow:0 10px 24px #0000001a}.notes-overlay-close:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f647}.notes-overlay-body{flex:1;min-height:0}.notes-overlay-body .notes-editor{border:none;border-radius:0}.sidebar-container{position:relative;display:flex;flex-direction:column;transition:width var(--transition-base);width:240px;flex-shrink:0;background:#fafbfc;border-right:1px solid #e8eaed}.sidebar-container.collapsed{width:40px}.sidebar-toggle-btn{width:40px;height:100%;display:flex;align-items:center;justify-content:center;background:#fafbfc;border:none;border-right:1.5px solid #e0e0e0;color:#636e72;cursor:pointer;transition:all .2s ease}.sidebar-toggle-btn:hover{background:#fff;color:#0984e3;box-shadow:2px 0 10px #00000005}.sidebar-collapse-btn{position:absolute;top:12px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fafbfc;border:1.5px solid #e0e0e0;border-radius:8px;color:#636e72;z-index:10;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 5px #00000005}.sidebar-collapse-btn:hover{background:#fff;color:#0984e3;border-color:#74b9ff;box-shadow:0 4px 10px #74b9ff26}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus{outline:none}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}::selection{background:var(--brand-200);color:var(--brand-900)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;border:none;background:none;color:inherit}input:focus,textarea:focus,select:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{display:flex;align-items:center;justify-content:center;height:100%}.loading-spinner{width:24px;height:24px;border:2px solid var(--gray-200);border-top-color:var(--brand-500);border-radius:var(--radius-full);animation:spin .7s linear infinite}.dash-tooltip{position:relative}.dash-tooltip:hover{overflow:visible!important}.dash-tooltip[data-tooltip]:hover:after,.dash-tooltip[data-tooltip]:focus-within:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);background:#1a1a2e;color:#fff;border:none;border-radius:6px;box-shadow:0 4px 14px #00000040;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;max-width:300px;text-align:center;z-index:99999;pointer-events:none;animation:tooltipFadeIn .15s ease-out}.dash-tooltip[data-tooltip]:hover:before,.dash-tooltip[data-tooltip]:focus-within:before{content:"";position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1a1a2e;z-index:99999;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;width:100%;max-width:400px;padding:24px;position:relative;animation:scaleIn .2s ease-out;border:1.5px solid #e0e0e0;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500}.modal-content--large{max-width:980px;height:min(85vh,820px);display:flex;flex-direction:column;padding:0}.modal-content--large .modal-header{padding:24px 24px 16px;margin-bottom:0;border-bottom:1.5px solid #e0e0e0}.modal-content--large .modal-body{padding:16px 24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{margin-bottom:16px}.modal-title{font-size:18px;font-weight:600;color:#2d3436;margin:0;line-height:1.3}.modal-description{color:#636e72;font-size:14px;margin:8px 0 0;line-height:1.5}.modal-body{margin-bottom:24px}.modal-content--large .modal-body{margin-bottom:0;overflow:auto;flex:1}.modal-content--large .clerk-profile-modal{height:100%}.modal-content--large .clerk-profile-modal :is(.cl-card,.cl-userProfile-root){box-shadow:none!important;border:none!important;background:transparent!important}.modal-content--large .clerk-profile-modal :is(.cl-main,.cl-page,.cl-navbar,.cl-navbarMobileMenu){background:transparent!important}.modal-input{width:100%;padding:12px 14px;border-radius:8px;font-size:14px;transition:all .2s ease;outline:none;border:1.5px solid #e0e0e0;background-color:#fafbfc;color:#2d3436;font-family:Inter,system-ui,-apple-system,sans-serif}.modal-input:hover{border-color:#b2bec3}.modal-input:focus{background-color:#fff;border-color:#74b9ff;box-shadow:0 0 0 3px #74b9ff26}.modal-input::placeholder{color:#b2bec3}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.btn-modal{padding:10px 18px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;border:none}.btn-secondary{background:#fafbfc;color:#636e72;border:1.5px solid #e0e0e0}.btn-secondary:hover{background:#f1f3f4;color:#2d3436;border-color:#b2bec3}.btn-primary{background:#0984e3;color:#fff}.btn-primary:hover{background:#0773c7;transform:translateY(-1px);box-shadow:0 4px 12px #0984e340}.modal-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;width:100%}.modal-close-btn{background:#fafbfc;border:1.5px solid #e0e0e0;color:#636e72;cursor:pointer;padding:4px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px;position:absolute;top:16px;right:16px}.modal-close-btn:hover{background:#ffe6e6;color:#d63031;border-color:#ff7675}.modal-close-btn:active{transform:scale(.95)}.circular-workspace-selector{display:none;position:fixed;top:20px;left:20px;z-index:1000;font-family:Inter,system-ui,-apple-system,sans-serif}.workspace-circle{width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid var(--slate-200);box-shadow:0 4px 12px #00000026;color:var(--slate-600);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workspace-circle:hover{background:var(--slate-50);border-color:var(--slate-300);transform:scale(1.05);box-shadow:0 6px 16px #0003}.circular-workspace-selector.expanded .workspace-circle{background:var(--blue-600);border-color:var(--blue-600);color:#fff;transform:scale(1.1)}.hide-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--slate-100);border:1px solid var(--slate-300);color:var(--slate-500);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8)}.circular-workspace-selector:hover .hide-btn{opacity:1;transform:scale(1)}.hide-btn:hover{background:var(--slate-200);color:var(--slate-700)}.workspace-menu{position:absolute;top:60px;left:0;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden;min-width:200px;animation:slideUp .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1001;pointer-events:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.current-workspace{padding:12px 16px;background:var(--slate-50);border-bottom:1px solid var(--slate-200)}.current-label{display:block;font-size:11px;text-transform:uppercase;font-weight:600;color:var(--slate-500);letter-spacing:.5px;margin-bottom:2px}.current-name{font-size:14px;font-weight:600;color:var(--slate-900)}.workspace-options{padding:8px 0}.workspace-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:transparent;border:none;border-left:3px solid transparent;color:var(--slate-700);cursor:pointer;font-size:14px;text-align:left;transition:all .15s ease;font-weight:500}.workspace-option:hover{background:var(--blue-50);color:var(--blue-700);border-left-color:var(--blue-500);transform:translate(4px)}.workspace-option.active{background:var(--blue-50);color:var(--blue-700)}.workspace-option.create-team{color:var(--slate-600);border-top:1px solid var(--slate-200);margin-top:8px;padding-top:12px}.workspace-option.create-team:hover{background:var(--green-50);color:var(--green-700)}.circular-backdrop{position:fixed;inset:0;z-index:998;background:transparent;pointer-events:auto}.circular-workspace-hidden{display:none;position:fixed;top:20px;left:-10px;z-index:1000;transition:all .3s ease}.show-workspace-btn{width:40px;height:40px;border-radius:0 50% 50% 0;background:var(--blue-500);border:2px solid var(--blue-600);border-left:none;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-left:8px;box-shadow:0 4px 12px #3b82f64d}.show-workspace-btn:hover{background:var(--blue-600);color:#fff;transform:translate(8px);box-shadow:0 6px 16px #3b82f666}@media(max-width:768px){.circular-workspace-selector{top:16px;left:16px}.circular-workspace-hidden{top:16px;left:-8px}.workspace-circle{width:44px;height:44px}.workspace-menu{min-width:180px}}
