.landing-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#e2e8f0;overflow-x:hidden}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.hero-content{max-width:800px;text-align:center;z-index:10;animation:fadeInUp .8s ease-out}.logo-container{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.logo-icon{font-size:4rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(59,130,246,.5))}.brand-name{font-size:4rem;font-weight:800;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.tagline{font-size:1.5rem;color:#94a3b8;margin:.5rem 0 2rem;font-weight:300}.description{font-size:1.2rem;line-height:1.8;color:#cbd5e0;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2.5rem;border-radius:12px;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;transition:all .3s ease;border:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 10px 30px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #3b82f666}.btn-secondary{background:#ffffff1a;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.btn-tertiary{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e1b4b;font-weight:700;box-shadow:0 10px 30px #fbbf244d}.btn-tertiary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #fbbf2466}.btn-large{padding:1.25rem 3rem;font-size:1.25rem}.hero-visual{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.3}.floating-nodes{position:relative;width:100%;height:100%}.node{position:absolute;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 0 40px #3b82f699;animation:float 6s ease-in-out infinite}.node-1{top:20%;left:10%;animation-delay:0s}.node-2{top:60%;left:80%;animation-delay:1s}.node-3{top:40%;right:15%;animation-delay:2s}.node-4{bottom:20%;left:20%;animation-delay:3s}.connection{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);transform-origin:left center}.connection-1{top:25%;left:15%;width:200px;transform:rotate(45deg)}.connection-2{top:50%;right:20%;width:150px;transform:rotate(-30deg)}.connection-3{bottom:25%;left:25%;width:180px;transform:rotate(15deg)}.features{padding:6rem 2rem;background:#0f172a80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:4rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);background:#ffffff14;border-color:#3b82f680;box-shadow:0 20px 40px #3b82f633}.feature-icon{font-size:3rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:#f1f5f9}.feature-card p{color:#cbd5e0;line-height:1.7;font-size:1rem}.use-cases{padding:6rem 2rem;max-width:1200px;margin:0 auto}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.use-case{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;transition:all .3s ease}.use-case:hover{background:#ffffff0d;transform:translateY(-3px)}.use-case h3{font-size:1.3rem;margin-bottom:.75rem;color:#f1f5f9}.use-case p{color:#94a3b8;line-height:1.6}.cta-section{padding:6rem 2rem;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.cta-content{max-width:800px;margin:0 auto;text-align:center}.cta-content h2{font-size:2.5rem;margin-bottom:1rem;color:#f1f5f9}.cta-content p{font-size:1.2rem;color:#cbd5e0;margin-bottom:2.5rem}.footer{padding:3rem 2rem 2rem;background:#0f172acc;border-top:1px solid rgba(255,255,255,.1)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.footer-brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700}.footer-logo{font-size:2rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-links{display:flex;gap:2rem}.footer-links a{color:#94a3b8;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#3b82f6}.footer-copyright{text-align:center;color:#64748b;font-size:.9rem;margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media(max-width:768px){.brand-name{font-size:2.5rem}.tagline{font-size:1.2rem}.description{font-size:1rem}.section-title,.cta-content h2{font-size:2rem}.footer-content{flex-direction:column;text-align:center}.features-grid,.use-cases-grid{grid-template-columns:1fr}}.form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);padding:2rem}.form-container form{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:3rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px;text-align:center;position:relative}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#94a3b8;text-decoration:none;font-size:.9rem;margin-bottom:1.5rem;transition:color .3s ease}.back-link:hover{color:#3b82f6}.form-brand{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem}.form-logo{font-size:3rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(59,130,246,.5))}.form-brand h1{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{margin-bottom:2rem;color:#f1f5f9;font-size:1.5rem;font-weight:600}input{width:100%;padding:1rem;margin-bottom:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-sizing:border-box;background:#ffffff0d;color:#e2e8f0;font-size:1rem;transition:all .3s ease}input::placeholder{color:#64748b}input:focus{outline:none;border-color:#3b82f6;background:#ffffff14;box-shadow:0 0 0 3px #3b82f633}.form-container button[type=submit],.form-container button{width:100%;padding:1rem;border:none;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px #3b82f64d}.form-container button:hover{transform:translateY(-2px);box-shadow:0 15px 40px #3b82f666}.form-container button:active{transform:translateY(0)}.error{color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.3);padding:.75rem;border-radius:8px;margin-bottom:1.25rem;font-size:.95rem}p{margin-top:2rem;color:#94a3b8;font-size:.95rem}a{color:#3b82f6;text-decoration:none;font-weight:500;transition:color .3s ease}a:hover{color:#60a5fa;text-decoration:underline}@media(max-width:480px){form{padding:2rem}.form-brand h1{font-size:1.75rem}.form-logo{font-size:2.5rem}}.features-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#e2e8f0}.features-page .features-header{padding:60px 20px 40px;text-align:center;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-page .header-content{max-width:1200px;margin:0 auto}.features-page .back-link{display:inline-flex;align-items:center;gap:8px;color:#fffc;text-decoration:none;font-size:.9em;margin-bottom:20px;transition:all .3s}.features-page .back-link:hover{color:#fff;transform:translate(-5px)}.features-page .logo-container{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.features-page .logo-icon{font-size:3em;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(59,130,246,.5))}.features-page .features-header h1{font-size:3em;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-page .subtitle{font-size:1.2em;color:#94a3b8;margin-top:10px}.features-page .feature-section{padding:80px 20px;max-width:1200px;margin:0 auto}.features-page .feature-section.dark{background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-page .section-title{font-size:2.5em;text-align:center;margin-bottom:20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-page .section-description{text-align:center;font-size:1.2em;color:#cbd5e0;margin-bottom:50px}.features-page .nodes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.features-page .node-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;border:1px solid rgba(255,255,255,.2);transition:all .3s}.features-page .node-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d;border-color:#ffd70080}.features-page .node-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8em;margin-bottom:20px}.features-page .node-icon.host{background:linear-gradient(135deg,#667eea,#764ba2)}.features-page .node-icon.vuln{background:linear-gradient(135deg,#f093fb,#f5576c)}.features-page .node-icon.nmap{background:linear-gradient(135deg,#4facfe,#00f2fe)}.features-page .node-icon.enum{background:linear-gradient(135deg,#43e97b,#38f9d7)}.features-page .node-icon.exploit{background:linear-gradient(135deg,#fa709a,#fee140)}.features-page .node-icon.creds{background:linear-gradient(135deg,#30cfd0,#330867)}.features-page .node-icon.notes{background:linear-gradient(135deg,#a8edea,#fed6e3)}.features-page .node-card h3{font-size:1.5em;margin-bottom:15px;color:#f1f5f9}.features-page .node-card p{color:#cbd5e0;line-height:1.6;margin-bottom:15px}.features-page .feature-list{list-style:none;padding:0;margin-top:15px}.features-page .feature-list li{padding:8px 0 8px 25px;position:relative;color:#cbd5e0;font-size:.9em}.features-page .feature-list li:before{content:"✓";position:absolute;left:0;color:#4ade80;font-weight:700}.features-page .capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:40px}.features-page .capability-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;text-align:center;border:1px solid rgba(255,255,255,.2);transition:all .3s}.features-page .capability-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #3b82f64d}.features-page .capability-icon{font-size:3em;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.features-page .capability-card h3{font-size:1.3em;margin-bottom:15px;color:#f1f5f9}.features-page .capability-card p{color:#cbd5e0;line-height:1.6}.features-page .workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:40px}.features-page .workflow-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:25px;border:1px solid rgba(255,255,255,.2);transition:all .3s}.features-page .workflow-item:hover{transform:scale(1.05);border-color:#3b82f680}.features-page .workflow-item h3{font-size:1.2em;margin-bottom:10px;color:#f1f5f9}.features-page .workflow-item p{color:#94a3b8;font-size:.9em;line-height:1.5}.features-page .cta-section{padding:80px 20px;text-align:center;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-page .cta-content{max-width:800px;margin:0 auto}.features-page .cta-content h2{font-size:2.5em;margin-bottom:20px;color:#f1f5f9}.features-page .cta-content p{font-size:1.2em;color:#cbd5e0;margin-bottom:30px}.features-page .cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.features-page .btn{padding:15px 40px;border-radius:30px;text-decoration:none;font-weight:600;font-size:1.1em;transition:all .3s;display:inline-flex;align-items:center;gap:10px}.features-page .btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 15px #3b82f666}.features-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.features-page .btn-secondary{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3)}.features-page .btn-secondary:hover{background:#ffffff4d;border-color:#ffffff80}.features-page .footer{padding:40px 20px;background:#0f172acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-page .footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.features-page .footer-brand{display:flex;align-items:center;gap:10px;font-size:1.2em;font-weight:600}.features-page .footer-logo{font-size:1.5em;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-page .footer-links{display:flex;gap:30px}.features-page .footer-links a{color:#94a3b8;text-decoration:none;transition:color .3s}.features-page .footer-links a:hover{color:#3b82f6}.features-page .footer-copyright{text-align:center;color:#64748b;margin-top:20px;font-size:.9em}@media(max-width:768px){.features-page .features-header h1{font-size:2em}.features-page .section-title{font-size:1.8em}.features-page .nodes-grid,.features-page .capabilities-grid{grid-template-columns:1fr}.features-page .workflow-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.features-page .footer-content{flex-direction:column;text-align:center}}.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%}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.modal-container{background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,inset 0 1px #ffffff1a;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:scaleUp .3s cubic-bezier(.16,1,.3,1)}.changelog-modal{max-width:800px}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#e2e8f0;font-size:1.5rem}.modal-close-btn{background:none;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close-btn:hover{background:#ffffff1a;color:#fff}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-description{color:#94a3b8;margin-bottom:1rem}.suggestion-textarea{width:100%;min-height:150px;padding:.75rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-family:inherit;font-size:.95rem;resize:vertical;transition:all .2s ease}.suggestion-textarea:focus{outline:none;border-color:#8b5cf666;background:#0f172acc}.char-count{text-align:right;color:#64748b;font-size:.85rem;margin-top:.5rem}.changelog-content{color:#e2e8f0;line-height:1.6}.changelog-content h1{color:#a78bfa;font-size:1.75rem;margin-top:0;margin-bottom:1rem}.changelog-content h2{color:#c4b5fd;font-size:1.35rem;margin-top:1.5rem;margin-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.changelog-content h3{color:#ddd6fe;font-size:1.1rem;margin-top:1rem;margin-bottom:.5rem}.changelog-content ul{padding-left:1.5rem}.changelog-content li{margin-bottom:.5rem}.changelog-content code{background:#8b5cf633;padding:.2rem .4rem;border-radius:4px;font-size:.9em}.modal-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:.75rem}.modal-footer.suggestion-footer{justify-content:space-between}.modal-footer .btn{padding:.5rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;width:auto;flex-shrink:0}.modal-footer .btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-secondary{background:#ffffff1a;color:#e2e8f0}.modal-footer .btn-secondary:hover:not(:disabled){background:#ffffff26}.error-message{color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:.75rem;border-radius:8px;margin-top:1rem}.sidebar{height:100%;background:#1a202ccc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.1);color:#e2e8f0;transition:width .3s ease;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;box-shadow:2px 0 20px #0000004d}.sidebar.open{width:300px}.sidebar.closed{width:60px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);height:60px;background:#0f172a80}.sidebar-brand{display:flex;align-items:center;gap:.75rem;flex:1}.sidebar-brand-icon{font-size:1.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(59,130,246,.3))}.sidebar-header h2{margin:0;font-size:1.2rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:.4rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s;width:32px;height:32px;flex-shrink:0;font-size:.9rem}.toggle-btn:hover{color:#fff;background-color:#2d3748}.sidebar-content{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.new-map-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 15px #3b82f64d}.new-map-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.sidebar-tabs{display:flex;background:#0003;border-radius:8px;padding:4px;gap:4px}.sidebar-tab{flex:1;background:transparent;border:none;color:#94a3b8;padding:.5rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.sidebar-tab:hover{color:#e2e8f0;background:#ffffff0d}.sidebar-tab.active{background:#3b82f626;color:#63b3ed;box-shadow:0 1px 2px #0000001a}.map-list{display:flex;flex-direction:column;gap:.5rem}.map-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#cbd5e0;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.map-item:hover{background:#ffffff14;border-color:#3b82f64d;transform:translate(4px)}.map-item.active{background:#3b82f633;border-color:#3b82f680;color:#fff;box-shadow:0 0 20px #3b82f64d}.map-info{display:flex;align-items:center;gap:.75rem;overflow:hidden}.map-icon{flex-shrink:0}.map-name{white-space:normal;overflow:visible;word-break:break-word;font-size:.95rem;line-height:1.4}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#1a202c}.sidebar-content::-webkit-scrollbar-thumb{background-color:#4a5568;border-radius:3px}.map-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .2s ease}.map-item:hover .map-actions{opacity:1}.sidebar-action-btn{background:none;border:none;color:#718096;cursor:pointer;padding:.4rem;border-radius:4px;transition:all .2s;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.sidebar-action-btn:hover{color:#fff;background-color:#ffffff1a}.delete-btn:hover{color:#e53e3e;background-color:#e53e3e1a}.rename-btn:hover{color:#3b82f6;background-color:#3b82f61a}.empty-state{text-align:center;color:#718096;font-size:.9rem;margin-top:1rem}.collapsed-icons{display:flex;flex-direction:column;align-items:center;gap:1rem}.icon-only-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:.75rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;width:100%}.icon-only-btn:hover{color:#fff;background-color:#2d3748}.icon-only-btn.active{background-color:#2c5282;color:#fff;box-shadow:0 0 10px #2c528280}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.05);background:#0f172a4d;margin-top:auto}.version-info-container{display:flex;align-items:center;gap:.5rem}.version-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#64748b;font-size:.8rem;font-family:JetBrains Mono,monospace;background:#ffffff08;padding:.4rem;border-radius:6px;border:1px solid rgba(255,255,255,.05);transition:all .3s ease;cursor:pointer}.version-btn:hover{background:#ffffff14;color:#94a3b8;border-color:#ffffff1a;transform:translateY(-1px)}.suggestion-btn{display:flex;align-items:center;justify-content:center;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);color:#fbbf24;padding:.4rem .6rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.suggestion-btn:hover{background:#fbbf2433;border-color:#fbbf244d;transform:translateY(-1px);box-shadow:0 0 12px #fbbf244d}.help-btn{display:flex;align-items:center;justify-content:center;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:#8b5cf6;padding:.4rem .6rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.help-btn:hover{background:#8b5cf633;border-color:#8b5cf64d;transform:translateY(-1px);box-shadow:0 0 12px #8b5cf64d}.version-icon{font-size:.9em;opacity:.7}.version-info.collapsed{padding:.2rem;background:transparent;border:none;display:flex;align-items:center;justify-content:center}.version-text-collapsed{font-size:.7rem;opacity:.5;color:#64748b}.toolbar{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:100;background-color:#1a202ce6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 20px;border-radius:12px;box-shadow:0 4px 6px #0000004d,0 0 0 1px #ffffff1a;display:flex;align-items:center;gap:15px;color:#edf2f7}.toolbar button{background:transparent;border:none;color:#a0aec0;cursor:pointer;font-size:1.2rem;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.toolbar button:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(-5px);background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#e2e8f0;padding:8px 14px;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(139,92,246,.3);box-shadow:0 10px 25px #0006,0 0 20px #8b5cf633,inset 0 1px #ffffff1a;z-index:1000;letter-spacing:.3px}.toolbar button:before{content:"";position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(30,41,59,.95);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;filter:drop-shadow(0 -2px 4px rgba(139,92,246,.2))}.toolbar button:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.toolbar button:hover:before{opacity:1}.toolbar button:hover:not(:disabled){background-color:#ffffff26;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.toolbar button:active:not(:disabled){transform:translateY(0)}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.toolbar-group{display:flex;gap:5px}.separator{width:1px;height:24px;background-color:#fff3}.logout-btn:hover{color:#e53e3e!important;background-color:#e53e3e1a!important}.logout-btn:hover:after{border-color:#e53e3e4d;box-shadow:0 10px 25px #0006,0 0 20px #e53e3e33,inset 0 1px #ffffff1a}.logout-btn:hover:before{filter:drop-shadow(0 -2px 4px rgba(229,62,62,.2))}.search-container{position:relative;display:flex;align-items:center;gap:8px;background:#ffffff0d;border-radius:8px;padding:0 10px;height:36px;width:160px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.search-container:focus-within{background:#8b5cf61a;border-color:#8b5cf64d;width:200px;box-shadow:0 0 0 1px #8b5cf633}.search-icon{color:#94a3b8;font-size:.85rem;flex-shrink:0;transition:color .3s ease}.search-container:focus-within .search-icon{color:#a78bfa}.search-container input{flex:1;background:transparent;border:none;outline:none;color:#e2e8f0;font-size:.85rem;font-weight:500;min-width:0;padding:0;height:auto;margin:0;line-height:1}.search-container input::placeholder{color:#64748b}.clear-search-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;font-size:.75rem;width:20px;height:20px;border-radius:50%}.clear-search-btn:hover{color:#f87171;background:#ef444426}.search-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;background:#1a202cfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.25);border-radius:12px;padding:8px;max-height:320px;overflow-y:auto;box-shadow:0 20px 25px -5px #0009,0 0 25px #8b5cf626,inset 0 1px #ffffff0d;z-index:1001;animation:dropdownSlide .25s cubic-bezier(.34,1.56,.64,1)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.search-dropdown::-webkit-scrollbar{width:5px}.search-dropdown::-webkit-scrollbar-track{background:transparent}.search-dropdown::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:10px}.search-dropdown::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.search-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#ffffff08;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:6px}.search-dropdown-item:last-child{margin-bottom:0}.search-dropdown-item:hover{background:#8b5cf626;transform:translate(3px)}.dropdown-label{color:#e2e8f0;font-size:.9rem;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-type{color:#a78bfa;font-size:.65rem;text-transform:uppercase;font-weight:700;padding:3px 7px;background:#8b5cf626;border-radius:5px;letter-spacing:.8px;flex-shrink:0}.no-results-dropdown{padding:20px 12px;text-align:center;color:#64748b;font-size:.85rem}.node-search{position:absolute;top:20px;right:20px;z-index:100;display:flex;align-items:flex-start;gap:10px}.search-toggle-btn{background:#1a202ce6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#a0aec0;cursor:pointer;font-size:1.2rem;padding:10px 12px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000004d,0 0 0 1px #ffffff1a;position:relative}.search-toggle-btn:hover{background-color:#ffffff26;color:#fff;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.node-search.open .search-toggle-btn{background:linear-gradient(135deg,#3b82f64d,#8b5cf64d);color:#90cdf4;border:1px solid rgba(139,92,246,.4)}.search-panel{background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:12px;min-width:300px;max-width:400px;box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d,0 0 30px #8b5cf633,inset 0 1px #ffffff1a;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.search-input-container{display:flex;align-items:center;gap:10px;background:#0000004d;border:1.5px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;transition:all .3s ease}.search-input-container:focus-within{border-color:#8b5cf680;background:#8b5cf614;box-shadow:0 0 20px #8b5cf633}.search-icon{color:#94a3b8;font-size:.9rem;flex-shrink:0}.search-input-container input{flex:1;background:transparent;border:none;outline:none;color:#e2e8f0;font-size:.95rem;font-weight:500}.search-input-container input::placeholder{color:#64748b}.clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.clear-btn:hover{color:#f87171;background:#ef44441a}.search-results{margin-top:10px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:#0003;border-radius:3px}.search-results::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:3px}.search-results::-webkit-scrollbar-thumb:hover{background:#8b5cf699}.search-result-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-result-item:hover{background:#8b5cf626;border-color:#8b5cf666;transform:translate(4px);box-shadow:0 4px 12px #8b5cf633}.result-label{color:#e2e8f0;font-size:.9rem;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-type{color:#94a3b8;font-size:.75rem;text-transform:uppercase;font-weight:600;padding:2px 8px;background:#8b5cf633;border-radius:6px;letter-spacing:.5px}.no-results{margin-top:10px;padding:20px;text-align:center;color:#94a3b8;font-size:.9rem;font-style:italic}.search-toggle-btn:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(-5px);background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#e2e8f0;padding:8px 14px;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(139,92,246,.3);box-shadow:0 10px 25px #0006,0 0 20px #8b5cf633,inset 0 1px #ffffff1a;z-index:1000;letter-spacing:.3px}.search-toggle-btn:before{content:"";position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(30,41,59,.95);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;filter:drop-shadow(0 -2px 4px rgba(139,92,246,.2))}.search-toggle-btn:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.search-toggle-btn:hover:before{opacity:1}.node-search.open .search-toggle-btn:after,.node-search.open .search-toggle-btn:before{display:none}.custom-node{border-radius:8px;padding:0;border:2px solid rgba(255,255,255,.1);background:#3a3a3a;color:#f0f0f0;min-width:180px;text-align:center;transition:border-color .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 6px #0000004d}.vuln-node.severity-low{border-color:#38a169;background:#2f855a}.standard-node{min-width:120px}.enum-node{display:flex;flex-direction:column}.enum-header{background-color:#0003;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.enum-header .node-icon{margin-right:8px}.enum-header .node-label{flex-grow:1;text-align:left}.enum-body{padding:8px;background-color:#0000001a}.enum-items-view{display:flex;flex-direction:column;gap:4px}.enum-item-row{display:flex;align-items:center;gap:8px;font-size:.85em;padding:2px 4px;background-color:#ffffff0d;border-radius:4px;position:relative}.item-handle{position:absolute!important;right:-6px!important;top:50%!important;transform:translateY(-50%)!important;width:8px!important;height:8px!important;background:#a0aec0!important;border:none!important}.item-icon{color:#a0aec0;font-size:.9em}.item-path{flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.item-status{font-size:.8em;padding:1px 4px;border-radius:3px}.status-200{background-color:#48bb7833;color:#68d391}.status-403{background-color:#ecc94b33;color:#d69e2e}.status-404{background-color:#f5656533;color:#fc8181}.status-500{background-color:#e53e3e33;color:#e53e3e}.no-items{font-size:.8em;color:#a0aec0;font-style:italic;padding:4px}.enum-editor{display:flex;flex-direction:column;gap:8px}.enum-item-edit-row{display:flex;gap:4px;align-items:center}.enum-item-edit-row input,.enum-item-edit-row select{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:0 4px;border-radius:3px;font-size:.8em;height:26px;line-height:24px;box-sizing:border-box;margin:0;outline:none}.type-select{width:50px}.path-input{flex-grow:1;width:80px}.status-input{width:40px}.remove-item-btn{background:none;border:none;color:#fc8181;cursor:pointer;padding:2px}.remove-item-btn:hover{color:#f56565}.enum-actions{display:flex;justify-content:space-between;margin-top:4px}.enum-import{display:flex;flex-direction:column;gap:8px}.enum-import label{font-size:.75em;color:#a0aec0;margin-bottom:4px}.custom-node.selected{border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed,0 0 20px 7px #63b3ed80}.node-content{padding:10px 15px;display:flex;align-items:center;justify-content:center;gap:8px}.node-icon{font-size:1.2em}.node-label{font-size:1em;font-weight:700}.vuln-node{display:flex;flex-direction:column;min-width:200px;max-width:400px;word-break:break-word}.vuln-header{background-color:#0003;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.vuln-header .node-icon{margin-right:8px}.vuln-header .node-label{flex-grow:1;text-align:left;font-weight:700}.vuln-body{padding:10px;background-color:#0000001a;text-align:left}.vuln-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.vuln-tag{font-size:.7em;padding:2px 6px;border-radius:4px;font-weight:700;color:#fff}.severity-tag.low{background-color:#38a169}.severity-tag.medium{background-color:#d69e2e}.severity-tag.high{background-color:#e53e3e}.severity-tag.critical{background-color:#805ad5}.cve-tag{background-color:#4a5568;border:1px solid #718096}.cwe-tag{background-color:#2d3748;border:1px solid #4a5568}.vuln-desc{font-size:.8em;color:#e2e8f0;margin-top:4px}.vuln-editor{display:flex;flex-direction:column;gap:8px}.vuln-editor .form-group{display:flex;flex-direction:column;gap:2px}.vuln-editor label{font-size:.75em;color:#a0aec0}.vuln-editor select,.vuln-editor input{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.vuln-editor .form-row{display:flex;gap:8px}.vuln-editor .form-group.half{width:50%}.cve-input-group{display:flex;gap:4px;align-items:center}.cve-input-group input{flex-grow:1}.fetch-cve-btn{background-color:#4299e133;border:1px solid rgba(66,153,225,.3);color:#63b3ed;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:.85em;display:flex;align-items:center;justify-content:center;min-width:32px;transition:all .2s}.fetch-cve-btn:hover:not(:disabled){background-color:#4299e14d;border-color:#4299e180}.fetch-cve-btn:disabled{opacity:.5;cursor:not-allowed}.cvss-tag{background-color:#4299e133;color:#63b3ed;border:1px solid rgba(66,153,225,.3)}.vuln-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.nmap-node{display:flex;flex-direction:column}.nmap-header{background-color:#0003;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.nmap-header .node-icon{margin-right:8px}.nmap-header .node-label{flex-grow:1;text-align:left}.edit-icon-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.edit-icon-btn:hover{background-color:#ffffff1a;color:#fff}.nmap-body{padding:8px;background-color:#0000001a}.nmap-ports-view{display:flex;flex-direction:column;gap:4px}.nmap-port-row{display:grid;grid-template-columns:40px 40px 1fr 10px;align-items:center;font-size:.85em;padding:2px 4px;background-color:#ffffff0d;border-radius:4px;position:relative}.port-number{font-weight:700;color:#90cdf4;text-align:right;padding-right:5px}.port-proto{color:#a0aec0;text-transform:uppercase;font-size:.8em}.port-service{text-align:left;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-version{color:#90cdf4;font-size:.85em;font-style:italic}.port-handle{position:absolute!important;right:-6px!important;top:50%!important;transform:translateY(-50%)!important;width:8px!important;height:8px!important;background:#a0aec0!important;border:none!important}.no-ports{font-size:.8em;color:#a0aec0;font-style:italic;padding:4px}.nmap-editor{display:flex;flex-direction:column;gap:8px}.nmap-port-edit-row{display:flex;gap:4px;align-items:center}.nmap-port-edit-row input,.nmap-port-edit-row select{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:0 4px;border-radius:3px;font-size:.8em;height:26px;line-height:24px;box-sizing:border-box;margin:0;outline:none}.port-input{width:50px}.proto-select{width:55px}.service-input{flex-grow:1;width:60px}.version-input{flex-grow:2;width:100px;font-size:.75em}.remove-port-btn{background:none;border:none;color:#fc8181;cursor:pointer;padding:2px}.remove-port-btn:hover{color:#f56565}.nmap-actions{display:flex;justify-content:space-between;margin-top:4px}.action-group{display:flex;gap:4px}.action-btn{background-color:#ffffff1a;border:none;color:#fff;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.8em;display:flex;align-items:center;gap:4px}.action-btn:hover{background-color:#fff3}.add-btn{background-color:#48bb7833;color:#68d391}.add-btn:hover{background-color:#48bb784d}.save-btn{background-color:#4299e133;color:#63b3ed}.save-btn:hover{background-color:#4299e14d}.cancel-btn{background-color:#f5656533;color:#fc8181}.cancel-btn:hover{background-color:#f565654d}.import-btn{background-color:#805ad533;color:#b794f4}.import-btn:hover{background-color:#805ad54d}.nmap-import{display:flex;flex-direction:column;gap:8px}.nmap-import label{font-size:.75em;color:#a0aec0;margin-bottom:4px}.import-textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;padding:8px;border-radius:4px;font-size:.8em;font-family:Courier New,Courier,monospace;resize:vertical;width:100%;box-sizing:border-box}.import-textarea:focus{outline:none;border-color:#805ad5}.import-actions{display:flex;justify-content:flex-end;gap:8px}.exploit-node{display:flex;flex-direction:column;min-width:220px;border-color:#e53e3e}.exploit-header{background-color:#e53e3e33;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.exploit-header .node-icon{margin-right:8px;color:#fc8181}.exploit-header .node-label{flex-grow:1;text-align:left;font-weight:700;color:#fc8181}.exploit-body{padding:10px;background-color:#0003;text-align:left}.exploit-status{display:inline-block;font-size:.75em;padding:2px 6px;border-radius:4px;font-weight:700;margin-bottom:8px;text-transform:uppercase}.status-success{background-color:#48bb784d;color:#68d391}.status-failed{background-color:#f565654d;color:#fc8181}.status-pending{background-color:#a0aec04d;color:#a0aec0}.exploit-terminal{background-color:#1a202c;padding:8px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.8em;color:#63b3ed;border:1px solid #2d3748;position:relative;overflow-x:auto}.terminal-icon{position:absolute;top:4px;right:4px;opacity:.3}.exploit-command{margin:0;padding:0;font-family:Courier New,Courier,monospace;font-size:.85em;color:#90cdf4;white-space:pre-wrap;word-break:break-word;line-height:1.4}.exploit-editor{display:flex;flex-direction:column;gap:8px}.exploit-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#63b3ed;padding:4px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box;font-family:monospace;resize:vertical}.exploit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.credentials-node{display:flex;flex-direction:column;min-width:220px;border-color:#38a169}.credentials-header{background-color:#38a16933;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.credentials-header .node-icon{margin-right:8px;color:#68d391}.credentials-header .node-label{flex-grow:1;text-align:left;font-weight:700;color:#68d391}.credentials-body{padding:10px;background-color:#0003;text-align:left}.credentials-details{display:flex;flex-direction:column;gap:6px}.cred-field{display:flex;align-items:center;gap:6px;font-size:.85em;padding:4px 6px;background-color:#ffffff0d;border-radius:4px}.password-field{position:relative}.cred-label{font-weight:700;color:#a0aec0;min-width:50px}.cred-value{flex-grow:1;color:#e2e8f0;word-break:break-all;font-family:Courier New,Courier,monospace;font-size:.9em}.source-value{color:#90cdf4;font-style:italic}.toggle-visibility-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:2px 4px;border-radius:3px;display:flex;align-items:center;transition:all .2s}.toggle-visibility-btn:hover{background-color:#ffffff1a;color:#68d391}.cred-notes{font-size:.8em;color:#cbd5e0;padding:6px;background-color:#ffffff08;border-radius:4px;border-left:2px solid #68d391;margin-top:4px}.credentials-editor{display:flex;flex-direction:column;gap:8px}.credentials-editor .form-group{display:flex;flex-direction:column;gap:2px}.credentials-editor label{font-size:.75em;color:#a0aec0}.credentials-editor select,.credentials-editor input,.credentials-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.credentials-editor textarea{resize:vertical;font-family:inherit}.monospace-input{font-family:Courier New,Courier,monospace;font-size:.8em;line-height:1.4}.monospace-value{font-family:Courier New,Courier,monospace;font-size:.8em}.credential-pre{margin:0;padding:6px;background-color:#0000004d;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.75em;line-height:1.3;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.credentials-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.node-comment{font-size:.8em;color:#cbd5e0;padding:6px 8px;margin-top:6px;background-color:#ffffff0d;border-radius:4px;border-left:3px solid #63b3ed;font-style:italic;max-height:100px;overflow-y:auto;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.notes-node{display:flex;flex-direction:column;min-width:250px;max-width:400px;border-color:#f6ad55}.notes-header{background-color:#f6ad5533;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.notes-header .node-icon{margin-right:8px;color:#f6ad55}.notes-header .node-label{flex-grow:1;text-align:left;font-weight:700;color:#f6ad55}.notes-body{padding:10px;background-color:#0003;text-align:left;max-height:400px;overflow-y:auto}.notes-content{font-size:.85em;color:#e2e8f0}.markdown-content{line-height:1.6}.markdown-content h1{font-size:1.3em;margin:8px 0 4px;color:#f6ad55}.markdown-content h2{font-size:1.2em;margin:6px 0 4px;color:#f6ad55}.markdown-content h3{font-size:1.1em;margin:4px 0 2px;color:#f6ad55}.markdown-content strong{color:#fbd38d;font-weight:700}.markdown-content em{color:#fbd38d;font-style:italic}.markdown-content code{background-color:#0000004d;padding:2px 4px;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em;color:#90cdf4}.exploit-terminal code{font-family:Courier New,Courier,monospace;font-size:.85em;color:#90cdf4}.exploit-field{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.85em}.exploit-field .field-label{font-weight:700;color:#a0aec0;min-width:80px}.exploit-field .field-value{color:#e2e8f0;flex-grow:1}.exploit-field.password-field{background-color:#ffffff0d;padding:4px 8px;border-radius:4px}.exploit-field .toggle-visibility-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;display:flex;align-items:center;transition:all .2s}.exploit-field .toggle-visibility-btn:hover{background-color:#ffffff1a;color:#fc8181}.markdown-content ul{margin:4px 0;padding-left:20px}.markdown-content li{margin:2px 0}.markdown-content p{margin:4px 0}.no-content{font-size:.8em;color:#a0aec0;font-style:italic;padding:4px}.notes-editor{display:flex;flex-direction:column;gap:8px}.notes-editor .form-group{display:flex;flex-direction:column;gap:2px}.notes-editor label{font-size:.75em;color:#a0aec0}.notes-editor input,.notes-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box;font-family:Courier New,Courier,monospace}.notes-editor textarea{resize:vertical;line-height:1.4}.notes-help{font-size:.7em;color:#a0aec0;padding:4px;background-color:#f6ad551a;border-radius:3px}.notes-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.host-node{display:flex;flex-direction:column;min-width:220px}.host-header{background-color:#0003;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.host-header .node-icon{margin-right:8px;color:#90cdf4}.host-header .node-label{flex-grow:1;text-align:left;font-weight:700}.host-body{padding:10px;background-color:#0000001a;text-align:left;display:flex;flex-direction:column;gap:8px}.host-info{display:flex;flex-direction:column;gap:4px}.info-item{display:flex;align-items:center;gap:6px;font-size:.85em}.info-label{color:#a0aec0;font-weight:600;min-width:30px}.info-value{color:#e2e8f0;font-family:Courier New,Courier,monospace}.vm-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75em;padding:3px 8px;border-radius:12px;background-color:#8b5cf633;color:#a78bfa;border:1px solid rgba(139,92,246,.3);font-weight:600;align-self:flex-start}.host-comments{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background-color:#ffffff0d;border-radius:6px;border-left:2px solid rgba(139,92,246,.4)}.comment-icon{color:#a78bfa;font-size:.85em;margin-top:2px;flex-shrink:0}.comment-text{color:#cbd5e1;font-size:.8em;line-height:1.4;word-break:break-word}.host-editor{display:flex;flex-direction:column;gap:8px;padding:10px}.host-editor .form-group{display:flex;flex-direction:column;gap:4px}.host-editor label{font-size:.75em;color:#a0aec0;font-weight:600}.host-editor input[type=text],.host-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 8px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.host-editor textarea{resize:vertical;font-family:inherit;line-height:1.4}.checkbox-group{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-group label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.85em!important}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer;accent-color:#8b5cf6}.checkbox-group span{color:#e2e8f0}.host-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.passive-recon-node{display:flex;flex-direction:column;min-width:240px}.passive-recon-header{background-color:#0003;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.passive-recon-header .node-icon{margin-right:8px;color:#63b3ed}.passive-recon-header .node-label{flex-grow:1;text-align:left;font-weight:700}.passive-recon-body{padding:10px;background-color:#0000001a;text-align:left;display:flex;flex-direction:column;gap:8px}.recon-target{display:flex;align-items:center;gap:6px;font-size:.85em;padding:4px 6px;background-color:#ffffff0d;border-radius:4px}.target-label{color:#a0aec0;font-weight:600}.target-value{color:#e2e8f0;font-family:Courier New,Courier,monospace}.recon-sources{display:flex;flex-direction:column;gap:4px}.sources-label{font-size:.75em;color:#a0aec0;font-weight:600;text-transform:uppercase}.sources-tags{display:flex;flex-wrap:wrap;gap:4px}.source-tag{font-size:.7em;padding:2px 6px;border-radius:10px;background-color:#63b3ed33;color:#63b3ed;border:1px solid rgba(99,179,237,.3);font-weight:600}.recon-tools{display:flex;align-items:center;gap:6px;font-size:.8em}.tools-label{color:#a0aec0;font-weight:600}.tools-value{color:#cbd5e1;font-style:italic}.recon-findings{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background-color:#ffffff0d;border-radius:6px;border-left:2px solid rgba(99,179,237,.4)}.findings-label{font-size:.75em;color:#a0aec0;font-weight:600;text-transform:uppercase}.findings-text{color:#cbd5e1;font-size:.8em;line-height:1.4;word-break:break-word}.passive-recon-editor{display:flex;flex-direction:column;gap:8px;padding:10px}.passive-recon-editor .form-group{display:flex;flex-direction:column;gap:4px}.passive-recon-editor label{font-size:.75em;color:#a0aec0;font-weight:600}.passive-recon-editor input[type=text],.passive-recon-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 8px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.passive-recon-editor textarea{resize:vertical;font-family:inherit;line-height:1.4}.source-toggles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.source-toggle{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:.85em;padding:8px 10px;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);background-color:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);font-weight:500;color:#94a3b8}.source-toggle:hover{background-color:#63b3ed1a;border-color:#63b3ed4d;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.source-toggle.active{background:linear-gradient(135deg,#3b82f640,#63b3ed40);border-color:#63b3ed80;color:#90cdf4;box-shadow:0 0 15px #63b3ed4d}.source-toggle.active:hover{background:linear-gradient(135deg,#3b82f659,#63b3ed59);border-color:#63b3ed99;box-shadow:0 4px 12px #63b3ed66}.source-toggle .source-icon{font-size:.9em;transition:transform .3s ease}.source-toggle.active .source-icon{transform:scale(1.1);color:#63b3ed}.passive-recon-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.social-eng-node{display:flex;flex-direction:column;min-width:240px;border-color:#742a2a}.social-eng-header{background-color:#742a2a33;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.social-eng-header .node-icon{margin-right:8px;color:#fc8181}.social-eng-header .node-label{flex-grow:1;text-align:left;font-weight:700;color:#fc8181}.social-eng-body{padding:10px;background-color:#0003;text-align:left;display:flex;flex-direction:column;gap:8px}.technique-badge{display:inline-flex;align-items:center;font-size:.75em;padding:3px 8px;border-radius:12px;background-color:#f5656533;color:#fc8181;border:1px solid rgba(245,101,101,.3);font-weight:600;align-self:flex-start}.se-target{display:flex;align-items:center;gap:6px;font-size:.85em}.se-label{color:#a0aec0;font-weight:600}.se-value{color:#e2e8f0}.se-status{display:inline-block;font-size:.75em;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;align-self:flex-start}.se-status.status-planned{background-color:#a0aec04d;color:#a0aec0}.se-status.status-in-progress{background-color:#4299e14d;color:#63b3ed}.se-status.status-successful{background-color:#48bb784d;color:#68d391}.se-status.status-failed{background-color:#f565654d;color:#fc8181}.se-status.status-detected{background-color:#ed89364d;color:#ed8936}.se-pretext{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background-color:#ffffff0d;border-radius:6px;border-left:2px solid rgba(245,101,101,.4)}.pretext-label{font-size:.75em;color:#a0aec0;font-weight:600;text-transform:uppercase}.pretext-text{color:#cbd5e1;font-size:.8em;line-height:1.4;word-break:break-word}.se-outcome{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background-color:#ffffff0d;border-radius:6px}.outcome-label{font-size:.75em;color:#a0aec0;font-weight:600;text-transform:uppercase}.outcome-text{color:#cbd5e1;font-size:.8em;line-height:1.4;word-break:break-word}.social-eng-editor{display:flex;flex-direction:column;gap:8px;padding:10px}.social-eng-editor .form-group{display:flex;flex-direction:column;gap:4px}.social-eng-editor label{font-size:.75em;color:#a0aec0;font-weight:600}.social-eng-editor input[type=text],.social-eng-editor select,.social-eng-editor textarea{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 8px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.social-eng-editor textarea{resize:vertical;font-family:inherit;line-height:1.4}.social-eng-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.database-node{display:flex;flex-direction:column;min-width:240px;max-width:400px;border-color:#4299e1}.database-header{background-color:#4299e133;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.database-header .node-icon{margin-right:8px;color:#63b3ed}.database-header .node-label{flex-grow:1;text-align:left;font-weight:700;color:#63b3ed}.database-body{padding:10px;background-color:#0003;text-align:left}.database-editor{display:flex;flex-direction:column;gap:8px}.database-editor .form-group{display:flex;flex-direction:column;gap:2px}.database-editor label{font-size:.75em;color:#a0aec0}.database-editor input{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px;border-radius:4px;font-size:.85em;width:100%;box-sizing:border-box}.database-editor .form-row{display:flex;gap:8px}.database-editor .form-group.half{width:50%}.file-upload-wrapper{display:flex;align-items:center;gap:8px}.hidden-file-input{display:none}.file-upload-btn{background-color:#805ad533;border:1px solid rgba(128,90,213,.3);color:#b794f4;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:.85em;display:flex;align-items:center;gap:6px;transition:all .2s}.file-upload-btn:hover{background-color:#805ad54d}.file-status{font-size:.75em;color:#a0aec0}.database-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.credentials-summary{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.cred-row{font-size:.8em;color:#e2e8f0;margin-bottom:2px}.cred-label{color:#a0aec0;font-weight:700;margin-right:4px}.csv-table-container{overflow-x:auto;background:#0000004d;border-radius:4px;border:1px solid rgba(255,255,255,.05)}.csv-table{width:100%;border-collapse:collapse;font-size:.75em;color:#cbd5e0}.csv-table th,.csv-table td{padding:4px 6px;border:1px solid rgba(255,255,255,.1);text-align:left;white-space:nowrap}.csv-table th{background-color:#ffffff1a;font-weight:700;color:#e2e8f0}.table-footer{text-align:center;font-size:.7em;color:#a0aec0;padding:4px;background-color:#0003}.no-data{text-align:center;color:#718096;font-size:.85em;padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px}.node-editor{position:absolute;top:0;right:0;width:300px;height:100%;background-color:#2d3748;border-left:1px solid #4a5568;box-shadow:-2px 0 10px #0000004d;display:flex;flex-direction:column;z-index:10;color:#edf2f7}.node-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #4a5568;background-color:#1a202c}.node-editor-header h3{margin:0;font-size:1.2rem}.close-button{background:none;border:none;color:#a0aec0;cursor:pointer;font-size:1.2rem;padding:5px;transition:color .2s}.close-button:hover{color:#e53e3e}.node-editor-content{flex:1;padding:1rem;overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:#cbd5e0}.form-group input[type=text]{width:100%;padding:8px 12px;background-color:#1a202c;border:1px solid #4a5568;border-radius:4px;color:#edf2f7;font-size:1rem;box-sizing:border-box}.form-group input[type=text]:focus{border-color:#63b3ed;outline:none}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.color-swatch{width:100%;aspect-ratio:1;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .2s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#edf2f7;box-shadow:0 0 0 2px #2d3748,0 0 0 4px #63b3ed}.node-editor-footer{padding:1rem;border-top:1px solid #4a5568;background-color:#1a202c}.save-button{width:100%;padding:10px;background-color:#3182ce;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s}.save-button:hover{background-color:#2c5282}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-overlay *{box-sizing:border-box}.modal-content{background:#1e293bd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:0;max-width:450px;width:90%;overflow:hidden;display:flex;flex-direction:column;max-height:85vh;box-shadow:0 25px 50px -12px #00000080;animation:scaleUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem;margin-bottom:0;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.text-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-danger{color:#f87171}.modal-body{padding:2rem;overflow-y:auto}.modal-warning{color:#cbd5e1;line-height:1.6}.modal-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;color:#f8fafc;font-size:1rem;transition:all .3s;box-sizing:border-box}.modal-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem}.btn-cancel{flex:1;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#cbd5e1;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel:hover{background:#ffffff1a;color:#fff}.btn-confirm{flex:1;padding:.75rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 15px #3b82f64d}.btn-danger{background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef444440;border-color:#ef444480;transform:translateY(-2px);box-shadow:0 10px 15px -3px #ef444433}.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-tabs{display:flex;background:#0003;margin:0 -2rem 2rem;padding:0 2rem}.tab-btn{flex:1;padding:1rem;background:transparent;border:none;color:#94a3b8;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#63b3ed}.import-textarea{width:100%;min-height:150px;padding:1rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.5;resize:vertical;transition:all .2s;box-sizing:border-box}.import-textarea:focus{outline:none;border-color:#8b5cf666;background:#0f172acc;box-shadow:0 0 0 3px #8b5cf61a}.import-textarea::placeholder{color:#64748b}.tab-description{color:#94a3b8;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.settings-modal{max-width:600px;width:95%;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:85vh;background:#1e293bd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 25px 50px -12px #00000080;animation:scaleUp .3s cubic-bezier(.16,1,.3,1)}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.settings-modal .modal-header{padding:1.5rem;margin-bottom:0;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.settings-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-tabs{display:flex;background:#0003}.tab-btn{flex:1;padding:1rem;background:transparent;border:none;color:#94a3b8;font-weight:600;cursor:pointer;transition:all .2s;position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn:hover{color:#e2e8f0;background:#ffffff0d}.tab-btn.active{color:#63b3ed;background:#63b3ed1a}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#63b3ed;z-index:2}.settings-modal .modal-body{padding:2rem;overflow-y:auto}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;display:flex;align-items:center}.alert-error{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.alert-success{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.input-group{margin-bottom:0}.input-group+.input-group{margin-top:1rem}.input-group label{display:block;margin-bottom:.5rem;color:#cbd5e1;font-weight:600;font-size:.9rem}.input-with-btn{display:flex;gap:.75rem;align-items:center}.modal-input{flex:1;width:auto!important;height:42px;padding:0 1rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:10px;color:#f8fafc;font-size:.95rem;transition:all .3s;box-sizing:border-box;display:flex;align-items:center;margin-bottom:0!important}.modal-input:focus{outline:none;border-color:#3b82f6;background:#3b82f614;box-shadow:0 0 0 3px #3b82f626}.btn-primary{height:42px;padding:0 1.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #3b82f64d;white-space:nowrap;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.settings-form,.share-form{margin:0}.danger-zone{margin-top:1rem;padding:1.5rem;border:1px solid rgba(239,68,68,.2);border-radius:16px;background:linear-gradient(180deg,#ef44440d,#ef44441a)}.danger-zone h3{color:#fca5a5;margin-top:0;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.danger-zone p{color:#cbd5e1;margin-bottom:1.5rem;font-size:.9rem;opacity:.8}.btn-danger{width:100%;padding:.85rem 1.5rem;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;box-shadow:0 4px 15px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.full-width{width:100%}.share-inputs{display:flex;gap:.75rem;align-items:center;width:100%}.share-inputs input{flex:1;min-width:0;margin-bottom:0!important;width:auto!important}.modal-select{width:140px;flex:0 0 auto;height:42px;padding:0 .75rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:10px;color:#f8fafc;font-size:.95rem;cursor:pointer;transition:all .3s;box-sizing:border-box}.modal-select:focus{outline:none;border-color:#3b82f6;background:#3b82f614}.modal-select option{background:#1e293b;color:#f8fafc}.shared-users-list{margin-top:1rem}.shared-users-list h3{font-size:.85rem;color:#94a3b8;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.empty-text{color:#64748b;font-style:italic;text-align:center;padding:3rem;background:#ffffff05;border-radius:16px;border:1px dashed rgba(255,255,255,.1)}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;transition:all .2s}.user-item:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(2px)}.user-info{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#63b3ed,#4299e1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;box-shadow:0 4px 6px -1px #4299e14d}.user-email{color:#e2e8f0;font-weight:600;font-size:.95rem}.user-name{color:#94a3b8;font-size:.85rem;margin-top:2px}.user-actions{display:flex;align-items:center;gap:.75rem}.permission-select{padding:.5rem 1rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:.9rem;cursor:pointer;transition:all .2s}.permission-select:hover{background:#0000004d;border-color:#fff3}.permission-select:focus{outline:none;border-color:#3b82f6}.btn-icon-danger{background:#ef44441a;border:1px solid transparent;color:#ef4444;padding:.6rem;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon-danger:hover{background:#ef444433;border-color:#ef44444d;transform:scale(1.05)}.close-btn{background:none;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;line-height:1}.close-btn:hover{background:#ffffff1a;color:#fff}.public-disabled,.public-enabled{display:flex;flex-direction:column;gap:1.5rem}.info-box{display:flex;gap:1.5rem;padding:1.5rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:12px}.info-icon{font-size:2.5rem;color:#3b82f6;flex-shrink:0}.info-box h4{margin:0 0 .5rem;color:#e2e8f0;font-size:1.1rem}.info-box p{margin:0 0 .75rem;color:#cbd5e1}.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.feature-list li{color:#94a3b8;font-size:.9rem}.success-box{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:10px}.success-icon{font-size:1.5rem;color:#22c55e}.success-box span{color:#e2e8f0;font-weight:600}.public-link-section{display:flex;flex-direction:column;gap:.5rem}.public-link-section label{color:#cbd5e1;font-weight:600;font-size:.9rem}.link-input-group{display:flex;gap:.5rem}.public-link-input{flex:1;padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:.85rem}.public-link-input:focus{outline:none;border-color:#8b5cf666;background:#0f172acc}.btn-icon{padding:.75rem 1rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:#c4b5fd;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#8b5cf64d;border-color:#8b5cf666}.warning-box{padding:1rem 1.5rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px;color:#fbbf24;font-size:.9rem}.warning-box strong{color:#fbbf24}.public-actions{display:flex;gap:.75rem;justify-content:flex-end}.public-actions button{display:flex;align-items:center;gap:.5rem}.btn-secondary{padding:.6rem 1.2rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e2e8f0;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.modal-content.network-scan-import-modal{max-width:700px!important;width:90%!important;max-height:85vh!important;padding:2rem;display:flex;flex-direction:column;overflow:hidden}.network-scan-import-modal h2{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.network-scan-import-modal .modal-description{margin:0 0 1.5rem;color:#cbd5e1;font-size:.9rem;line-height:1.5}.network-scan-import-modal .scan-output-textarea{width:100%;flex:1;min-height:200px;max-height:400px;padding:1rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-family:JetBrains Mono,Courier New,monospace;font-size:.85rem;line-height:1.5;resize:vertical;transition:all .2s;box-sizing:border-box;margin-bottom:1.5rem}.network-scan-import-modal .scan-output-textarea:focus{outline:none;border-color:#8b5cf666;background:#0f172acc;box-shadow:0 0 0 3px #8b5cf61a}.network-scan-import-modal .scan-output-textarea::placeholder{color:#64748b}.network-scan-import-modal .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.network-scan-import-modal .btn-primary,.network-scan-import-modal .btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.network-scan-import-modal .btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.network-scan-import-modal .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.network-scan-import-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.network-scan-import-modal .btn-secondary{background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.network-scan-import-modal .btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.notification-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;max-width:400px;pointer-events:none}.notification{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 25px #0000004d,0 0 20px #8b5cf61a,inset 0 1px #ffffff1a;color:#e2e8f0;font-size:.9rem;animation:slideIn .3s cubic-bezier(.16,1,.3,1);pointer-events:auto;min-width:300px}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-icon{font-size:1.25rem;display:flex;align-items:center;flex-shrink:0}.notification-success{border-left:3px solid #10b981}.notification-success .notification-icon{color:#10b981}.notification-error{border-left:3px solid #ef4444}.notification-error .notification-icon{color:#ef4444}.notification-info{border-left:3px solid #3b82f6}.notification-info .notification-icon{color:#3b82f6}.notification-message{flex:1;font-weight:500}.notification-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.notification-close:hover{background:#ffffff1a;color:#e2e8f0}@media(max-width:768px){.notification-container{left:1rem;right:1rem;max-width:none}.notification{min-width:auto}}.vim-command-bar-overlay{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;z-index:9999;pointer-events:none;padding:0 2rem 2rem}.vim-command-bar-container{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#1e293bfa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.3);border-radius:12px;box-shadow:0 20px 40px #0006,0 0 40px #8b5cf633,inset 0 1px #ffffff1a;animation:vimSlideUp .25s cubic-bezier(.16,1,.3,1);pointer-events:auto}@keyframes vimSlideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.vim-command-prompt{font-size:1.25rem!important;font-weight:700!important;color:#8b5cf6!important;font-family:JetBrains Mono,Fira Code,Courier New,monospace!important;flex-shrink:0;line-height:1.5!important;margin:0!important;padding:0!important;display:flex;align-items:center}.vim-command-input-field{flex:1!important;background:transparent!important;border:none!important;outline:none!important;color:#e2e8f0!important;font-size:1rem!important;font-family:JetBrains Mono,Fira Code,Courier New,monospace!important;padding:0!important;margin:0!important;line-height:1.5!important;box-shadow:none!important}.vim-command-input-field::placeholder{color:#64748b!important}@media(max-width:768px){.vim-command-bar-overlay{left:0;right:0;transform:none;max-width:none;padding:0 1rem 1rem}}.vim-help-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:vimHelpFadeIn .2s ease}@keyframes vimHelpFadeIn{0%{opacity:0}to{opacity:1}}.vim-help-modal{background:#1e293bfa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.3);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 40px #8b5cf633,inset 0 1px #ffffff1a;max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:vimHelpSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes vimHelpSlideIn{0%{transform:scale(.95) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.vim-help-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.vim-help-title{display:flex;align-items:center;gap:.75rem;color:#e2e8f0}.vim-help-title svg{font-size:1.5rem;color:#8b5cf6}.vim-help-title h2{margin:0;font-size:1.5rem;font-weight:700}.vim-help-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;font-size:1.25rem}.vim-help-close:hover{background:#ffffff1a;color:#e2e8f0}.vim-help-content{padding:2rem;overflow-y:auto}.vim-help-intro{color:#cbd5e1;margin:0 0 1.5rem;font-size:.95rem}.vim-help-intro kbd{background:#8b5cf633;border:1px solid rgba(139,92,246,.4);border-radius:4px;padding:.2rem .5rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.9em;color:#c4b5fd}.vim-commands-list{display:flex;flex-direction:column;gap:1rem}.vim-command-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#0003;border-radius:8px;border-left:3px solid #8b5cf6}.vim-command-names{display:flex;gap:.75rem;flex-wrap:wrap}.vim-command-primary,.vim-command-alias{font-family:JetBrains Mono,Fira Code,Courier New,monospace;padding:.25rem .75rem;border-radius:6px;font-size:.9rem;font-weight:600}.vim-command-primary{background:#8b5cf64d;color:#c4b5fd;border:1px solid rgba(139,92,246,.5)}.vim-command-alias{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.4)}.vim-command-desc{color:#cbd5e1;font-size:.9rem;line-height:1.5}.vim-help-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.vim-help-footer p{color:#94a3b8;font-size:.85rem;margin:0;text-align:center}.vim-help-footer kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.2rem .5rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.85em;color:#cbd5e1}@media(max-width:768px){.vim-help-modal{width:95%;max-height:90vh}.vim-help-header{padding:1rem 1.5rem}.vim-help-content{padding:1.5rem}.vim-help-title h2{font-size:1.25rem}}html,body,#root{width:100%;height:100%;margin:0;padding:0;font-family:sans-serif;background-color:#1a202c;color:#edf2f7}.reactflow-wrapper{width:100%;height:100%}.controls{display:none}.react-flow__minimap{background:#1e293b99!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,inset 0 1px #ffffff1a!important;overflow:hidden!important}.react-flow__minimap-mask{fill:#8b5cf626!important;stroke:#8b5cf666!important;stroke-width:2!important;rx:8!important}.react-flow__minimap-node{fill:#64748b99!important;stroke:#cbd5e14d!important;stroke-width:1!important}.react-flow__minimap-node.selected{fill:#8b5cf6cc!important;stroke:#a78bfae6!important;stroke-width:2!important}.react-flow__node.selected{border-color:#63b3ed!important;box-shadow:0 0 0 3px #63b3ed,0 0 20px 7px #63b3edb3!important}.no-map-message{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center}.no-map-message h1{font-size:2.5rem;margin-bottom:1rem}.no-map-message p{font-size:1.2rem;color:#a0aec0;margin-bottom:2rem}.no-map-message button{background-color:#38a169;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:1.1rem;cursor:pointer;transition:background-color .2s}.no-map-message button:hover{background-color:#2f855a}.mindmap-container{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden}.mindmap-container .react-flow{flex-grow:1;height:100%}.react-flow__controls{background:#1e293b99!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,inset 0 1px #ffffff1a!important;padding:8px!important}.react-flow__controls-button{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;width:32px!important;height:32px!important;margin:4px 0!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.react-flow__controls-button svg{fill:#cbd5e1!important;transition:fill .3s ease!important}.react-flow__controls-button:hover{background:#8b5cf633!important;border-color:#8b5cf666!important;transform:translateY(-2px)!important;box-shadow:0 0 20px #8b5cf64d!important}.react-flow__controls-button:hover svg{fill:#a78bfa!important}.react-flow__controls-button:active{transform:translateY(0)!important}.react-flow__controls-button+.react-flow__controls-button{border-top:1px solid rgba(255,255,255,.05)!important}.mfa-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mfa-modal{background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.mfa-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.mfa-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#f8fafc;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mfa-close-btn{background:none;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.mfa-close-btn:hover{background:#ffffff1a;color:#fff}.mfa-modal-content{color:#e2e8f0}.mfa-tabs{display:flex;gap:1rem;margin-bottom:2rem}.mfa-tab{flex:1;padding:.75rem 1rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;color:#cbd5e1;font-weight:600;cursor:pointer;transition:all .3s}.mfa-tab:hover{background:#ffffff14;border-color:#fff3}.mfa-tab.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent;color:#fff}.mfa-tab-content{padding:1rem 0}.mfa-tab-content p{margin-bottom:1.5rem;color:#cbd5e1;line-height:1.6}.mfa-input{width:100%;padding:1rem 1.25rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;color:#f8fafc;font-size:1rem;font-weight:500;margin-bottom:1rem;transition:all .3s;box-sizing:border-box}.mfa-modal-overlay *{box-sizing:border-box}.mfa-input:focus{outline:none;border-color:#8b5cf6;background:#8b5cf614;box-shadow:0 0 0 3px #8b5cf626}.yubikey-icon-pulse:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#fff;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20M2 12l5-5m-5 5l5 5'/%3E%3C/svg%3E") no-repeat center;mask-size:contain;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-6.219-8.56'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;background-color:#fff}.mfa-input.totp-input{text-align:center;letter-spacing:.3em;font-size:1.25rem;font-weight:600;max-width:200px;display:block;margin-left:auto;margin-right:auto}.mfa-btn-primary{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s;box-shadow:0 10px 15px -3px #3b82f64d}.mfa-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 20px -3px #3b82f666}.mfa-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.mfa-qr-container{display:flex;justify-content:center;padding:2rem;background:#fff;border-radius:16px;margin:1.5rem 0}.mfa-qr-code{max-width:250px;width:100%;height:auto}.mfa-manual-entry{background:#ffffff0d;padding:1rem;border-radius:12px;margin:1rem 0;text-align:center}.mfa-manual-entry code{display:block;margin-top:.5rem;font-size:.9rem;color:#60a5fa;word-break:break-all;font-family:Courier New,monospace}.mfa-verify-section{margin-top:2rem}.mfa-verify-section label{display:block;margin-bottom:.5rem;color:#cbd5e1;font-weight:600;font-size:.9rem}.mfa-error{background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3);padding:1rem;border-radius:12px;margin-bottom:1rem;font-weight:500}.mfa-success{text-align:center}.mfa-success h3{color:#4ade80;font-size:1.5rem;margin-bottom:1.5rem}.mfa-backup-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.5rem 0;padding:1.5rem;background:#ffffff0d;border-radius:12px}.mfa-backup-codes code{background:#0000004d;padding:.75rem;border-radius:8px;font-family:Courier New,monospace;color:#60a5fa;font-size:.9rem;font-weight:600}.mfa-warning{color:#fbbf24;font-weight:600;margin:1rem 0}@media(max-width:640px){.mfa-modal{padding:2rem 1.5rem}.mfa-backup-codes{grid-template-columns:1fr}}.disable-mfa-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.disable-mfa-modal-overlay *{box-sizing:border-box}.disable-mfa-modal{background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem;max-width:450px;width:90%;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a;animation:slideUp .3s ease-out}.disable-mfa-modal form{width:100%}.disable-mfa-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.disable-mfa-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#f87171}.disable-mfa-close-btn{background:none;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.disable-mfa-close-btn:hover{background:#ffffff1a;color:#fff}.disable-mfa-warning{color:#cbd5e1;margin-bottom:1.5rem;line-height:1.6}.disable-mfa-input-group{margin-bottom:2rem}.disable-mfa-input-group label{display:block;margin-bottom:.5rem;color:#cbd5e1;font-weight:600;font-size:.9rem}.disable-mfa-input{width:100%;padding:1rem 1.25rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;color:#f8fafc;font-size:1rem;transition:all .3s;box-sizing:border-box}.disable-mfa-input:focus{outline:none;border-color:#f87171;background:#f8717114;box-shadow:0 0 0 3px #f8717126}.disable-mfa-actions{display:flex;gap:1rem}.disable-mfa-btn-cancel{flex:1;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#cbd5e1;font-weight:600;cursor:pointer;transition:all .3s}.disable-mfa-btn-cancel:hover{background:#ffffff1a;color:#fff}.disable-mfa-btn-confirm{flex:1;padding:1rem;background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3);border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 6px -1px #ef44441a}.disable-mfa-btn-confirm:hover:not(:disabled){background:#ef444440;border-color:#ef444480;transform:translateY(-2px);box-shadow:0 10px 15px -3px #ef444433}.disable-mfa-btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f64d}50%{box-shadow:0 0 30px #8b5cf680}}.account-page{min-height:100vh;padding:3rem 2rem;background:linear-gradient(-45deg,#0a0e27,#1a1147,#0f172a,#1e1b4b);background-size:400% 400%;animation:gradient-shift 15s ease infinite;color:#e2e8f0;position:relative;overflow:hidden}.account-page:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,transparent 70%);animation:float 8s ease-in-out infinite;pointer-events:none}.account-page:after{content:"";position:absolute;bottom:-50%;left:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%);animation:float 10s ease-in-out infinite reverse;pointer-events:none}.account-header{max-width:1400px;margin:0 auto 2rem;display:flex;align-items:center;gap:2rem;position:relative;z-index:1}.header-content{flex:1}.account-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa,#c084fc);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 8s ease infinite;letter-spacing:-.5px}.header-subtitle{margin:0;color:#94a3b8;font-size:1rem;font-weight:500}.back-button{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.95rem;padding:.75rem 1.25rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500}.back-button:hover{color:#fff;background:#ffffff1a;border-color:#fff3;transform:translate(-4px)}.stats-grid{max-width:1400px;margin:0 auto 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;position:relative;z-index:1}.stat-card{background:#1e293b66;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,inset 0 1px #ffffff1a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.8),transparent);opacity:0;transition:opacity .3s}.stat-card:hover{transform:translateY(-4px);border-color:#8b5cf64d;box-shadow:0 25px 30px -5px #0006,0 15px 15px -5px #0000004d,inset 0 1px #ffffff26,0 0 40px #8b5cf633}.stat-card:hover:before{opacity:1}.stat-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#3b82f633,#8b5cf633);border:1px solid rgba(139,92,246,.3);display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#a78bfa;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin-bottom:.25rem}.stat-label{color:#94a3b8;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dashboard-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;position:relative;z-index:1}.dashboard-grid .mfa-card{grid-column:1 / -1}.account-card{background:#1e293b66;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,inset 0 1px #ffffff1a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.account-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.8),transparent);opacity:0;transition:opacity .3s}.account-card:hover{transform:translateY(-4px);border-color:#8b5cf64d;box-shadow:0 25px 30px -5px #0006,0 15px 15px -5px #0000004d,inset 0 1px #ffffff26,0 0 40px #8b5cf633}.account-card:hover:before{opacity:1}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.card-icon{font-size:1.75rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(139,92,246,.3))}.card-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#f8fafc;letter-spacing:-.3px}.account-form{display:flex;flex-direction:column;gap:1.75rem;margin:0 auto;width:100%}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{color:#cbd5e1;font-size:.9rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-size:.75rem}.form-group input,.account-input{background:#ffffff08!important;border:1.5px solid rgba(255,255,255,.15)!important;border-radius:12px!important;padding:1rem 1.25rem!important;color:#f8fafc!important;font-size:1rem!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-weight:500!important;width:100%!important;box-sizing:border-box!important}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:active,.account-input:-webkit-autofill,.account-input:-webkit-autofill:hover,.account-input:-webkit-autofill:focus,.account-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #1e293b inset!important;-webkit-text-fill-color:#f8fafc!important;transition:background-color 5000s ease-in-out 0s;caret-color:#f8fafc}.form-group input:hover{border-color:#ffffff40;background:#ffffff0d}.form-group input:focus{outline:none;border-color:#8b5cf6;background:#8b5cf614;box-shadow:0 0 0 3px #8b5cf626,0 0 20px #8b5cf633;transform:translateY(-1px)}.form-group input.input-disabled{opacity:.5;cursor:not-allowed;background:#ffffff05}.form-group input.input-disabled:hover{border-color:#ffffff26;background:#ffffff05}.form-hint{color:#64748b;font-size:.8rem;font-style:italic;margin-top:-.25rem}.message{padding:1rem 1.25rem;border-radius:12px;font-size:.9rem;display:flex;align-items:center;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background:#22c55e26;color:#4ade80;border:1.5px solid rgba(34,197,94,.3);box-shadow:0 0 20px #22c55e1a}.message.error{background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3);box-shadow:0 0 20px #ef44441a}.btn{padding:1rem 2rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;letter-spacing:.3px;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 10px 15px -3px #3b82f64d,0 4px 6px -2px #3b82f633;position:relative}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 20px -3px #3b82f666,0 8px 10px -2px #3b82f64d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary svg,.btn-primary span{position:relative;z-index:1}.account-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.info-row{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:#0f172a80;border-radius:16px;border:1px solid rgba(255,255,255,.08);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.info-row:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);opacity:0;transition:opacity .3s}.info-row:hover{border-color:#8b5cf64d;transform:translateY(-2px);box-shadow:0 10px 20px #0003}.info-row:hover:before{opacity:1}.info-label{color:#94a3b8;font-size:.85rem;display:flex;align-items:center;gap:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;position:relative;z-index:1}.info-label svg{color:#8b5cf6}.info-value{color:#f8fafc;font-size:1.5rem;font-weight:700;position:relative;z-index:1;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .mfa-card{grid-column:1}}@media(max-width:768px){.account-page{padding:2rem 1rem}.account-header{flex-direction:column;align-items:flex-start;gap:1rem}.account-header h1{font-size:2rem}.header-subtitle{font-size:.9rem}.stats-grid{grid-template-columns:1fr}.account-card{padding:2rem 1.5rem;border-radius:20px}.form-row,.account-info{grid-template-columns:1fr}}@media(max-width:640px){.account-page{padding:1.5rem 1rem}.account-header h1{font-size:1.75rem}.account-card{padding:1.5rem}.btn{padding:.875rem 1.5rem}.stat-card{padding:1.5rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-value{font-size:1.5rem}}.btn-danger{background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3);box-shadow:0 0 20px #ef44441a}.btn-danger:hover{background:#ef444440;border-color:#ef444480;transform:translateY(-2px);box-shadow:0 0 30px #ef444433}.mfa-status-container{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.mfa-status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.mfa-status-badge.enabled{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3);box-shadow:0 0 15px #22c55e26}.mfa-status-badge.disabled{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.mfa-method-text{color:#cbd5e1;font-size:.95rem;margin:0}.mfa-method-text strong{color:#f8fafc;margin-left:.25rem}.mfa-description{color:#94a3b8;line-height:1.6;margin-bottom:2rem;font-size:.95rem}.admin-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#edf2f7;padding:2rem;font-family:Inter,sans-serif}.admin-container{max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#1e293b99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0000004d}.header-left{display:flex;align-items:center;gap:1.5rem}.header-left h1{margin:0;font-size:1.8rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(139,92,246,.3))}.header-right{color:#94a3b8;font-size:.95rem}.back-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:.6rem 1.2rem;border-radius:10px;cursor:pointer;transition:all .3s ease;font-weight:500}.back-btn:hover{background:#ffffff1a;border-color:#8b5cf64d;transform:translate(-2px);box-shadow:0 0 20px #8b5cf633}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#0f172a99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.5rem;box-shadow:0 4px 16px #0003}.admin-tab{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:#64748b;padding:.75rem 1.5rem;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;border-radius:8px;position:relative}.admin-tab:hover{color:#cbd5e1;background:#ffffff0d}.admin-tab.active{color:#e2e8f0;background:#8b5cf633;box-shadow:0 0 20px #8b5cf64d,inset 0 1px #ffffff1a}.admin-tab.active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent,#8b5cf6,transparent);border-radius:2px}.admin-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.admin-card{background:#1e293b99;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;transition:all .3s ease}.admin-card:hover{border-color:#8b5cf64d;box-shadow:0 12px 40px #0006,0 0 20px #8b5cf633,inset 0 1px #ffffff1a}.admin-card h3{margin-top:0;margin-bottom:1.5rem;color:#e2e8f0;font-size:1.2rem;background:linear-gradient(135deg,#cbd5e1,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a)}.stat-value{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(139,92,246,.3))}.users-card{grid-column:1 / -1}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-search-bar{position:relative;display:flex;align-items:center}.admin-search-icon{position:absolute;left:1rem;color:#64748b;pointer-events:none}.admin-search-bar input{padding:.6rem 1rem .6rem 2.5rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e2e8f0;font-size:.9rem;min-width:250px;transition:all .3s ease}.admin-search-bar input:focus{outline:none;border-color:#8b5cf666;background:#0f172acc;box-shadow:0 0 20px #8b5cf633}.admin-search-bar input::placeholder{color:#475569}.table-responsive{overflow-x:auto;border-radius:12px}.users-table{width:100%;border-collapse:separate;border-spacing:0}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.users-table th{background:#0f172a99;color:#94a3b8;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10}.users-table tbody tr{transition:all .2s ease}.users-table tbody tr:hover{background:#8b5cf61a}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.sortable-header:hover{color:#cbd5e1}.sortable-header svg{margin-left:.25rem;opacity:.6}.role-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;text-transform:capitalize}.role-badge.admin{background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.3)}.role-badge.user{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.actions-cell{display:flex;gap:.5rem;align-items:center}.role-select{padding:.4rem .6rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e2e8f0;font-size:.85rem;cursor:pointer;transition:all .2s}.role-select:hover{border-color:#8b5cf64d}.role-select:focus{outline:none;border-color:#8b5cf680;box-shadow:0 0 10px #8b5cf633}.delete-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-btn:hover:not(:disabled){background:#ef444433;border-color:#ef444466;transform:scale(1.05)}.delete-btn:disabled{opacity:.3;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05)}.pagination-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center}.pagination-btn:hover:not(:disabled){background:#8b5cf633;border-color:#8b5cf64d}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-info{color:#94a3b8;font-size:.9rem}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.suggestion-item{background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:all .3s ease}.suggestion-item:hover{border-color:#8b5cf64d;background:#0f172acc;box-shadow:0 0 20px #8b5cf626}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.suggestion-user{display:flex;flex-direction:column;gap:.25rem}.suggestion-user strong{color:#e2e8f0;font-size:1rem}.suggestion-email{color:#64748b;font-size:.85rem}.suggestion-meta{display:flex;align-items:center;gap:1rem}.suggestion-date{color:#64748b;font-size:.85rem}.suggestion-content{color:#cbd5e1;line-height:1.6;white-space:pre-wrap;padding:.5rem;background:#0003;border-radius:8px}.changelog-card{grid-column:1 / -1;min-height:600px;display:flex;flex-direction:column}.changelog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.changelog-actions{display:flex;gap:.75rem}.preview-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500}.preview-btn:hover{background:#ffffff1a;border-color:#fff3}.preview-btn.active{background:#8b5cf633;border-color:#8b5cf666;color:#c4b5fd;box-shadow:0 0 20px #8b5cf64d}.save-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;box-shadow:0 4px 12px #8b5cf64d}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.save-btn:disabled{opacity:.5;cursor:not-allowed}.changelog-editor{flex:1;width:100%;min-height:500px;padding:1.5rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e2e8f0;font-family:JetBrains Mono,Courier New,monospace;font-size:.9rem;line-height:1.6;resize:vertical;transition:all .3s ease;box-sizing:border-box}.changelog-editor:focus{outline:none;border-color:#8b5cf666;background:#0f172acc;box-shadow:0 0 20px #8b5cf633}.changelog-preview{flex:1;padding:1.5rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow-y:auto;min-height:500px}.changelog-preview h1{color:#a78bfa;font-size:1.75rem;margin-top:0;margin-bottom:1rem}.changelog-preview h2{color:#c4b5fd;font-size:1.35rem;margin-top:1.5rem;margin-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.changelog-preview h3{color:#ddd6fe;font-size:1.1rem;margin-top:1rem;margin-bottom:.5rem}.changelog-preview ul{padding-left:1.5rem}.changelog-preview li{margin-bottom:.5rem;color:#e2e8f0}.changelog-preview code{background:#8b5cf633;padding:.2rem .4rem;border-radius:4px;font-size:.9em;border:1px solid rgba(139,92,246,.3)}.empty-state{text-align:center;color:#64748b;padding:3rem;font-size:1.1rem}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:1rem;border-radius:12px;margin-bottom:1.5rem}.admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;gap:1rem}.admin-access-denied h1{font-size:2rem;color:#f87171}.admin-access-denied button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.admin-access-denied button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.public-mindmap-page{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);overflow:hidden}.public-header{background:#1e293bcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0003;z-index:100}.public-header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;max-width:1600px;margin:0 auto}.public-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#e2e8f0;font-size:1.25rem;font-weight:700;transition:all .3s ease}.public-logo svg{font-size:1.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(139,92,246,.3))}.public-logo:hover{transform:translateY(-2px)}.public-map-title{flex:1;text-align:center;margin:0;font-size:1.5rem;color:#e2e8f0;font-weight:600}.public-header-actions{display:flex;gap:.75rem}.btn-join{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:.6rem 1.5rem;border-radius:10px;text-decoration:none;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #8b5cf64d}.btn-join:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.public-mindmap-container{flex:1;position:relative;overflow:hidden}.public-mindmap-container .react-flow{background:transparent}.public-mindmap-container .react-flow__background{background-color:#0f172a80}.public-mindmap-container .react-flow__controls{background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px}.public-mindmap-container .react-flow__controls-button{background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);color:#cbd5e1}.public-mindmap-container .react-flow__controls-button:hover{background:#ffffff1a}.public-mindmap-container .react-flow__minimap{background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px}.public-cta-banner{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);width:calc(100% - 4rem);max-width:900px;z-index:1000;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cta-content{background:#1e293bf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:1.5rem 2rem;box-shadow:0 20px 40px #0006,0 0 40px #8b5cf633,inset 0 1px #ffffff1a;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative}.cta-close-btn{position:absolute;top:1rem;right:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:1.25rem;cursor:pointer;line-height:1;padding:0;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px;z-index:10}.cta-close-btn:hover{background:#ffffff1a;color:#fff}.cta-text{display:flex;align-items:flex-start;gap:1.5rem;flex:1}.cta-icon{font-size:2.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(139,92,246,.3))}.cta-message h3{margin:0 0 .5rem;font-size:1.25rem;color:#e2e8f0;font-weight:700}.cta-message p{margin:0 0 .75rem;color:#94a3b8;font-size:.95rem}.cta-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.cta-features li{color:#cbd5e1;font-size:.9rem}.cta-actions{display:flex;flex-direction:column;gap:.75rem;min-width:180px}.cta-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;text-decoration:none;font-weight:600;transition:all .3s ease;white-space:nowrap}.cta-btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.cta-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.cta-btn-secondary{background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.2)}.cta-btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.public-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0}.loading-spinner{width:50px;height:50px;border:4px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.public-page-loading p{margin-top:1rem;color:#94a3b8}.public-page-error{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b)}.error-content{text-align:center;color:#e2e8f0}.error-icon{font-size:4rem;color:#f87171;margin-bottom:1rem}.error-content h1{font-size:2rem;margin-bottom:.5rem}.error-content p{color:#94a3b8;margin-bottom:2rem}.btn-home{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:.75rem 1.5rem;border-radius:10px;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-home:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}@media(max-width:768px){.public-header-content{flex-direction:column;gap:1rem;padding:1rem}.public-map-title{font-size:1.25rem}.public-cta-banner{bottom:1rem;width:calc(100% - 2rem)}.cta-content{flex-direction:column;padding:1.5rem}.cta-text{flex-direction:column;text-align:center}.cta-features{grid-template-columns:1fr}.cta-actions,.cta-btn{width:100%}}.mfa-verification-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(-45deg,#0a0e27,#1a1147,#0f172a,#1e1b4b);background-size:400% 400%;animation:gradient-shift 15s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.mfa-verification-page *{box-sizing:border-box}.mfa-verification-container{background:#1e293b99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;max-width:360px;width:100%;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a}.mfa-back-button{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.5rem 1rem;border-radius:10px;transition:all .3s;font-weight:500;margin-bottom:1.5rem}.mfa-back-button:hover{color:#fff;background:#ffffff1a;border-color:#fff3;transform:translate(-4px)}.mfa-verification-header{text-align:center;margin-bottom:2rem}.mfa-verification-logo{font-size:3rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(139,92,246,.3));margin-bottom:1rem}.mfa-verification-header h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:800;color:#f8fafc}.mfa-verification-header p{margin:0;color:#cbd5e1;font-size:.9rem}.mfa-verification-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.mfa-input-group{display:flex;flex-direction:column;gap:.5rem}.mfa-input-group label{color:#cbd5e1;font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.mfa-verification-input{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;color:#f8fafc;font-size:1.25rem;font-weight:600;text-align:center;letter-spacing:.3em;transition:all .3s;box-sizing:border-box}.mfa-verification-input::placeholder{letter-spacing:normal;font-weight:400}.mfa-verification-input:focus{outline:none;border-color:#8b5cf6;background:#8b5cf614;box-shadow:0 0 0 3px #8b5cf626,0 0 20px #8b5cf633}.yubikey-input-container{position:relative;width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:2px dashed rgba(255,255,255,.2);border-radius:16px;cursor:pointer;overflow:hidden;transition:all .3s}.yubikey-input-container:hover,.yubikey-input-container:focus-within{border-color:#8b5cf6;background:#8b5cf60d}.yubikey-hidden-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}.yubikey-visual-cue{text-align:center;pointer-events:none}.yubikey-icon-pulse{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;margin:0 auto 1.5rem;position:relative;box-shadow:0 0 #8b5cf6b3;animation:pulse-purple 2s infinite}.yubikey-icon-pulse:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#fff;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20M2 12l5-5m-5 5l5 5'/%3E%3C/svg%3E") no-repeat center;mask-size:contain;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-6.219-8.56'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;background-color:#fff}.yubikey-icon-pulse:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:2px solid white;border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes pulse-purple{0%{transform:scale(.95);box-shadow:0 0 #8b5cf6b3}70%{transform:scale(1);box-shadow:0 0 0 20px #8b5cf600}to{transform:scale(.95);box-shadow:0 0 #8b5cf600}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.yubikey-visual-cue p{font-size:1.1rem;font-weight:600;color:#f8fafc;margin:0 0 .5rem}.yubikey-visual-cue small{color:#94a3b8;font-size:.9rem}.mfa-hint{color:#64748b;font-size:.8rem;font-style:italic;margin-top:-.25rem}.mfa-verification-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s;box-shadow:0 10px 15px -3px #3b82f64d}.mfa-verification-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 20px -3px #3b82f666}.mfa-verification-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.mfa-verification-error{background:#ef444426;color:#f87171;border:1.5px solid rgba(239,68,68,.3);padding:1rem;border-radius:12px;font-weight:500;text-align:center;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.mfa-backup-link{background:none;border:none;color:#60a5fa;font-size:.9rem;cursor:pointer;padding:.5rem;transition:all .2s;text-align:center}.mfa-backup-link:hover{color:#93c5fd;text-decoration:underline}@media(max-width:640px){.mfa-verification-container{padding:2rem 1.5rem}.mfa-verification-header h1{font-size:1.5rem}}
