:root{--bg:#0d0f14;--panel:#13161e;--surface:#1a1e2a;--border:#252a38;--border2:#2e3447;--accent:#00e5ff;--accent2:#7c3aed;--green:#22d3a0;--red:#ff4d6a;--yellow:#f5a623;--text:#e2e8f0;--muted:#6b7694;--dim:#3d4561;--font-mono:"JetBrains Mono", monospace;--font-ui:"Syne", sans-serif}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border2) transparent;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);flex-direction:column;height:100dvh;font-size:13px;display:flex;overflow:hidden}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.fullscreen-loader-backdrop{background:var(--background);z-index:999999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fullscreen-spinner{border:8px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin;display:block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-body{flex:1;gap:0;height:90dvh;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;gap:0;display:flex;overflow:hidden}header{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:14px;height:52px;padding:0 18px;display:flex;position:relative}.logo{align-items:center;gap:10px;margin-right:auto;display:flex}.logo-icon{background:linear-gradient(135deg, var(--accent2), var(--accent));color:#fff;width:65px;height:28px;font-size:14px;font-weight:800;font-family:var(--font-ui);letter-spacing:-1px;border-radius:6px;justify-content:center;align-items:center;display:flex;box-shadow:0 0 12px #00e5ff40}.logo-text{font-family:var(--font-ui);letter-spacing:.04em;color:var(--text);font-size:15px;font-weight:700}.logo-text span{color:var(--accent)}.header-badge{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#00e5ff1a;border:1px solid #00e5ff40;border-radius:4px;padding:2px 7px;font-size:10px}#limbo-ghost-btn{background:var(--surface);color:var(--accent);font-size:11px;font-family:var(--font-ui);letter-spacing:.06em;cursor:pointer;text-transform:uppercase;border:1px solid #00e5ff4d;border-radius:7px;align-items:center;gap:5px;padding:7px 12px;font-weight:600;transition:all .15s;display:flex}.toggle-group{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:flex}.toggle-btn{color:var(--muted);font-family:var(--font-ui);letter-spacing:.06em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:5px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.toggle-btn.active{background:var(--border2);color:var(--accent);box-shadow:inset 0 1px #ffffff0f}.toggle-btn:hover:not(.active){color:var(--text)}.header-actions{align-items:center;gap:8px;margin-left:8px;display:flex}.icon-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:relative}.icon-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #00e5ff26}.status-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 6px var(--green);border-radius:50%;flex-shrink:0;animation:2s infinite hdr-pulse}@keyframes hdr-pulse{0%,to{opacity:1}50%{opacity:.35}}.notif-badge{background:var(--red);border:2px solid var(--bg);color:#fff;width:16px;height:16px;font-size:8px;font-weight:800;font-family:var(--font-ui);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}.avatar-btn{background:linear-gradient(135deg, #5b21b6, var(--accent2));width:32px;height:32px;font-family:var(--font-ui);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #7c3aed80;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;transition:all .15s;display:flex}.avatar-btn:hover{border-color:#a78bfa;box-shadow:0 0 10px #7c3aed73}.header-popover-wrap{position:relative}.header-popover{background:var(--panel);border:1px solid var(--border2);z-index:200;border-radius:12px;animation:.18s cubic-bezier(.16,1,.3,1) both hdr-pop-in;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 16px 48px #0009,inset 0 0 0 1px #ffffff0a}@keyframes hdr-pop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.popover-title{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 16px 8px;font-size:10px;font-weight:700}.popover-footer{font-family:var(--font-ui);color:var(--accent);text-align:center;cursor:pointer;border-top:1px solid var(--border);padding:10px 16px;font-size:11px;font-weight:600;transition:background .12s}.popover-footer:hover{background:#00e5ff0a}.popover-divider{background:var(--border);height:1px;margin:4px 0}.notif-popover{width:300px}.notif-item{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.notif-item:hover{background:#ffffff0a}.notif-item.notif-ok{border-left:2px solid var(--green)}.notif-item.notif-warn{border-left:2px solid var(--yellow)}.notif-item.notif-info{border-left:2px solid #3b82f6}.notif-icon{flex-shrink:0;margin-top:1px;font-size:15px}.notif-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-text{color:var(--text);font-size:12px;font-family:var(--font-mono);line-height:1.4}.notif-time{color:var(--dim);font-size:10px;font-family:var(--font-ui);letter-spacing:.04em;font-weight:600}.profile-popover{width:240px}.profile-head{align-items:center;gap:12px;padding:16px 16px 14px;display:flex}.profile-avatar-lg{background:linear-gradient(135deg, #5b21b6, var(--accent2));width:40px;height:40px;font-family:var(--font-ui);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.profile-info{flex-direction:column;gap:2px;display:flex;overflow:hidden}.profile-name{font-family:var(--font-ui);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.profile-email{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.profile-role{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#00e5ff1a;border:1px solid #00e5ff33;border-radius:4px;width:fit-content;margin-top:2px;padding:1px 6px;font-size:9px;font-weight:700}.profile-menu-item{width:100%;font-family:var(--font-ui);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 16px;font-size:12px;font-weight:600;transition:all .12s;display:flex}.profile-menu-item:hover{color:var(--text);background:#ffffff0a}.profile-menu-item span{font-size:14px}.logout-item{color:var(--red)!important}.logout-item:hover{background:#ff4d6a14!important}.btn-ghost{border:1px solid var(--border2);font-family:var(--font-ui);letter-spacing:.06em;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:7px;padding:7px 14px;font-size:11px;font-weight:700;text-decoration:none;transition:all .15s}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btn-accent{background:linear-gradient(135deg, var(--accent2), var(--accent));font-family:var(--font-ui);letter-spacing:.06em;color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:7px 16px;font-size:11px;font-weight:700;text-decoration:none;transition:all .15s;box-shadow:0 0 14px #00e5ff33}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 0 22px #00e5ff61}.header-overlay{z-index:150;position:fixed;inset:0}.log-panel{border-top:1px solid var(--border);background:#0a0c11;flex-direction:column;flex-shrink:0;height:200px;display:flex;position:relative;overflow:hidden}.log-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:6px 16px;display:flex}.log-title{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:1;font-size:10px;font-weight:700}.log-clear{border:1px solid var(--border);color:var(--dim);cursor:pointer;font-size:10px;font-family:var(--font-mono);background:0 0;border-radius:4px;padding:2px 8px;transition:all .12s}.log-clear:hover{color:var(--muted);border-color:var(--border2)}.log-scroll{flex:1;min-height:0;padding:6px 0;overflow-y:auto}.log-scroll::-webkit-scrollbar{width:3px}.log-scroll::-webkit-scrollbar-thumb{background:var(--border2)}.log-line{font-size:11px;font-family:var(--font-mono);border-bottom:1px solid var(--accent);align-items:flex-start;gap:10px;padding:8px 12px;line-height:1.5;transition:background .1s;display:flex}.log-line:hover{background:#ffffff08}.log-time{color:var(--dim);white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:10px}.log-level{font-size:9px;font-weight:700;font-family:var(--font-ui);letter-spacing:.06em;border-radius:3px;flex-shrink:0;margin-top:1px;padding:2px 5px}.level-info{color:var(--accent);background:#00e5ff1a}.level-ok{color:var(--green);background:#22d3a01a}.level-warn{color:var(--yellow);background:#f5a6231a}.level-error{color:var(--red);background:#ff4d6a1a}.log-msg{color:var(--muted);flex:1}.log-msg em{color:var(--text);font-style:normal}.log-split{flex-direction:row;flex:1;width:100%;height:500px;display:flex;overflow:hidden}.log-column{border:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.log-section-title{border-bottom:1px solid var(--border);background:var(--bg);color:var(--muted);flex-shrink:0;padding:10px 12px;font-weight:600}.resize-handle{cursor:ns-resize;z-index:20;width:100%;height:8px;position:absolute;top:0;left:0}.resize-handle:hover{background:#ffffff14}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:230px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px 7px;display:flex}.sidebar-title{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.sidebar-actions{gap:3px;display:flex}.sidebar-icon-btn{width:20px;height:20px;color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.sidebar-icon-btn:hover{color:var(--text);background:#ffffff0f}.sidebar-scroll{flex:1;padding:4px 0;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{width:3px}.sidebar-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.t-node{-webkit-user-select:none;user-select:none}.t-row{cursor:pointer;height:22px;color:var(--muted);white-space:nowrap;align-items:center;padding-right:8px;font-size:12px;transition:background .1s,color .1s;display:flex;position:relative}.t-row:hover{color:var(--text);background:#ffffff0d}.t-row.active{color:var(--accent);background:#00e5ff14}.t-row.active:after{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;right:0}.t-indent{flex-shrink:0;width:14px;display:inline-block}.t-chevron{width:16px;height:16px;color:var(--dim);flex-shrink:0;justify-content:center;align-items:center;font-size:9px;transition:transform .15s;display:flex}.t-chevron.open{color:var(--muted);transform:rotate(90deg)}.t-chevron.leaf{visibility:hidden}.t-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-right:5px;font-size:12px;display:flex}.t-label{text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.root-row{color:var(--text);letter-spacing:.04em;font-size:11px;font-weight:600}.icon-ghost{color:#a78bfa;font-size:11px}.icon-snx{color:#f5a623;font-size:11px}.icon-dltd{color:#ff4d6a;font-size:11px}.icon-folder-open{color:#e2c97e}.icon-root{color:var(--accent)}.t-children{overflow:hidden}.t-label-group{flex:1;align-items:center;min-width:0;display:flex}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{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:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.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{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.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{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.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 #0059dccc}.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{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.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{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.component-tray{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:60px;padding:0 16px;display:flex;overflow-x:auto}.component-tray::-webkit-scrollbar{height:2px}.component-tray::-webkit-scrollbar-thumb{background:var(--border2)}.tray-label{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);white-space:nowrap;border-right:1px solid var(--border2);margin-right:4px;padding-right:10px;font-size:10px;font-weight:600}.tray-chip{background:var(--surface);border:1px solid var(--border2);cursor:grab;white-space:nowrap;max-height:30px;color:var(--muted);font-size:11px;font-weight:500;font-family:var(--font-ui);letter-spacing:.04em;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;transition:all .15s;display:flex}.tray-chip:hover{color:var(--text);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 0 8px #00e5ff1f}.tray-chip:active{cursor:grabbing;transform:scale(.97)}.tray-chip .chip-icon{font-size:13px}.chip-a-record{color:#4ade80}.chip-cname{color:#60a5fa}.chip-mx{color:#f472b6}.chip-txt{color:var(--yellow)}.chip-ns{color:#a78bfa}.chip-ptr{color:var(--accent)}.tray-sep{background:var(--border);flex-shrink:0;width:1px;height:28px;margin:0 4px}.tray-action{background:linear-gradient(135deg, var(--accent2), var(--accent));cursor:pointer;white-space:nowrap;color:#fff;font-size:11px;font-weight:700;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;transition:all .15s;display:flex;box-shadow:0 0 14px #00e5ff33}.tray-action:hover{transform:translateY(-1px);box-shadow:0 0 20px #00e5ff59}.btn-spinner{vertical-align:middle;border:2px solid #ddd;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}main{z-index:1;flex:1;justify-content:center;align-items:center;padding:32px 16px;display:flex;position:relative}.login-card{border:1px solid var(--border2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#13161ee0;border-radius:16px;width:100%;max-width:420px;animation:.4s cubic-bezier(.16,1,.3,1) both slideUp;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 24px 64px #0009,0 0 40px #7c3aed0f}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-topbar{background:linear-gradient(90deg, var(--accent2), var(--accent), var(--green));height:3px}.card-head{text-align:center;padding:28px 32px 0}.card-icon{background:linear-gradient(135deg, var(--accent2), var(--accent));border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;font-size:22px;display:flex;box-shadow:0 0 24px #00e5ff40,0 8px 20px #0006}.card-title{font-family:var(--font-ui);color:var(--text);letter-spacing:-.02em;margin-bottom:6px;font-size:22px;font-weight:800}.card-sub{font-family:var(--font-ui);color:var(--muted);font-size:12px;line-height:1.5}.card-sub em{color:var(--accent);font-style:normal}.card-body{flex-direction:column;gap:18px;padding:28px 32px 32px;display:flex}.f-group{flex-direction:column;gap:6px;display:flex}.f-label{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.f-label a{color:var(--accent);letter-spacing:.06em;font-size:10px;font-weight:600;text-decoration:none;transition:opacity .15s}.f-label a:hover{opacity:.75;text-decoration:underline}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--dim);pointer-events:none;font-size:14px;line-height:1;transition:color .15s;position:absolute;left:12px}.input-wrap:focus-within .input-icon{color:var(--accent)}input[type=text],input[type=email],input[type=password]{background:var(--surface);border:1px solid var(--border2);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:9px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s;padding:11px 40px 11px 38px!important}input:focus{border-color:var(--accent);background:#1a1e2ae6;box-shadow:0 0 0 3px #00e5ff1a}input::placeholder{color:var(--dim);font-size:12px}.pw-toggle{cursor:pointer;color:var(--dim);background:0 0;border:none;padding:2px;font-size:14px;line-height:1;transition:color .12s;position:absolute;right:12px}.pw-toggle:hover{color:var(--muted)}.remember-row{align-items:center;gap:10px;padding:2px 0;display:flex}.custom-check{background:var(--surface);border:1px solid var(--border2);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;transition:all .15s;display:flex;position:relative}.custom-check input{opacity:0;width:0;height:0;position:absolute}.custom-check.checked{border-color:var(--accent);background:#00e5ff26}.custom-check.checked:after{content:"✓";color:var(--accent);font-size:10px;font-weight:700}.remember-label{font-family:var(--font-ui);color:var(--muted);cursor:pointer;font-size:12px;font-weight:600}.error-box{font-family:var(--font-ui);color:var(--red);background:#ff4d6a14;border:1px solid #ff4d6a4d;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:600;display:none}.error-box.show{display:flex}.btn-login{background:linear-gradient(135deg, var(--accent2), var(--accent));cursor:pointer;color:#fff;width:100%;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:10px;padding:13px;font-size:13px;font-weight:800;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 0 20px #00e5ff33,0 8px 20px #0000004d}.btn-login:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1f,#0000);transition:opacity .2s;position:absolute;inset:0}.btn-login:hover{transform:translateY(-1px);box-shadow:0 0 32px #00e5ff59,0 8px 24px #0006}.btn-login:hover:before{opacity:1}.btn-login:active{transform:translateY(0)}.btn-login.loading{pointer-events:none;opacity:.7}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin:0 auto;animation:.7s linear infinite spin;display:none}.btn-login.loading .btn-text{display:none}.btn-login.loading .spinner{display:block}.or-divider{font-family:var(--font-ui);letter-spacing:.1em;color:var(--dim);text-transform:uppercase;align-items:center;gap:12px;font-size:10px;font-weight:700;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.sso-row{gap:8px;display:flex}.btn-sso{background:var(--surface);border:1px solid var(--border2);cursor:pointer;font-family:var(--font-ui);color:var(--muted);letter-spacing:.04em;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 8px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.btn-sso:hover{color:var(--text);border-color:var(--border2);background:#ffffff0d;transform:translateY(-1px);box-shadow:0 4px 14px #0000004d}.btn-sso span{font-size:16px}.card-footer{text-align:center;font-family:var(--font-ui);color:var(--muted);font-size:12px}.card-footer a{color:var(--accent);font-weight:700;text-decoration:none;transition:opacity .15s}.card-footer a:hover{opacity:.75;text-decoration:underline}.page-footer{z-index:1;text-align:center;font-family:var(--font-ui);color:var(--dim);letter-spacing:.06em;flex-shrink:0;padding:16px;font-size:10px;position:relative}.page-footer a{color:var(--dim);text-decoration:none}.page-footer a:hover{color:var(--muted)}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.scan{z-index:0;pointer-events:none;background:linear-gradient(#0000,#00e5ff0a,#0000);height:2px;animation:8s linear infinite scanline;position:fixed;left:0;right:0}.loader-backdrop{z-index:999999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner{border:8px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin;display:block}.modal-overlay{z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--panel);border:1px solid var(--border2);border-radius:14px;width:90%;max-width:850px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000073}.page-wrap{max-width:720px;margin:0 auto;padding:28px 24px 60px}.page-title{font-family:var(--font-ui);color:var(--text);letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:800}.page-sub{color:var(--muted);margin-bottom:24px;font-size:11px}.page-sub em{color:var(--accent);font-style:normal}.fs{border:1px solid var(--border2);background:var(--panel);border-radius:12px;margin-bottom:18px;overflow:hidden}.fs-legend{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:11px 18px;transition:background .12s;display:flex}.fs-legend:hover{background:#ffffff0a}.fs-legend-title{font-family:var(--font-ui);letter-spacing:.04em;color:var(--text);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.fs-legend-title .fs-icon{font-size:14px}.fs-chevron{color:var(--muted);font-size:10px;transition:transform .2s}.fs-chevron.open{transform:rotate(180deg)}.fs-body{flex-direction:column;gap:14px;padding:18px;display:flex}.fs-body.collapsed{display:none}label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;font-family:var(--font-ui);margin-bottom:5px;display:block}.f-row{flex-direction:column;display:flex}input[type=text],input[type=email],select,textarea{background:var(--surface);border:1px solid var(--border2);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:8px;outline:none;padding:9px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00e5ff14}input::-moz-placeholder{color:var(--dim)}textarea::-moz-placeholder{color:var(--dim)}input::placeholder,textarea::placeholder{color:var(--dim)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10L1.5 4.5h11L7 10z' fill='%236b7694'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}select option{background:var(--panel)}textarea{min-height:90px;font-size:11px;line-height:1.6}textarea.code{font-family:var(--font-mono);border-color:var(--border);color:#a5f3fc;background:#0a0c11;font-size:11px}.divider{background:var(--border);height:1px;margin:2px 0}.switch-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.switch-label{font-family:var(--font-ui);color:var(--muted);font-size:12px;font-weight:600}.switch{width:38px;height:21px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--border2);border-radius:21px;transition:all .2s;position:absolute;inset:0}.slider:before{content:"";background:var(--muted);border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{border:1px solid var(--accent);background:#00e5ff40}.switch input:checked+.slider:before{background:var(--accent);transform:translate(17px)}.schema-list{flex-direction:column;gap:6px;display:flex}.schema-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;transition:border-color .12s;display:flex}.schema-item:hover{border-color:var(--border2)}.schema-item-name{font-family:var(--font-ui);letter-spacing:.06em;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700;transition:color .12s}.schema-item-name:hover{color:var(--text);text-decoration:underline}.schema-item-del{color:var(--red);cursor:pointer;font-size:11px;font-family:var(--font-ui);background:#ff4d6a1f;border:1px solid #ff4d6a4d;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-weight:600;transition:all .12s;display:flex}.schema-item-del:hover{background:#ff4d6a38}.add-field-row input{flex:1;margin:0}.btn{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 16px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent2), var(--accent));color:#fff;box-shadow:0 0 16px #00e5ff33}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 24px #00e5ff59}.btn-secondary{background:var(--surface);border:1px solid var(--border2);color:var(--muted)}.btn-secondary:hover{color:var(--text);border-color:var(--accent);background:#00e5ff0d}.btn-danger{color:var(--red);background:#ff4d6a1f;border:1px solid #ff4d6a4d}.btn-danger:hover{background:#ff4d6a38}.btn-info{color:var(--blue);background:#3b82f61f;border:1px solid #3b82f659}.btn-info:hover{background:#3b82f638}.btn-warn{color:var(--yellow);background:#f5a6231f;border:1px solid #f5a6234d}.btn-warn:hover{background:#f5a62338}.btn-sm{padding:6px 12px;font-size:11px}.btn-icon{padding:7px}.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.form-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.kv-row{justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.kv-row .kv-label{font-family:var(--font-ui);color:var(--muted);white-space:nowrap;min-width:130px;font-size:12px;font-weight:600}.kv-row .kv-value{font-family:var(--font-mono);color:var(--text);background:var(--surface);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1;padding:5px 10px;font-size:11px;overflow:hidden}.kv-row .kv-actions{flex-shrink:0;gap:6px;display:flex}.kv-row input{flex:1;margin:0}.badge{font-size:10px;font-weight:700;font-family:var(--font-ui);letter-spacing:.06em;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge:before{content:"●";font-size:7px}.badge-active{color:var(--green);background:#22d3a01f;border:1px solid #22d3a033}.badge-pending{color:var(--yellow);background:#f5a6231f;border:1px solid #f5a62333}.badge-info{color:var(--blue);background:#3b82f61f;border:1px solid #3b82f633}.morphic-card{background:#7c3aed14;border:1px solid #7c3aed4d;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.morphic-card p{font-family:var(--font-ui);color:var(--text);font-size:12px;font-weight:600}.morphic-card p span{color:var(--accent2)}.add-field-row input,.add-field-row textarea,.f-row input,.f-row textarea,.f-row select{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--border2);border-radius:10px;outline:none;padding:10px 12px;transition:all .2s}.add-field-row input::-moz-placeholder{color:var(--muted)}.f-row input::-moz-placeholder{color:var(--muted)}.f-row textarea::-moz-placeholder{color:var(--muted)}.add-field-row input::placeholder,.f-row input::placeholder,.f-row textarea::placeholder{color:var(--muted)}.add-field-row input:focus,.f-row input:focus,.f-row textarea:focus,.f-row select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #5f72ff26}textarea.code:disabled{background:var(--panel2);color:var(--muted)}.add-field-row{align-items:center;gap:12px;display:flex}input,textarea,select{color:var(--text)}input:-webkit-autofill{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}input:-webkit-autofill:hover{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}input:-webkit-autofill:focus{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}input:-webkit-autofill:active{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}textarea:-webkit-autofill{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}select:-webkit-autofill{caret-color:var(--text);transition:background-color 999999s ease-in-out,color 999999s ease-in-out;-webkit-text-fill-color:var(--text)!important;box-shadow:0 0 0 1000px var(--panel) inset!important;border:1px solid var(--border2)!important}:is(input:-moz-autofill,textarea:-moz-autofill){color:var(--text)!important;background:var(--panel)!important}.access-list-header{justify-content:space-between;align-items:center;padding:4px 0 6px;display:flex}.access-list-header-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.access-list-header-action{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.access-user-list{flex-direction:column;gap:4px;display:flex}.access-user-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;transition:border-color .15s,background .15s;animation:.2s slideIn;display:flex}.access-user-item:hover{border-color:var(--border2);background:#ffffff05}.access-user-info{align-items:center;gap:10px;display:flex}.access-user-avatar{background:linear-gradient(135deg, var(--accent2), var(--accent));width:28px;height:28px;font-family:var(--font-ui);color:#fff;opacity:.85;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.access-user-email{font-family:var(--font-mono);color:var(--text);font-size:12px}.confirm-btn{color:#22c55e;font-size:10px;font-weight:700;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e40;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;transition:all .15s;display:inline-flex}.confirm-btn:hover{background:#22c55e38;border-color:#22c55e80;transform:scale(1.03)}.confirm-btn svg{width:11px;height:11px}.remove-btn{color:var(--red);font-size:10px;font-weight:700;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ff4d6a1a;border:1px solid #ff4d6a40;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;transition:all .15s;display:inline-flex}.remove-btn:hover{background:#ff4d6a38;border-color:#ff4d6a80;transform:scale(1.03)}.remove-btn svg{width:11px;height:11px}.access-empty{text-align:center;font-family:var(--font-ui);color:var(--dim);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:16px;font-size:11px;font-style:italic}.sec-svc-header{border-bottom:1px solid var(--border);background:#ffffff05;grid-template-columns:1fr 1fr 1fr 64px;padding:8px 16px;display:grid}.sec-svc-col{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.sec-svc-col-remove{text-align:center}.sec-svc-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr 1fr 64px;align-items:center;padding:10px 16px;transition:background .12s;animation:.2s slideIn;display:grid}.sec-svc-row:last-child{border-bottom:none}.sec-svc-row:hover{background:#ffffff05}.sec-svc-cell{font-family:var(--font-mono);color:var(--text);font-size:12px}.sec-svc-cell-domain{color:var(--accent);font-weight:600}.sec-svc-cell-ghostid{color:var(--muted)}.sec-svc-del{width:32px;height:32px;color:var(--red);cursor:pointer;background:#ff4d6a26;border:1px solid #ff4d6a4d;border-radius:7px;justify-content:center;align-items:center;margin:0 auto;transition:all .15s;display:inline-flex}.sec-svc-del:hover{background:#ff4d6a47;transform:scale(1.08)}.sec-svc-del svg{width:13px;height:13px}
