@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap");@import url("https://api.fontshare.com/v2/css?f[]=general-sans@500,600,700&display=swap");.stack-page{--bg:#060610;--surface:#0f1318;--surface-2:#161c24;--border:#1e2733;--border-bright:#2a3545;--accent:#00cfff;--accent-dim:#00a3cc;--accent-glow:rgba(0,207,255,.15);--accent-bg:rgba(0,207,255,.08);--accent-border:rgba(0,207,255,.2);--text-primary:#fff;--text-secondary:hsla(0,0%,100%,.7);--text-muted:hsla(0,0%,100%,.55);--accent-green:#00e676;--accent-amber:#ffb020;--accent-red:#ff4d4d;--purple:#a855f7;--pink:#ec4899;--orange:#f97316;--teal:#14b8a6;--arch-width:280px;line-height:1.6}.stack-page [tabindex="0"]:focus-visible,.stack-page a:focus-visible,.stack-page button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.stack-page *,.stack-page :after,.stack-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stack-page .page-header{text-align:center;padding:2.5rem 1.5rem 1.5rem;position:relative}.stack-page .page-header:before{content:"";position:absolute;top:0;left:0;right:0;height:300px;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(0,207,255,.12) 0,transparent 60%);pointer-events:none}.stack-page .brand-label{font-size:.875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;position:relative}.stack-page .page-title{font-family:General Sans,Inter,system-ui,sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:.75rem;position:relative;background:linear-gradient(135deg,#fff 0,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stack-page .page-subtitle{font-size:1rem;color:var(--text-secondary);max-width:600px;margin:0 auto .4rem;position:relative}.stack-page .page-meta{font-size:.875rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;position:relative}.stack-page .legend{max-width:1400px;margin:0 auto .75rem;padding:0 1.5rem}.stack-page .legend-inner{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding:.5rem}.stack-page .legend-item{display:flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--text-secondary)}.stack-page .filter-bar{max-width:1400px;margin:0 auto 1rem;padding:0 1.5rem;position:sticky;top:57px;z-index:200}.stack-page .filter-inner{background:rgba(15,19,24,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:12px;padding:.5rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.stack-page .filter-label{font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-right:.25rem}.stack-page .filter-btn{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem .85rem;min-height:44px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:4px}.stack-page .filter-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.stack-page .filter-btn.active,.stack-page .filter-btn[aria-pressed=true]{border-color:var(--accent);background:rgba(0,207,255,.1);color:var(--accent);box-shadow:0 0 12px rgba(0,207,255,.12)}.stack-page .filter-btn .dot{display:inline-block;width:6px;height:6px;border-radius:50%;vertical-align:middle}.stack-page .split-layout{max-width:1400px;margin:0 auto;padding:0 1.5rem 4rem;display:flex;gap:0;position:relative}.stack-page .arch-col{width:var(--arch-width);flex-shrink:0;position:sticky;top:126px;align-self:flex-start;z-index:10}.stack-page .arch-stack{display:flex;flex-direction:column;gap:4px}.stack-page .arch-node{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:.55rem}.stack-page .arch-node.active,.stack-page .arch-node:hover{border-color:var(--node-color,var(--accent));background:var(--surface-2);box-shadow:0 0 16px rgba(0,0,0,.4),inset 0 0 0 1px hsla(0,0%,100%,.03)}.stack-page .arch-node.active{box-shadow:0 0 20px color-mix(in srgb,var(--node-color,var(--accent)) 25%,transparent)}.stack-page .arch-node-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.stack-page .arch-node-label{font-family:General Sans,Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600;line-height:1.25;color:var(--text-primary)}.stack-page .arch-node-sub{font-size:.75rem;font-weight:500;color:var(--text-muted);font-family:JetBrains Mono,monospace;display:block;margin-top:1px}.stack-page .arch-connector{width:2px;height:4px;margin:0 auto;background:var(--border)}.stack-page .lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.stack-page .conn-line{stroke:var(--border);stroke-width:1;fill:none;transition:stroke .3s,stroke-width .3s,opacity .3s;opacity:.5}.stack-page .conn-line.active{stroke:var(--accent);stroke-width:1.5;opacity:1;filter:drop-shadow(0 0 4px rgba(0,207,255,.3))}.stack-page .conn-dot{fill:var(--border);transition:fill .3s}.stack-page .conn-dot.active{fill:var(--accent);filter:drop-shadow(0 0 6px rgba(0,207,255,.5))}.stack-page .tools-col{flex:1;min-width:0;padding-left:60px}.stack-page .tool-layer{margin-bottom:6px;border-radius:12px;overflow:hidden;transition:all .3s}.stack-page .tool-layer.layer-hidden{display:none}.stack-page .tool-layer-header{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;min-height:44px;background:var(--surface);border:1px solid var(--border);border-radius:10px 10px 0 0;cursor:pointer;transition:all .25s;position:relative}.stack-page .tool-layer-header:hover{border-color:var(--border-bright);background:var(--surface-2)}.stack-page .tool-layer.expanded .tool-layer-header{border-color:color-mix(in srgb,var(--layer-color,var(--accent)) 40%,var(--border));background:var(--surface-2)}.stack-page .tlh-icon{font-size:1rem;width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stack-page .tlh-title{font-family:General Sans,Inter,system-ui,sans-serif;font-size:1rem;font-weight:700;flex:1}.stack-page .tlh-count{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:hsla(0,0%,100%,.05);border:1px solid var(--border);padding:.15rem .45rem;border-radius:8px;font-family:JetBrains Mono,monospace}.stack-page .tlh-chevron{font-size:.75rem;color:var(--text-muted);transition:transform .3s}.stack-page .tool-layer.expanded .tlh-chevron{transform:rotate(180deg)}.stack-page .tool-grid-wrap{position:relative;background:rgba(6,6,16,.6);border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.stack-page .tool-layer.expanded .tool-grid-wrap{max-height:2000px}.stack-page .tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;padding:.75rem}.stack-page .tool-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem;transition:all .25s;position:relative;overflow:hidden}.stack-page .tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent,var(--accent));opacity:0;transition:opacity .25s}.stack-page .tool-card:hover{border-color:var(--border-bright);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.4)}.stack-page .tool-card:hover:before{opacity:1}.stack-page .tool-card.hidden{display:none}.stack-page .tool-card.veltrix-used{border-color:rgba(0,207,255,.2);background:linear-gradient(135deg,rgba(0,207,255,.03) 0,var(--surface) 100%)}.stack-page .tool-card.veltrix-used .vx-badge{display:inline-flex}.stack-page .tool-name{font-family:General Sans,Inter,system-ui,sans-serif;font-size:1rem;font-weight:700;margin-bottom:.25rem;display:flex;align-items:center;gap:.4rem}.stack-page .tool-name-text{flex:1}.stack-page .tool-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem}.stack-page .tool-tags{display:flex;flex-wrap:wrap;gap:.25rem}.stack-page .tag{font-size:.75rem;font-weight:500;letter-spacing:.04em;padding:.15rem .5rem;border-radius:5px;text-transform:uppercase}.stack-page .tag-free{background:rgba(0,230,118,.12);color:var(--accent-green);border:1px solid rgba(0,230,118,.2)}.stack-page .tag-paid{background:rgba(255,176,32,.1);color:var(--accent-amber);border:1px solid rgba(255,176,32,.2)}.stack-page .tag-oss{background:rgba(168,85,247,.1);color:var(--purple);border:1px solid rgba(168,85,247,.2)}.stack-page .tag-ai{background:rgba(236,72,153,.1);color:var(--pink);border:1px solid rgba(236,72,153,.2)}.stack-page .vx-badge{display:none;align-items:center;gap:2px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:rgba(0,207,255,.1);border:1px solid rgba(0,207,255,.2);padding:.1rem .4rem;border-radius:5px;white-space:nowrap}.stack-page .vx-badge:before{content:"\26A1";font-size:.75rem}.stack-page .sub-label{padding:.6rem .75rem .2rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.stack-page .no-results{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:1rem;display:none}.stack-page .no-results.visible{display:block}@media (max-width:900px){.stack-page .split-layout{flex-direction:column}.stack-page .arch-col,.stack-page .arch-connector,.stack-page .arch-node,.stack-page .arch-stack{display:none}.stack-page .tools-col{padding-left:0}.stack-page .lines-svg{display:none}}