*{margin:0;padding:0;box-sizing:border-box}:root{--bg-deep: #04061a;--accent1: #a9c7ff;--accent2: #6e8cff;--accent3: #7ee0ff;--text-muted: #c8d3f6;--glass-bg: rgba(8, 12, 28, .55);--glass-border: rgba(169, 199, 255, .08);--glass-blur: 8px}body{background:#030414;color:var(--text-muted);font-family:Inter,sans-serif;overflow:hidden}.galaxy{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(#ffffff 1px,transparent 1px),radial-gradient(#ffffff 1px,transparent 1px);background-size:40px 40px;background-position:0 0,20px 20px;opacity:.18;animation:twinkle 6s ease-in-out infinite;z-index:0}@keyframes twinkle{0%,to{opacity:.12}50%{opacity:.22}}.help-text{position:fixed;top:20px;left:20px;width:340px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:12px;color:var(--text-muted);font-size:13px;line-height:1.45;box-shadow:0 10px 40px #0009;z-index:50}.help-label{display:block;margin-top:10px;color:var(--accent1);font-size:12px}.help-input{width:100%;margin-top:6px;padding:8px 10px;border-radius:8px;background:#0a0e2099;border:1px solid rgba(255,255,255,.05);color:#eaf2ff}.save-load{margin-top:12px;display:flex;gap:8px}.made-by{display:block;margin-top:10px;font-size:11px;opacity:.6}.btn{padding:10px 16px;border-radius:10px;border:none;cursor:pointer;background:linear-gradient(180deg,var(--accent2),var(--accent1));color:#05071b;font-weight:700;box-shadow:0 6px 20px #5078ff26;transition:transform .15s}.btn:hover{transform:translateY(-2px)}.btn-danger{background:linear-gradient(180deg,#ef4444,#e63b3b);color:#fff}#canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}#flowchart-canvas{position:absolute;top:0;left:0;width:100000px;height:100000px;pointer-events:none;z-index:1}#content{position:relative;transform:translate(var(--panX, 0px),var(--panY, 0px));width:3000px;height:3000px}.node{position:absolute;width:260px;min-height:90px;padding:18px;border-radius:12px;background:linear-gradient(180deg,#0a1028e0,#050716e0);border:1px solid rgba(110,140,255,.15);color:#eef2ff;box-shadow:0 10px 30px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .18s,box-shadow .18s,border-color .18s;z-index:10;-webkit-user-select:none;user-select:none;pointer-events:auto}.node:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px;background:linear-gradient(180deg,var(--accent2),var(--accent1));opacity:.8}.node:hover{transform:translateY(-4px);box-shadow:0 16px 45px #000000b8;border-color:#6e8cff59}.node.selected{border-color:var(--accent3);box-shadow:0 16px 50px #000000d9;z-index:20}.node-title{font-size:16px;font-weight:700;color:var(--accent1)}.node-body{margin-top:8px;font-size:14px;color:#dce6ff;line-height:1.5}.node .resend-btn,.node .delete-btn{position:absolute;top:8px;width:28px;height:28px;border-radius:8px;border:none;font-weight:700;font-size:14px;cursor:pointer;z-index:30;opacity:.75;transition:all .2s;pointer-events:auto}.node .resend-btn{right:40px;background:#2ecc7140;color:#2ecc71;border:1px solid rgba(46,204,113,.4)}.node .resend-btn:hover{background:#2ecc7180;opacity:1;transform:scale(1.12)}.node .delete-btn{right:8px;background:#ef444440;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}.node .delete-btn:hover{background:#ef444480;opacity:1;transform:scale(1.12)}.node-connection-point{position:absolute;width:16px;height:16px;border-radius:50%;background:#151a35;border:3px solid rgba(255,255,255,.07);cursor:crosshair;transition:transform .15s,border .15s;z-index:15}.node-connection-point:hover{transform:scale(1.2);border-color:var(--accent3)}.node-connection-point.input{left:-12px;top:50%;transform:translateY(-50%)}.node-connection-point.output{right:-12px;top:50%;transform:translateY(-50%)}.node-connection-point.connecting{background:linear-gradient(180deg,#2ecc71,#1ca85b);animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 0 #2ecc71b3}70%{box-shadow:0 0 0 10px #2ecc7100}to{box-shadow:0 0 #2ecc7100}}.connection-line{stroke:var(--accent1);stroke-width:3;fill:none;transition:stroke-width .12s}.connection-line:hover{stroke-width:5;stroke:#ef4444}.temp-connection-line{stroke:#2ecc71;stroke-width:3;fill:none;stroke-dasharray:5,5;animation:dash .5s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;justify-content:center;align-items:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{width:92%;max-width:620px;background:linear-gradient(180deg,#0b112ae0,#07091ce0);border:1px solid rgba(110,140,255,.15);padding:20px;border-radius:14px;color:#eaf3ff;box-shadow:0 30px 90px #0009;animation:modal-pop .25s ease-out}@keyframes modal-pop{0%{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:12px;padding-bottom:10px}.close-btn{border:none;background:transparent;color:#a8b3ff;font-size:20px;cursor:pointer}.close-btn:hover{color:var(--accent2)}#chat-container{position:fixed;bottom:18px;left:50%;transform:translate(-50%);width:100%;max-width:1280px;display:flex;justify-content:center;align-items:center;padding:14px;z-index:200}#chat-container>#file-input,#chat-container>#send-btn{display:none!important}#search-container{position:relative;width:804px;height:64px;display:flex;justify-content:center;align-items:center;z-index:100}.nebula,.starfield,.stardust,.cosmic-ring{position:absolute;width:100%;height:100%;border-radius:12px;overflow:hidden;z-index:-1;pointer-events:none}.nebula{filter:blur(30px);opacity:.45}.stardust{filter:blur(2px)}.cosmic-ring{filter:blur(.5px)}.stardust:before,.cosmic-ring:before,.starfield:before,.nebula:before{content:"";position:absolute;width:600px;height:600px;top:50%;left:50%;transform:translate(-50%,-50%);background-repeat:no-repeat;background-position:0 0;transition:all 2s}.stardust:before{background-image:conic-gradient(transparent 0%,#4d6dff,transparent 8%,transparent 50%,#6e8cff,transparent 58%)}.cosmic-ring:before{background-image:conic-gradient(#05071b,#4d6dff 5%,#05071b 14%,#05071b 50%,#6e8cff 60%,#05071b 64%)}.starfield:before{background-image:conic-gradient(transparent,#1c2452,transparent 10%,transparent 50%,#2a3875,transparent 60%)}.nebula:before{width:999px;height:999px;background-image:conic-gradient(#000,#4d6dff 5%,#000 38%,#000 50%,#6e8cff 60%,#000 87%)}#search-container:hover>.starfield:before{transform:translate(-50%,-50%) rotate(-98deg)}#search-container:hover>.nebula:before{transform:translate(-50%,-50%) rotate(-120deg)}#search-container:hover>.stardust:before{transform:translate(-50%,-50%) rotate(-97deg)}#search-container:hover>.cosmic-ring:before{transform:translate(-50%,-50%) rotate(-110deg)}#search-container:focus-within>.starfield:before{transform:translate(-50%,-50%) rotate(442deg);transition:4s}#search-container:focus-within>.nebula:before{transform:translate(-50%,-50%) rotate(420deg);transition:4s}#search-container:focus-within>.stardust:before{transform:translate(-50%,-50%) rotate(443deg);transition:4s}#search-container:focus-within>.cosmic-ring:before{transform:translate(-50%,-50%) rotate(430deg);transition:4s}.input{background-color:#05071b;border:none;width:800px;height:64px;border-radius:10px;color:var(--accent1);font-size:18px;z-index:4;outline:none;padding:0 16px 0 0!important;box-sizing:border-box}.node-input{left:-8px;top:50%;transform:translateY(-50%)}.input-field{padding-left:16px!important}.input::placeholder{color:var(--accent2);opacity:.8}#search-icon{position:absolute;left:18px;top:16px;z-index:5;pointer-events:none}#input-mask{pointer-events:none;width:90px;height:30px;position:absolute;background:linear-gradient(90deg,transparent,#05071b 75%);top:13px;left:54px;z-index:5;transition:opacity .3s ease}#search-container:focus-within #input-mask{opacity:0}#cosmic-glow{pointer-events:none;width:40px;height:30px;position:absolute;top:13px;left:8px;background:#4d6dff;filter:blur(22px);opacity:.8;transition:opacity 2s}#search-container:hover #cosmic-glow{opacity:.3}#wormhole-icon{position:absolute;top:13px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(180deg,#1c2452,#05071b,#2a3875);border:1px solid transparent;cursor:pointer;z-index:10;transition:all .2s ease}#wormhole-icon:hover{transform:scale(1.1);background:linear-gradient(180deg,#2a3875,#1c2452);box-shadow:0 0 20px #6d8cff99}#wormhole-icon:active{transform:scale(.95)}.wormhole-border{position:absolute;top:12px;right:15px;width:42px;height:42px;border-radius:10px;overflow:hidden;pointer-events:none}.wormhole-border:before{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%) rotate(0);background-image:conic-gradient(transparent,#4d6dff,transparent 50%,#6e8cff,transparent);filter:brightness(1.35);animation:rotate 4s linear infinite}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}#search-icon{position:absolute;left:20px;top:16px;z-index:5;pointer-events:none}@media (max-width: 1100px){.help-text{width:280px;left:10px}#chat-container{bottom:10px}#search-container{width:804px}.input{width:270px;font-size:17px}}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:var(--accent1)}.form-group input[type=text],.form-group textarea{width:100%;padding:12px;border-radius:8px;background:#0a0e2099;border:1px solid rgba(255,255,255,.05);color:#eaf2ff;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--accent3);box-shadow:0 0 10px #7ee0ff4d}.form-group textarea{min-height:150px;resize:vertical;font-family:inherit}#flowchart-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.connection-line{stroke:#4d6dff;pointer-events:stroke;stroke-dasharray:8 8;animation:dash 1.5s linear infinite;stroke-width:3px;fill:none}.connection-line:hover{stroke-width:4px}@keyframes dash{to{stroke-dashoffset:-16}}
