html,body,#root{margin:0;height:100%}#root{min-height:100%}.splash-cursor{display:inline-block;width:2px;height:.9em;background:#00ffb4;vertical-align:middle;margin-left:1px;animation:login-blink .65s step-end infinite}.splash-glitch{display:inline-block;color:#00ffb4;animation:login-gc .15s steps(1) infinite}.login-root{min-height:100vh;min-height:100dvh;background:#07080a;position:relative;overflow:hidden;cursor:pointer;font-family:IBM Plex Mono,monospace}.login-grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(29,158,117,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.login-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.22) 3px,rgba(0,0,0,.22) 4px)}.login-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.75) 100%)}.login-pb{position:absolute;bottom:0;left:0;height:1px;background:#1d9e75;opacity:.35;width:0%}.login-splash-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.login-sigil{font-size:10px;letter-spacing:.3em;color:#1d9e75;text-transform:uppercase;margin-bottom:2.5rem;opacity:.6}.login-splash-wrap{text-align:center;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.login-splash-text{font-size:clamp(14px,2.2vw,18px);font-weight:300;font-style:italic;color:#dedad0;line-height:1.6;letter-spacing:.01em;white-space:pre-wrap;text-align:center;max-width:520px}.login-glitch-char{display:inline-block;color:#00ffb4;animation:login-gc .15s steps(1) infinite}@keyframes login-gc{0%{opacity:1;transform:none}30%{opacity:0;transform:translate(2px)}60%{opacity:1;transform:skew(-6deg)}to{opacity:1;transform:none}}.login-cursor{display:inline-block;width:2px;height:.9em;background:#00ffb4;vertical-align:middle;margin-left:1px;animation:login-blink .65s step-end infinite}@keyframes login-blink{0%,to{opacity:1}50%{opacity:0}}.login-splash-source{font-size:10px;letter-spacing:.22em;color:#1d9e75;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity 1.4s ease,transform 1.4s ease}.login-splash-source.show{opacity:.75;transform:translateY(0)}.login-mute{position:absolute;bottom:1.4rem;right:1.4rem;background:none;border:none;color:#2a2a28;font-size:13px;cursor:pointer;padding:4px 6px;font-family:IBM Plex Mono,monospace;letter-spacing:.1em;transition:color .3s;z-index:10}.login-mute:hover{color:#1d9e75}.login-hint{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.3em;color:#444441;text-transform:uppercase;white-space:nowrap;animation:login-pulse 3s ease-in-out infinite;transition:opacity 1s ease}.login-hint.hidden{opacity:0}@keyframes login-pulse{0%,to{opacity:.3}50%{opacity:.9}}.login-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none;opacity:0;transform:scale(.94);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.login-layer.show{opacity:1;transform:scale(1);pointer-events:all}.card{background:#0a0c0eed;border:.5px solid #1d3a2e;border-radius:10px;padding:2rem 2rem 1.75rem;width:100%;max-width:360px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card-sigil{font-size:9px;letter-spacing:.3em;color:#1d9e75;text-transform:uppercase;margin-bottom:1.25rem;opacity:.6}.card-title{font-size:22px;font-weight:400;color:#e8e6de;letter-spacing:-.01em;margin-bottom:.3rem}.card-sub{font-size:11px;color:#3a3a38;letter-spacing:.04em;margin-bottom:1.75rem;min-height:16px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;opacity:0;transform:translateY(4px);transition:opacity 1.2s ease .4s,transform 1.2s ease .4s}.card-sub.show{opacity:1;transform:translateY(0)}.sep{height:.5px;background:#1d3a2e;margin-bottom:1.75rem}.field-label{display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#5f5e5a;margin-bottom:.5rem}.field input{width:100%;background:#ffffff08;border:.5px solid #1d3a2e;border-radius:4px;padding:10px 12px;color:#dedad0;font-family:IBM Plex Mono,monospace;font-size:13px;letter-spacing:.1em;outline:none;transition:border-color .3s}.field input:focus{border-color:#1d9e75}.field input::placeholder{color:#2a2a28;letter-spacing:.05em}.err{font-size:10px;color:#f09595;letter-spacing:.1em;min-height:16px;margin:.75rem 0}.btn{width:100%;background:transparent;border:.5px solid #1d9e75;border-radius:4px;padding:11px;color:#1d9e75;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s;margin-bottom:1.25rem}.btn:hover{background:#1d9e75;color:#07080a}.card-footer{font-size:8px;letter-spacing:.2em;color:#252522;text-align:center;text-transform:uppercase}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #04030d;--surface: #080714;--surface2: #0d0b1a;--border: rgba(120, 80, 200, .22);--border-hi: rgba(160, 100, 255, .55);--green: #39ff14;--text: #ddd8f5;--muted: rgba(180, 160, 230, .38);--mono: "Courier New", Courier, monospace;--radius: 12px;--accent: #9b59f5}html,body{height:100%}body{background:var(--bg);font-family:var(--mono);color:var(--text);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(0,0,0,.16) 3px,rgba(0,0,0,.16) 4px);pointer-events:none;z-index:9999}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,rgba(130,80,255,.03) 45%,rgba(180,120,255,.055) 50%,rgba(130,80,255,.03) 55%,transparent 100%);background-size:100% 200%;pointer-events:none;z-index:9998;animation:crt-sweep 4s linear infinite}@keyframes crt-sweep{0%{background-position:0% -100%}to{background-position:0% 200%}}.orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.orb-1{width:500px;height:500px;background:radial-gradient(circle,rgba(110,40,220,.65),transparent 70%);top:-120px;left:-120px;opacity:.5;animation:orb-move-1 14s ease-in-out infinite}.orb-2{width:380px;height:380px;background:radial-gradient(circle,rgba(57,255,20,.22),transparent 70%);bottom:-80px;right:-80px;opacity:.5;animation:orb-move-2 10s ease-in-out infinite}.orb-3{width:320px;height:320px;background:radial-gradient(circle,rgba(180,60,255,.4),transparent 70%);top:50%;left:55%;opacity:.4;animation:orb-move-3 18s ease-in-out infinite}@keyframes orb-move-1{0%,to{transform:translate(0)}33%{transform:translate(100px,80px)}66%{transform:translate(-50px,150px)}}@keyframes orb-move-2{0%,to{transform:translate(0)}40%{transform:translate(-100px,-90px)}70%{transform:translate(40px,-140px)}}@keyframes orb-move-3{0%,to{transform:translate(0)}50%{transform:translate(-140px,-100px)}}.hub-wrap{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.hub-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-hi);box-shadow:0 1px #a064ff14}.sigil{font-size:.62rem;color:var(--green);letter-spacing:.3em;opacity:.75;margin-bottom:.6rem;animation:flicker 7s infinite;text-shadow:0 0 10px rgba(57,255,20,.5)}@keyframes flicker{0%,94%,to{opacity:.75}95%{opacity:.15}96%{opacity:.75}97.5%{opacity:.25}98%{opacity:.75}}.hub-title{font-size:2.4rem;font-weight:300;letter-spacing:.15em;line-height:1;background:linear-gradient(135deg,#e0d0ff,#9b59f5 45%,#4c1d95);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 20px rgba(155,89,245,.5))}.hub-subtitle{margin-top:.45rem;font-size:.65rem;color:var(--muted);letter-spacing:.1em}.hub-actions{display:flex;gap:1rem;align-items:center}.btn-link{background:none;border:none;color:#b496ff66;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;cursor:pointer;text-transform:uppercase;transition:color .2s}.btn-link:hover{color:#c8aaffcc}.hub-section{margin-bottom:3rem}.section-label{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem;padding-bottom:.4rem;border-bottom:1px solid rgba(120,80,200,.12)}.hub-empty{font-size:.75rem;color:var(--muted);font-style:italic;padding:1rem 0}.hub-muted{font-size:.72rem;color:var(--muted);font-style:italic}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.service-card{position:relative;background:#080614bf;border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.25rem;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:.5rem;transition:border-color .3s,box-shadow .3s,transform .2s;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(140,60,255,.06),transparent 60%);border-radius:inherit;pointer-events:none;transition:opacity .3s;opacity:0}.service-card:hover{border-color:#a064ff80;box-shadow:0 0 30px #8c3cff1f,0 8px 32px #00000080;transform:translateY(-2px)}.service-card:hover:before{opacity:1}.service-card.builtin{border-color:#7850c84d}.service-card.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;min-height:100px}@keyframes skeleton-pulse{0%,to{opacity:.3}50%{opacity:.6}}.card-top{display:flex;align-items:center;justify-content:space-between}.card-icon{font-size:1.4rem;line-height:1;filter:drop-shadow(0 0 8px rgba(155,89,245,.4))}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--green);box-shadow:0 0 8px #39ff14cc;animation:dot-pulse 2s ease-in-out infinite}.status-dot.offline{background:#dc2626cc;box-shadow:0 0 6px #dc262680}.status-dot.unknown{background:#b4966499}@keyframes dot-pulse{0%,to{opacity:1;box-shadow:0 0 8px #39ff14cc}50%{opacity:.6;box-shadow:0 0 4px #39ff1466}}.card-name{font-size:.95rem;font-weight:400;letter-spacing:.04em;color:var(--text)}.card-url{font-size:.62rem;color:var(--muted);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-remove-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#c864644d;font-size:.7rem;cursor:pointer;padding:.2rem .35rem;border-radius:4px;transition:color .2s,background .2s;display:none}.service-card:hover .card-remove-btn{display:block}.card-remove-btn:hover{color:#ff6464e6;background:#dc26261a}.hub-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.hub-form input[type=text],.hub-form input[type=url]{background:#060412e6;border:1px solid rgba(120,80,200,.28);border-radius:8px;color:var(--text);font-family:var(--mono);font-size:.8rem;padding:.55rem .85rem;outline:none;min-width:180px;flex:1;transition:border-color .25s}.hub-form input:focus{border-color:#9b59f580}.hub-form input::placeholder{color:#6450a04d}.btn-hub{padding:.55rem 1.1rem;border-radius:8px;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-hub.primary{background:#5a1eb433;border:1px solid rgba(140,80,255,.45);color:#c4b5fd}.btn-hub.primary:hover{background:#6e32c84d;border-color:#a064ffb3;color:#ede9fe;box-shadow:0 0 16px #8c3cff33}.btn-hub.ghost{background:transparent;border:1px solid rgba(120,80,200,.25);color:#b496ff99}.btn-hub.ghost:hover{border-color:#a078ff80;color:#dcc8ffe6}.btn-hub.danger{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#fca5a5}.btn-hub.danger:hover{background:#dc262633;border-color:#dc262699}.tokens-table{width:100%;border-collapse:collapse;font-size:.78rem;margin-bottom:1.5rem}.tokens-table th{text-align:left;color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .6rem;border-bottom:1px solid var(--border)}.tokens-table td{padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.tokens-table tr:last-child td{border-bottom:none}.token-services-chips{display:flex;flex-wrap:wrap;gap:.25rem}.token-chip{font-size:.6rem;background:#8c3cff1f;border:1px solid rgba(140,60,255,.25);border-radius:4px;padding:.1rem .4rem;color:#c4b5fd;letter-spacing:.06em}.token-chip.master{background:#39ff1414;border-color:#39ff1433;color:var(--green)}.token-form{flex-direction:column;align-items:flex-start;padding:1.1rem;background:#08061480;border:1px solid var(--border);border-radius:var(--radius)}.token-services{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0}.token-svc-label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text);cursor:pointer;padding:.3rem .65rem;border:1px solid var(--border);border-radius:6px;transition:border-color .2s,background .2s}.token-svc-label:has(input:checked){border-color:#8c50ff80;background:#6428c81f}.token-svc-label.full-access{border-color:#39ff1433;color:var(--green)}.token-svc-label.full-access:has(input:checked){border-color:#39ff1480;background:#39ff140f}.token-svc-label input[type=checkbox]{accent-color:var(--accent);width:12px;height:12px}.new-token-display{margin-top:1rem;padding:1rem;background:#060412e6;border:1px solid rgba(57,255,20,.3);border-radius:var(--radius);display:flex;flex-direction:column;gap:.65rem}.new-token-label{font-size:.62rem;color:var(--green);letter-spacing:.1em;opacity:.8}.new-token-key{font-family:var(--mono);font-size:.82rem;color:var(--green);word-break:break-all;text-shadow:0 0 8px rgba(57,255,20,.4);letter-spacing:.04em}.new-token-hint{font-size:.65rem;line-height:1.45;color:var(--muted);max-width:52rem}.new-token-hint strong{color:#c8b4f08c;font-weight:400}.new-token-path{font-size:.68rem;color:#9b59f5d9;padding:.1em .35em;background:#140c2899;border-radius:4px}.new-token-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}.new-token-input{flex:1 1 12rem;min-width:0;font-family:var(--mono);font-size:.78rem;color:var(--green);background:#00000073;border:1px solid rgba(57,255,20,.25);border-radius:8px;padding:.55rem .65rem;letter-spacing:.03em}.new-token-input:focus{outline:none;border-color:#39ff1480;box-shadow:0 0 0 1px #39ff1433}.new-token-input::-ms-reveal,.new-token-input::-ms-clear{display:none}.btn-icon-tile{flex:0 0 auto;min-width:2.75rem;padding:.4rem .55rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text);border:1px solid var(--border);background:#0c081cd9}.btn-icon-tile:hover{border-color:var(--border-hi);color:var(--green)}.token-eye-svg{display:block;opacity:.9}.btn-hub.ghost.success{border-color:#39ff1473;color:var(--green)}.hub-footer{margin-top:4rem;font-size:.56rem;color:#785ab42e;letter-spacing:.12em;text-align:center;-webkit-user-select:none;user-select:none}html,body,#root{height:100%;margin:0}
