@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}::selection{color:#f1f5f9;text-shadow:0 0 1px #0006;background:linear-gradient(135deg,#6366f173 0%,#06b6d466 100%)}::-moz-selection{color:#f1f5f9;background:#6366f173}:root{--bg:#020617;--bg-sub:#0c1222;--panel:#0c1222;--panel-alt:#0f172a;--border:#1e2d45;--border-hi:#2d3f5a;--accent:#818cf8;--accent-soft:#818cf829;--accent-glow:#818cf847;--accent2:#06b6d4;--accent2-soft:#06b6d429;--text:#f1f5f9;--text-2:#94a3b8;--text-3:#cbd5e1;--muted:#64748b;--green:#34d399;--yellow:#fbbf24;--amber:#f59e0b;--red:#f87171;--blue:#60a5fa;--purple:#a78bfa;--pink:#f472b6;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.4, 0, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-normal:.25s}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Microsoft YaHei UI,Microsoft YaHei,Segoe UI,sans-serif;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(#6366f166 0%,#06b6d459 100%) padding-box padding-box;border:2px solid #0000;border-radius:6px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6366f1a6 0%,#06b6d48c 100%) padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:active{background:linear-gradient(#6366f1d9 0%,#06b6d4bf 100%) padding-box padding-box;border:2px solid #0000}#sidebar::-webkit-scrollbar{width:8px}*{scrollbar-width:thin;scrollbar-color:#6366f173 transparent}:hover{scrollbar-color:#6366f1b3 transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:2px solid #6366f1f2}:focus:not(:focus-visible){outline:none}}@layer shared{@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes badge-shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes carousel-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes np-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes nodeRipple{0%{opacity:.7;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.topbar__logo-mark svg{transform-origin:50%;animation:16s linear infinite logo-spin}@media (prefers-reduced-motion:reduce){.topbar__logo-mark svg{animation:none}}.key{color:var(--text-2);background:var(--border);border:1px solid var(--border-hi);letter-spacing:.02em;white-space:nowrap;border-bottom-width:2px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 5px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.58rem;font-weight:700;line-height:1.5;display:inline-flex}.btn .key{color:var(--muted);background:#ffffff14;border-color:#ffffff1f #ffffff1f #ffffff2e;font-size:.55rem}.legend-row:focus-visible,.legend-field-row:focus-visible,.legend-tier-row:focus-visible,.legend-edge-row:focus-visible,.bs-chip:focus-visible{box-shadow:0 0 0 2px var(--accent), 0 0 0 5px #6366f138;outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}cy,#cy,.cy{transition:none!important}.badge-shimmer,.carousel-shimmer,.badge-meow,.empty-state__icon,.topbar__badge-dot,.tour-dt__dot,.node-ripple{animation:none!important}.legend-row:focus-visible,.legend-field-row:focus-visible,.legend-tier-row:focus-visible,.legend-edge-row:focus-visible,.bs-chip:focus-visible{outline:2px solid var(--accent);box-shadow:none}}}@layer layout{#app{z-index:1}#app:after{content:"";mix-blend-mode:screen;pointer-events:none;z-index:0;background:radial-gradient(120% 80% at 12% -5%,#818cf838 0%,#0000 65%),radial-gradient(100% 70% at 88% 95%,#06b6d429 0%,#0000 60%);position:fixed;inset:0}#main{z-index:1;grid-template-columns:minmax(0,1fr) 260px;min-width:0;height:calc(100vh - 100px);display:grid;position:relative;overflow:hidden}#main.sidebar-hidden{grid-template-columns:minmax(0,1fr) 0}#cy{cursor:grab;will-change:transform;background:0 0;width:100%;height:100%;display:block}#cy:active{cursor:grabbing}#debug-overlay{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.debug-badge{white-space:nowrap;border:1px solid #fff3;border-radius:3px;padding:1px 3px;font-family:Fira Code,Cascadia Code,monospace;font-size:9px;font-weight:700;line-height:1.4;position:absolute;transform:translate(-50%,-100%)}.debug-badge--selected{color:#fff;background:#6366f1}.debug-badge--dimmed{color:#fff;background:#ef4444e6}.debug-badge--sel-node{color:#fff;background:#22c55e}.debug-badge--highlight{color:#000;background:#fbbf24e6}.debug-badge--hovered{color:#fff;background:#a855f7}.debug-badge--none{color:#fff;background:#64748b80}#debug-panel{color:#e2e8f0;z-index:9999;background:#0f1117f2;border:1px solid #ffffff26;border-radius:10px;width:400px;min-width:300px;max-height:75vh;padding:12px 16px;font-family:Fira Code,monospace;font-size:11px;line-height:1.7;position:fixed;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 8px 24px #00000080}#debug-panel .debug-stat{justify-content:space-between;gap:12px;display:flex}#debug-panel .debug-stat span:first-child{color:#94a3b8}#debug-panel .debug-stat span:last-child{color:#e2e8f0;font-weight:600}#debug-panel .debug-stat.debug-sel span:last-child{color:#818cf8}#debug-panel .debug-stat.debug-dim span:last-child{color:#f87171}#debug-panel .debug-stat.debug-snode span:last-child{color:#4ade80}#debug-panel .debug-stat.debug-high span:last-child{color:#fbbf24}#debug-panel .debug-stat.debug-hover span:last-child{color:#c084fc}#debug-panel .debug-conflict{color:#f87171;border-top:1px solid #ffffff1a;margin-top:8px;padding-top:8px;font-size:10px}#debug-toggle{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:#6366f11f;border:1px solid #6366f14d;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.7rem;display:flex}#debug-toggle:hover{color:var(--text);background:#6366f140;border-color:#6366f180}#debug-toggle.active{color:#a5b4fc;background:#6366f14d;border-color:#6366f1}.dbg-header{border-bottom:1px solid #ffffff1a;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.dbg-header__title{color:#a5b4fc;font-size:11px;font-weight:700}.dbg-header__hint{color:#475569;flex:1;font-size:9px}.dbg-header__close{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;margin-left:auto;padding:0;font-size:14px;line-height:1;display:inline-flex}.dbg-header__close:hover{color:#fecaca;background:#f871712e;border-color:#f8717173}.dbg-header__close:focus-visible{outline-offset:1px;outline:2px solid #a5b4fc}.dbg-section{margin-bottom:8px}.dbg-section__label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:9px}.dbg-node-card{background:#6366f114;border:1px solid #6366f133;border-radius:6px;padding:6px 8px}.dbg-node-card--muted{background:#ffffff08;border-color:#ffffff14}.dbg-node-card__name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:700;overflow:hidden}.dbg-node-card__meta{color:#64748b;margin-bottom:4px;font-size:9px}.dbg-node-card__meta code{background:#ffffff14;border-radius:3px;padding:1px 4px;font-size:9px}.dbg-node-card__props{font-size:9px;line-height:1.6}.dbg-chip{border:1px solid;border-radius:4px;align-items:center;gap:3px;margin:2px 3px 2px 0;padding:1px 5px;font-size:9px;display:inline-flex}.dbg-chip__k{color:#94a3b8}.dbg-chip__v{font-family:Fira Code,monospace;font-size:8px;font-weight:600}.dbg-class-badge{border:1px solid;border-radius:3px;margin:2px 3px 2px 0;padding:0 4px;font-family:Fira Code,monospace;font-size:9px;font-weight:700;display:inline-block}.dbg-props-row{flex-wrap:wrap;align-items:center;margin-top:4px;display:flex}.dbg-props-meta{color:#64748b;margin-top:3px;font-size:8px}.dbg-props-classes{color:#475569;margin-top:2px;font-family:Fira Code,monospace;font-size:8px}.dbg-stats-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;display:grid}.dbg-stat{text-align:center;background:#ffffff0a;border-radius:6px;padding:4px}.dbg-stat__val{font-size:14px;font-weight:700}.dbg-stat__val--accent{color:#818cf8}.dbg-stat__val--red{color:#f87171}.dbg-stat__val--green{color:#4ade80}.dbg-stat__val--yellow{color:#fbbf24}.dbg-stat__key{color:#64748b;font-size:9px}.dbg-filter{color:#94a3b8;word-break:break-all;font-family:Fira Code,monospace;font-size:10px}.dbg-rules-table{color:#94a3b8;max-height:200px;font-size:9px;overflow:auto}.dbg-rules-table__table{border-collapse:collapse;width:100%;font-family:Fira Code,monospace}.dbg-rules-table__table th{color:#64748b;text-align:left;background:#0f1117fa;padding:2px 4px;font-size:9px;position:sticky;top:0}.dbg-rules-table__table td{white-space:nowrap;border-top:1px solid #ffffff0d;padding:2px 4px}.dbg-rules-table__td--type{color:#818cf8}.dbg-rules-table__td--shape{color:#67e8f9}.dbg-rules-table__td--w{color:#fbbf24}.dbg-rules-table__tr--active td{background:#6366f11a}.dbg-rules-table__count{color:#475569;text-align:right;margin-top:4px;font-size:9px}.dbg-conflict{color:#f87171;background:#ef44441f;border:1px solid #ef44444d;border-radius:6px;margin-top:6px;padding:6px 8px;font-size:10px}.dbg-help{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:4px 12px;margin-top:8px;padding-top:6px;display:flex}.dbg-help__row{color:#64748b;align-items:center;gap:4px;font-size:9px;display:flex}.dbg-help__key{color:#94a3b8;font-family:Fira Code,monospace;font-weight:700}.dbg-coverage{font-size:9px;line-height:1.8}.empty-state{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.empty-state__icon{width:80px;height:80px;color:var(--accent);animation:3s ease-in-out infinite dot-pulse}.empty-state__title{color:var(--text);font-size:1rem;font-weight:600}.empty-state__hint{color:var(--muted);font-size:.8rem}.toast-container{z-index:100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);color:var(--text);pointer-events:auto;background:#0f172af5;border-radius:10px;align-items:center;gap:10px;max-width:280px;padding:10px 14px;font-size:.8rem;animation:.3s cubic-bezier(.34,1.4,.64,1) both toast-in;display:flex;box-shadow:0 4px 24px #0006}.toast--info{border-color:#6366f166}.toast--success{border-color:#34d39966}.toast--error{border-color:#f8717166}.toast__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.toast--info .toast__dot{background:var(--accent)}.toast--success .toast__dot{background:#34d399}.toast--error .toast__dot{background:#f87171}.zoom-indicator{z-index:30;-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-2);font-variant-numeric:tabular-nums;pointer-events:none;background:#0c1222e0;border-radius:8px;padding:5px 10px;font-size:.72rem;font-weight:500;transition:opacity .4s;position:fixed;bottom:16px;right:16px}.node-ripple{pointer-events:none;z-index:5;border-radius:50%;width:40px;height:40px;animation:.5s ease-out forwards nodeRipple;position:fixed}}@layer topbar{.topbar{-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border);z-index:10;background:#0c1222d9;align-items:center;gap:0;height:56px;padding:0;display:flex;position:relative}.topbar__logo{flex-shrink:0;align-items:center;gap:10px;height:100%;padding:0 20px;display:flex}.topbar__logo-mark{background:linear-gradient(135deg, var(--accent), var(--accent2));width:32px;height:32px;box-shadow:0 0 18px var(--accent-glow), 0 4px 12px #0006;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.topbar__logo-mark svg{color:#fffffff2;width:22px;height:22px}.topbar__logo-mark:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(#ffffff2e 0%,#0000 50%);position:absolute;inset:0}.topbar__brand{flex-direction:column;align-items:flex-start;gap:1px;display:flex;overflow:hidden}.topbar__brand-name{background:linear-gradient(135deg,#f1f5f9 0%,#c7d2fe 100%);-webkit-text-fill-color:transparent;letter-spacing:-.015em;-webkit-background-clip:text;background-clip:text;font-size:clamp(.68rem,2.5vw,.92rem);font-weight:800;line-height:1.2}.topbar__brand-sub{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-family:Fira Code,SF Mono,monospace;font-size:.62rem;font-weight:500;line-height:1}.topbar__search-center{flex:1;justify-content:center;align-items:center;display:flex}.topbar__search-wrap{flex:1;align-items:center;min-width:160px;display:flex;position:relative}.topbar__search-icon{width:13px;height:13px;color:var(--muted);pointer-events:none;flex-shrink:0;position:absolute;left:8px}.topbar__search-input{border:1px solid var(--border);width:160px;height:28px;color:var(--text);background:#ffffff0f;border-radius:6px;outline:none;padding:0 10px 0 26px;font-family:inherit;font-size:.72rem;transition:border-color .15s,background .15s,width .2s}.topbar__search-input::placeholder{color:var(--muted)}.topbar__search-input:focus{border-color:var(--accent);background:#ffffff1a;width:220px}.topbar__badge{letter-spacing:.04em;color:#0000;min-width:0;text-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#6366f126,#a855f71a);border:1px solid #0000;border-radius:20px;flex-shrink:1;align-items:center;gap:8px;margin-left:auto;margin-right:16px;padding:6px 14px 6px 10px;font-size:.72rem;font-weight:600;display:inline-flex;position:relative}.topbar__badge:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#8b5cf680,#a855f733);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);mask-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,content-box;mask-clip:content-box,content-box;-webkit-mask-origin:content-box,content-box;mask-origin:content-box,content-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.topbar__badge-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 10px var(--green), 0 0 20px #22c55e4d;filter:brightness(1.2);border-radius:50%;flex-shrink:0;animation:3s ease-in-out infinite dot-pulse}.topbar__badge-dot--loading{background:var(--yellow);box-shadow:0 0 10px var(--yellow), 0 0 20px #eab3084d}.badge-by{color:#8b5cf6bf;letter-spacing:.08em;text-shadow:none;font-size:.68rem;font-weight:400}.badge-meow{color:var(--accent);background:linear-gradient(90deg,#a855f7 0%,#ec4899 20%,#8b5cf6 40%,#a855f7b3 60%,#ec4899 80%,#a855f7 100%) 0 0/400% 100%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px #a855f7b3)drop-shadow(0 0 22px #ec489966);will-change:background-position;-webkit-will-change:background-position;-webkit-background-clip:text;background-clip:text;font-size:.76rem;font-style:italic;font-weight:800;animation:3s ease-in-out -1.5s infinite badge-shimmer}.topbar__badge-carousel{text-align:left;min-width:3ch;display:inline-block}#carousel-text{filter:drop-shadow(0 0 8px #a78bfa80)drop-shadow(0 0 18px #67e8f940);will-change:background-position;-webkit-will-change:background-position;background-size:400% 100%;transition:opacity .45s;animation:3s ease-in-out infinite carousel-shimmer;display:inline-block}#carousel-text.is-hidden{opacity:0}}@layer toolbar{.toolbar{border-bottom:1px solid var(--border);z-index:25;background:#0c122299;align-items:center;gap:4px;height:44px;padding:0 16px;display:flex;position:relative;overflow-x:auto}.toolbar__sep{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 6px}.toolbar__label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);white-space:nowrap;flex-shrink:0;padding:0 4px;font-size:.62rem;font-weight:700}.toolbar__spacer{flex:1;min-width:8px}.btn{color:var(--text-2);cursor:pointer;white-space:nowrap;transition:background .18s var(--ease-out), border-color .18s, color .18s, box-shadow .18s, transform .1s;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:.73rem;font-weight:500;line-height:1.4;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:radial-gradient(circle at 50% 50%, var(--accent-soft) 0%, transparent 70%);opacity:0;transform-origin:50%;transition:opacity .25s var(--ease-out), transform .4s var(--ease-spring);position:absolute;inset:0;transform:scale(.6)}.btn:hover:after{opacity:1;transform:scale(1.4)}.btn:active:after{opacity:1;transition-duration:50ms;transform:scale(.95)}.btn>*{z-index:1;position:relative}.btn:hover{color:var(--text);background:#ffffff0a;border-color:#818cf880;box-shadow:0 0 0 1px #818cf840,0 4px 14px -4px #6366f159}.btn:active{transform:scale(.96);box-shadow:0 0 0 1px #818cf866,0 4px 12px #6366f173}.btn svg{flex-shrink:0;width:14px;height:14px}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 0 14px #6366f140}.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 20px #6366f166}.btn--ghost{border-color:var(--border);background:#ffffff0a}.btn--ghost:hover{border-color:var(--border-hi);color:var(--text);background:#ffffff14}.btn--danger{color:var(--red)}.btn--danger:hover{background:#f871711a;border-color:#f871714d}.btn--active{color:var(--accent);background:#6366f126;border-color:#6366f166}.btn.layout-btn.active{border-color:var(--accent);color:var(--accent);background:#6366f11f;box-shadow:0 0 10px #6366f138}.layout-btn:hover:not(.active){color:var(--text);background:#ffffff0f;border-color:#ffffff1f}.layout-btn:hover:not(.active):after{opacity:0}#btn-tour.active{border-color:var(--accent);color:var(--accent);background:#6366f12e;box-shadow:0 0 12px #6366f140}#btn-tour.active svg{stroke:var(--accent)}#btn-music.active{border-color:var(--accent);color:var(--accent);background:#6366f12e;box-shadow:0 0 12px #6366f140}#btn-music.active svg{stroke:var(--accent)}.layout-switcher{flex-shrink:0;position:relative}.layout-switcher__btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;background:#6366f11f;border-radius:8px;align-items:center;gap:6px;padding:5px 9px 5px 11px;font-family:inherit;font-size:.73rem;font-weight:600;line-height:1.4;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 0 10px #6366f138}.layout-switcher__btn:hover{background:#6366f12e;box-shadow:0 0 14px #6366f152}.layout-switcher__btn:active{transform:scale(.97)}.layout-switcher__label{color:var(--muted);letter-spacing:.04em;font-weight:500}.layout-switcher__sep{color:var(--muted);opacity:.6;font-weight:400}.layout-switcher__current{letter-spacing:-.01em;font-family:SF Mono,Fira Code,monospace}.layout-switcher__chev{width:12px;height:12px;color:var(--accent);opacity:.85;transition:transform .22s cubic-bezier(.34,1.4,.64,1)}.layout-switcher.visible .layout-switcher__chev{transform:rotate(180deg)}.layout-switcher__menu{z-index:30;-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border-hi);opacity:0;pointer-events:none;transform-origin:0 0;background:#0c1222eb;border-radius:10px;flex-direction:column;gap:1px;padding:4px;transition:opacity .18s,transform .18s cubic-bezier(.34,1.4,.64,1);display:flex;position:fixed;transform:translateY(-4px)scale(.97);box-shadow:0 12px 32px #0000008c,inset 0 0 0 1px #ffffff0a,0 0 24px #6366f114}.layout-switcher__menu.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.layout-switcher__item{color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.72rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex}.layout-switcher__item:hover{color:var(--text);border-color:var(--border);background:#ffffff0f}.layout-switcher__item.active{color:var(--accent);background:#6366f12e;border-color:#6366f166;box-shadow:0 0 10px #6366f133}.layout-switcher__item.active:before{content:"";background:var(--accent);width:4px;height:4px;box-shadow:0 0 6px var(--accent);border-radius:50%;flex-shrink:0;margin-right:2px;display:inline-block}}@layer sidebar{#sidebar{-webkit-backdrop-filter:blur(24px)saturate(180%);border-left:1px solid var(--border);will-change:transform;background:#0c1222b3;flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s,width .28s cubic-bezier(.4,0,.2,1);display:flex;overflow-y:auto;transform:translate(0)}#sidebar.hidden{opacity:0;pointer-events:none;transform:translate(100%)}.sidebar-strip{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);cursor:pointer;width:20px;height:56px;color:var(--muted);opacity:0;pointer-events:none;background:#0c12228c;border-right:none;border-radius:10px 0 0 10px;justify-content:center;align-items:center;transition:background .14s,color .14s,opacity .28s;position:absolute;top:50%;right:0;transform:translateY(-50%)}#main.sidebar-hidden .sidebar-strip{opacity:1;pointer-events:auto}.sidebar-strip:hover{color:var(--accent);background:#6366f133}.sidebar-strip svg{width:12px;height:12px}.sidebar-section{border-bottom:1px solid var(--border);padding:0}.sidebar-section__head{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;margin:0 6px;padding:10px 14px;transition:background .14s,border-color .14s,color .14s;display:flex}.sidebar-section__head:hover{border-color:var(--border);color:var(--text);background:#ffffff0a}.sidebar-section__head:active{background:#6366f11f;border-color:#6366f166}.sidebar-section__title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);align-items:center;gap:8px;font-size:.62rem;font-weight:700;display:flex}.sidebar-section__title:before{content:"";background:var(--accent);border-radius:2px;flex-shrink:0;width:3px;height:11px;display:block}.sidebar-section__chevron{width:14px;height:14px;color:var(--muted);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1),color .15s}.sidebar-section__chevron.open{transition:transform var(--dur-normal) var(--ease-out);transform:rotate(90deg)}.sidebar-section__body{max-height:0;transition:max-height var(--dur-normal) var(--ease-out), padding var(--dur-normal) var(--ease-out);padding-top:0;padding-bottom:0;overflow:hidden}.sidebar-section[data-section-state=open] .sidebar-section__body{max-height:600px;padding:0 14px 12px}.node-type-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.node-type-item{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:7px 9px;transition:background .14s,border-color .14s,transform .12s;display:flex;position:relative;overflow:hidden}.node-type-item:before{content:"";background:var(--accent);opacity:0;border-radius:inherit;transition:opacity .14s;position:absolute;inset:0}.node-type-item:hover{border-color:var(--border-hi);background:#ffffff0a;transform:translateY(-1px)}.node-type-item:hover:before{opacity:.04}.node-type-item.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.node-type-item__dot{z-index:1;border-radius:3px;flex-shrink:0;width:10px;height:10px;position:relative;box-shadow:0 0 6px}.node-type-item__label{color:var(--text-2);z-index:1;font-size:.72rem;font-weight:500;line-height:1;position:relative}.node-type-item__count{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.62rem;font-weight:400}.legend-block{flex-direction:column;gap:0;display:flex}.legend-block+.legend-block{margin-top:8px}.legend-block__label{display:none}.legend-section__head{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;padding:7px 8px;transition:background .14s,border-color .14s,color .14s;display:flex}.legend-section__head:hover{border-color:var(--border);color:var(--text);background:#ffffff0a}.legend-section__head:active{background:#6366f11f;border-color:#6366f166}.legend-section__title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6rem;font-weight:700}.legend-section__title:before{content:"";background:var(--accent);vertical-align:middle;border-radius:2px;width:3px;height:10px;margin-right:7px;display:inline-block}.legend-section__body{max-height:0;transition:max-height var(--dur-normal) var(--ease-out), padding var(--dur-normal) var(--ease-out);padding:0 4px;display:block;overflow:hidden}.legend-section[data-section-state=open] .legend-section__body{max-height:none;padding:0 4px 6px;overflow:auto visible}.legend-grid{grid-template-columns:1fr 1fr;gap:3px;display:grid}.legend-grid--2{grid-template-columns:1fr 1fr}.legend-grid--3{grid-template-columns:1fr 1fr 1fr}.legend-grid--4{grid-template-columns:1fr 1fr 1fr 1fr}.legend-grid--5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.legend-row{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:5px 8px;transition:background .12s,border-color .12s;display:flex}.legend-row:hover{border-color:var(--border-hi);background:#ffffff0a}.legend-node{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.legend-node--shape{background:#94a3b8;flex-shrink:0;width:12px;height:12px;display:inline-block}.legend-node--shape.shape-ellipse{border-radius:50%}.legend-node--shape.shape-rectangle{border-radius:2px}.legend-node--shape.shape-round-rectangle{border-radius:4px}.legend-node--shape.shape-diamond{width:10px;height:10px;margin:1px;transform:rotate(45deg)}.legend-node--shape.shape-triangle{clip-path:polygon(50% 0%,100% 85%,0% 85%)}.legend-node--shape.shape-pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.legend-node--shape.shape-octagon{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.legend-node--shape.shape-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.legend-node--shape.shape-tag{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);width:14px}.legend-node--shape.shape-round-tag{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);border-radius:3px 5px 5px 3px;width:14px}.legend-node--shape.shape-round-triangle{clip-path:polygon(50% 0%,100% 85%,0% 85%);border-radius:3px}.legend-node--shape.shape-bottom-round-rectangle{clip-path:polygon(0 0,100% 0,100% 70%,85% 100%,15% 100%,0 70%)}.legend-node--shape.shape-cut-rectangle{clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,0 100%)}.legend-node--shape.shape-barrel{clip-path:polygon(15% 0%,85% 0%,100% 50%,85% 100%,15% 100%,0% 50%)}.legend-node--shape.shape-rhomboid{clip-path:polygon(25% 0%,100% 0%,75% 100%,0% 100%)}.legend-node--shape.shape-right-rhomboid{clip-path:polygon(0% 0%,75% 0%,100% 100%,25% 100%)}.legend-node--shape.shape-round-diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border-radius:4px}.legend-node--shape.shape-round-pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);border-radius:3px}.legend-node--shape.shape-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.legend-node--shape.shape-round-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);border-radius:4px}.legend-node--shape.shape-concave-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,85% 100%,15% 100%,0% 50%)}.legend-node--shape.shape-heptagon{clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%)}.legend-node--shape.shape-round-heptagon{clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%);border-radius:3px}.legend-node--shape.shape-round-octagon{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);border-radius:3px}.legend-node--shape.shape-vee{clip-path:polygon(50% 60%,100% 0%,100% 100%,50% 100%,0% 100%,0% 0%)}.legend-shape-svg{flex-shrink:0;justify-content:center;align-items:center;display:flex}.legend-shape-svg svg{width:16px;height:16px}.legend-node--cat{border:1px solid #ffffff26;border-radius:50%;width:8px;height:8px;display:inline-block}.legend-swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.legend-row__label{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.7rem;font-weight:500;overflow:hidden}.legend-row__count{color:var(--muted);margin-left:auto;font-size:.6rem;font-weight:400}.legend-row.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.legend-row.active .legend-row__label{color:var(--accent)}.legend-edge-row{color:var(--text-2);cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-size:.68rem;font-weight:500;transition:background .12s,border-color .12s;display:flex}.legend-edge-row.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.legend-edge-row.active .legend-edge-row__label{color:var(--accent)}.legend-edge-row:hover{border-color:var(--border-hi);background:#ffffff0a}.legend-field-row{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:5px 8px;transition:background .12s,border-color .12s;display:flex}.legend-field-row:hover{border-color:var(--border-hi);background:#ffffff0a}.legend-field-row.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.legend-field-row.active .legend-row__label{color:var(--accent)}.legend-tier-row{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:5px 8px;transition:background .12s,border-color .12s;display:flex}.legend-tier-row:hover{border-color:var(--border-hi);background:#ffffff0a}.legend-tier-row.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.legend-tier-row.active .legend-row__label{color:var(--accent)}.legend-edge-row svg{flex-shrink:0}.legend-edge-row__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.legend-edge-row__count{color:var(--muted);margin-left:auto;font-size:.6rem;font-weight:400}.legend-cat-dot{border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:8px;height:8px}.stat-list{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.stat-card{border:1px solid var(--border);background:#ffffff06;border-radius:9px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.stat-card__label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6rem;font-weight:700}.stat-card__value{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-family:SF Mono,Fira Code,monospace;font-size:1.1rem;font-weight:700;line-height:1}.stat-card__value--accent{color:var(--accent)}.stat-card__value--cyan{color:var(--accent2)}.stat-card__value--amber{color:var(--yellow)}.shape-filter-list{flex-direction:column;gap:3px;display:flex}.shape-filter-item{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.shape-filter-item:hover{border-color:var(--border-hi);background:#ffffff09}.shape-filter-item.active{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.shape-filter-item__shape{flex-shrink:0}.shape-filter-item__label{color:var(--text-2);font-size:.72rem;font-weight:500}.tag-list{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tag{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:#ffffff0a;border-radius:20px;align-items:center;padding:2px 8px;font-size:.65rem;font-weight:500;transition:background .14s,color .14s;display:inline-flex}.tag:active{color:var(--accent);background:#6366f126}.layout-info{border:1px solid var(--border);background:#ffffff06;border-radius:9px;flex-direction:column;gap:4px;margin-top:8px;padding:10px 12px;display:flex;overflow:hidden}.layout-info__header{align-items:center;gap:6px;display:flex}.layout-info__label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-shrink:0;font-size:.6rem;font-weight:700}.layout-info__badge{letter-spacing:.04em;color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:1.05rem;font-weight:800;line-height:1}.layout-info__desc{color:var(--muted);font-size:.68rem;line-height:1.6}.layout-params{flex-direction:column;gap:0;display:flex}#layout-params-rows{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.param-row{flex-direction:column;gap:3px;display:flex}.param-label{color:var(--muted);justify-content:space-between;align-items:center;font-size:.7rem;font-weight:500;display:flex}.param-label__val{color:var(--text-2);border:1px solid var(--border);text-align:right;background:#ffffff0d;border-radius:4px;min-width:44px;padding:1px 6px;font-family:SF Mono,Fira Code,monospace;font-size:.66rem;font-weight:600}.param-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px;transition:background .1s}.param-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--panel);width:15px;height:15px;box-shadow:0 0 8px var(--accent-glow), 0 2px 6px #0006;cursor:pointer;border-radius:50%;transition:transform .1s,box-shadow .1s}.param-slider::-webkit-slider-thumb:hover{box-shadow:0 0 14px var(--accent-glow), 0 2px 8px #00000080;transform:scale(1.2)}.param-slider::-moz-range-thumb{background:var(--accent);border:2px solid var(--panel);cursor:pointer;border-radius:50%;width:15px;height:15px}.param-select{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:7px;outline:none;width:100%;padding:5px 9px;font-family:inherit;font-size:.72rem;transition:border-color .14s,background .14s}.param-select:focus{border-color:var(--accent);background:#ffffff0f}.no-params{color:var(--muted);font-size:.72rem;font-style:italic}.btn--apply{border-color:var(--border-hi);justify-content:center;width:100%;margin-top:6px;font-weight:600}.param-actions{align-items:center;gap:6px;margin-top:6px;display:flex}.param-actions .btn--apply{flex:auto;width:auto;margin-top:0}.btn--ghost{color:var(--muted);border-color:var(--border);background:0 0}.btn--ghost:hover{color:var(--text);border-color:var(--border-hi);background:#ffffff0a}.btn--sm{padding:5px 10px;font-size:.7rem}.btn--sm svg{width:12px;height:12px}.shortcuts-list{grid-template-columns:1fr 1fr;gap:4px;display:grid}.shortcut-item{color:var(--muted);align-items:center;gap:6px;padding:4px 0;font-size:.68rem;display:flex}.shortcut-item__label{font-weight:500}}@layer node-panel{#node-panel{z-index:20;visibility:hidden;opacity:0;pointer-events:none;touch-action:none;background:#0a0e1ce6;border:1px solid #6366f12e;border-radius:14px;flex-direction:column;width:360px;max-width:min(360px,100vw - 24px);max-height:calc(100vh - 96px);transition:opacity .22s,visibility .22s;display:flex;position:fixed;top:72px;left:16px;overflow:hidden;box-shadow:0 20px 60px #0000008c,inset 0 0 0 1px #ffffff0d,0 0 40px #6366f10f}#node-panel.visible{visibility:visible;opacity:1;pointer-events:auto;animation:.3s cubic-bezier(.34,1.4,.64,1) both np-in;display:flex}#node-panel.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}#node-panel.dragging .node-panel__header{cursor:grabbing}#node-panel.resizing{cursor:se-resize;-webkit-user-select:none;user-select:none}.node-panel__resize{cursor:se-resize;touch-action:none;background-image:linear-gradient(135deg, transparent 0 6px, var(--border-hi) 6px 7px, transparent 7px 8px, transparent 0 9px, var(--border-hi) 9px 10px, transparent 10px 100%);width:14px;height:14px;position:absolute;bottom:0;right:0}.node-panel__resize:hover{background-image:linear-gradient(135deg, transparent 0 6px, var(--accent) 6px 7px, transparent 7px 8px, transparent 0 9px, var(--accent) 9px 10px, transparent 10px 100%)}.node-panel__header{touch-action:none;border-bottom:1px solid #1e2d45b3;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.node-panel__title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.6rem;font-weight:700}.node-panel__close{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:flex}.node-panel__close:hover{border-color:var(--red);color:var(--red);background:#f8717126}.node-panel__close svg{width:12px;height:12px}.node-panel__pin{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:flex}.node-panel__pin:hover{background:#6366f126;border-color:#6366f180}.node-panel__pin.active{background:#6366f133;border-color:#6366f1b3}.node-panel__pin svg{width:12px;height:12px}.node-panel__tabs{gap:4px;display:flex}.node-panel__tab{border:1px solid var(--border);width:26px;height:26px;color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:6px;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;transition:background .14s,color .14s,border-color .14s;display:flex}.node-panel__tab.active{color:var(--accent);background:#6366f12e;border-color:#6366f180}.node-panel__tab:hover:not(.active){border-color:var(--border-hi);color:var(--text-2);background:#ffffff0f}.node-panel__body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.node-panel__body::-webkit-scrollbar{width:3px}.node-panel__body::-webkit-scrollbar-track{background:0 0}.node-panel__body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.np-page{flex-direction:column;gap:12px;display:flex}.np-page .np-section{flex-direction:column;gap:6px;display:flex}.np-page .np-section__label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:700}.np-page .np-summary{color:var(--text);font-size:.78rem;line-height:1.65}.np-page .np-tags{flex-wrap:wrap;gap:4px;display:flex}.np-page .np-tag{color:var(--accent);background:#6366f11a;border:1px solid #6366f133;border-radius:4px;padding:2px 7px;font-size:.6rem}.np-page .np-edges-group{flex-direction:column;gap:4px;display:flex}.np-page .np-edges-group__label{color:var(--muted);font-size:.62rem}.np-page .np-count{color:var(--accent);background:#6366f11f;border-radius:3px;padding:1px 5px;font-size:.58rem}.np-page .np-edge-item{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:5px;gap:6px;padding:5px 7px;transition:background .12s;display:flex}.np-page .np-edge-item:hover{background:#6366f11a;border-color:#6366f133}.np-page .np-edge-item__type{color:var(--accent);white-space:nowrap;min-width:32px;padding-top:1px;font-size:.58rem}.np-page .np-edge-item__target{color:var(--text);font-size:.72rem}.np-page .np-edge-item__reason{color:var(--muted);font-size:.62rem}.np-page .np-neighbor{color:var(--text-2);cursor:pointer;background:#ffffff0a;border-radius:4px;margin:2px 4px 2px 0;padding:2px 7px;font-size:.65rem;transition:background .12s;display:inline-block}.np-page .np-neighbor:hover{color:var(--accent);background:#6366f11a}.np-page .np-question{border-bottom:1px solid #ffffff0d;padding-bottom:12px}.np-page .np-question:last-child{border-bottom:none}.np-page .np-question__label{color:var(--accent);margin-bottom:4px;font-size:.62rem;font-weight:700}.np-page .np-question__answer{color:var(--text);font-size:.75rem;line-height:1.7}.np-hero{flex-direction:column;gap:4px;display:flex}.np-hero__badges{flex-wrap:wrap;gap:5px;display:flex}.np-badge{text-transform:uppercase;letter-spacing:.07em;border:1px solid;border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:.58rem;font-weight:700}.np-badge--type{background:#6366f11f;border-color:#6366f166}.np-badge--field{background:#a78bfa1a;border-color:#a78bfa66}.np-badge--tier{background:#fbbf241a;border-color:#fbbf2466}.np-hero__name{color:var(--text);letter-spacing:-.01em;word-break:break-word;font-size:1rem;font-weight:700;line-height:1.35}.np-hero__location{color:var(--muted);word-break:break-word;font-size:.66rem;line-height:1.5}.np-summary-section{flex-direction:column;gap:6px;display:flex}.np-summary{color:var(--text-2);background:#6366f10f;border-left:2px solid #6366f159;border-radius:0 6px 6px 0;padding:10px 12px;font-size:.75rem;line-height:1.65}.np-section{flex-direction:column;gap:6px;display:flex}.np-section__label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.58rem;font-weight:700}.np-section__toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:2px 0;display:flex}.np-section__toggle-arrow{width:12px;height:12px;color:var(--muted);flex-shrink:0;transition:transform .2s}.np-section__toggle-arrow.rotated{transform:rotate(90deg)}.np-tags{flex-wrap:wrap;gap:4px;display:flex}.np-tag{color:var(--text-2);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;padding:2px 9px;font-size:.64rem;font-weight:500;transition:background .12s,color .12s,border-color .12s}.np-tag:hover{color:var(--accent);background:#6366f12e;border-color:#6366f166}.np-edges{flex-direction:column;gap:4px;display:flex}.np-edge-item{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 10px;transition:background .12s,border-color .12s;display:flex}.np-edge-item:hover{background:#6366f11a;border-color:#6366f14d}.np-edge-item--incoming{background:#fbbf240a;border-color:#fbbf242e;border-left-style:solid;border-left-width:2px}.np-edge-item--incoming:hover{background:#fbbf2414;border-color:#fbbf2466}.np-edge-item--incoming .np-edge-item__type{color:#f59e0b;background:#fbbf241a;border-color:#fbbf2459}.np-edge-item__type{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:#6366f11a;border:1px solid #6366f14d;border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 5px;font-size:.56rem;font-weight:700}.np-edge-item__body{flex:1;min-width:0}.np-edge-item__target{color:var(--text);font-size:.72rem;font-weight:600;line-height:1.4}.np-edge-item__reason{color:var(--muted);margin-top:2px;font-size:.65rem;line-height:1.5}.np-neighbors{flex-wrap:wrap;gap:5px;display:flex}.np-neighbor{color:var(--text-2);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;padding:3px 9px;font-size:.65rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.np-neighbor:hover{color:var(--accent);background:#6366f126;border-color:#6366f159}.np-neighbor--incoming:hover{color:#a78bfa;background:#8b5cf626;border-color:#8b5cf659}.np-edges-group+.np-edges-group{border-top:1px solid #ffffff0f;margin-top:10px;padding-top:10px}.np-edges-group__label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);margin-bottom:4px;font-size:.6rem;font-weight:700}.np-edges-group--incoming .np-edges-group__label{color:#fbbf24}.np-count{min-width:16px;height:16px;color:var(--accent);vertical-align:middle;background:#6366f126;border-radius:8px;justify-content:center;align-items:center;margin-left:4px;padding:0 4px;font-size:.6rem;font-weight:700;display:inline-flex}.np-body-content{flex-direction:column;gap:12px;display:flex}.np-question{flex-direction:column;gap:3px;display:flex}.np-question__label{color:var(--accent);font-size:.65rem;font-weight:700;line-height:1.4}.np-question__answer{color:var(--text-2);font-size:.72rem;line-height:1.65}.node-overlay{z-index:100;-webkit-backdrop-filter:blur(10px);background:#020617b3;justify-content:center;align-items:center;animation:.2s overlay-in;display:flex;position:fixed;inset:0}.node-overlay-card{border:1px solid var(--border-hi);background:#0f172af2;border-radius:18px;width:310px;max-height:72vh;padding:22px;animation:.22s cubic-bezier(.34,1.56,.64,1) card-in;position:relative;overflow-y:auto;box-shadow:0 24px 64px #000000b3,inset 0 0 0 1px #ffffff0a,0 0 40px #6366f114}.node-overlay-close{cursor:pointer;background:var(--border);width:30px;height:30px;color:var(--text-2);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:background .14s,color .14s;display:flex;position:absolute;top:12px;right:12px}.node-overlay-close:hover{background:var(--accent);color:#fff}.np-markdown{color:var(--text-2)}.np-markdown>:first-child{margin-top:0}.np-markdown>:last-child{margin-bottom:0}.np-markdown p{margin:0 0 .55em}.np-markdown h1,.np-markdown h2,.np-markdown h3,.np-markdown h4{color:var(--text);margin:.85em 0 .4em;font-weight:600;line-height:1.35}.np-markdown h1{border-bottom:1px solid #ffffff14;padding-bottom:4px;font-size:1rem}.np-markdown h2{border-left:3px solid var(--accent);padding-left:8px;font-size:.92rem}.np-markdown h3{color:var(--text-2);font-size:.82rem}.np-markdown h4{color:var(--muted);font-size:.76rem}.np-markdown strong{color:var(--text);font-weight:700}.np-markdown em{color:var(--text);font-style:italic}.np-markdown ul,.np-markdown ol{margin:.4em 0 .6em;padding-left:1.4em}.np-markdown li{margin:.18em 0}.np-markdown li>p{margin:.2em 0}.np-markdown code{color:#f5d491;background:#ffffff12;border:1px solid #ffffff14;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}.np-markdown pre{background:#0006;border:1px solid #ffffff0f;border-radius:6px;margin:.55em 0;padding:9px 11px;font-size:.72rem;line-height:1.55;overflow-x:auto}.np-markdown pre code{color:var(--text);font-size:inherit;background:0 0;border:none;padding:0}.np-markdown blockquote{color:var(--muted);background:#6366f10d;border-left:3px solid #6366f173;border-radius:0 5px 5px 0;margin:.55em 0;padding:4px 10px}.np-markdown blockquote>:first-child{margin-top:0}.np-markdown blockquote>:last-child{margin-bottom:0}.np-markdown hr{border:none;border-top:1px solid #ffffff14;margin:.85em 0}.np-markdown table{border-collapse:collapse;width:100%;max-width:100%;margin:.55em 0;font-size:.72rem;display:block;overflow-x:auto}.np-markdown th,.np-markdown td{text-align:left;vertical-align:top;border:1px solid #ffffff1a;padding:5px 8px}.np-markdown th{color:var(--text);background:#6366f124;font-weight:600}.np-markdown tr:nth-child(2n) td{background:#ffffff06}.np-markdown img{border:1px solid #ffffff14;border-radius:5px;max-width:100%;height:auto;margin:.45em 0;display:block}.np-markdown a{color:var(--accent);border-bottom:1px dashed #6366f180;text-decoration:none;transition:border-bottom-style .12s,color .12s}.np-markdown a:hover{color:#c7d2fe;border-bottom-style:solid}.np-markdown input[type=checkbox]{appearance:none;border:1px solid var(--accent);vertical-align:-1px;cursor:default;background:#6366f114;border-radius:3px;width:12px;height:12px;margin-right:6px;position:relative;top:1px}.np-markdown input[type=checkbox]:checked{background:var(--accent)}.np-markdown input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:7px;position:absolute;top:0;left:3px;transform:rotate(45deg)}}@layer bottom-sheet{.bottom-sheet{z-index:50;-webkit-backdrop-filter:blur(32px)saturate(180%);padding:0 0 max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:none;will-change:transform;max-height:90dvh;transform:translateY(var(--sheet-offset,100dvh));background:#0c1222e0;border-radius:22px 22px 0 0;flex-direction:column;gap:0;transition:transform .38s cubic-bezier(.32,.72,0,1);display:none;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -10px 40px #00000059,inset 0 0 0 1px #ffffff0a}.bottom-sheet.open{transform:translateY(0)}.bs-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;padding:12px 0 2px;display:flex}.bs-drag-handle:active{cursor:grabbing}.bs-drag-handle__bar{background:#ffffff2e;border-radius:2px;width:36px;height:4px;transition:background .15s}.bs-drag-handle:active .bs-drag-handle__bar{background:#fff6}.bs-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:0 16px;overflow-y:auto}#sheet-backdrop{z-index:49;pointer-events:none;opacity:0;background:#00000073;transition:opacity .38s cubic-bezier(.32,.72,0,1);display:none;position:fixed;inset:0}#sheet-backdrop.visible{opacity:1;pointer-events:auto}#sheet-peek-tab{z-index:48;-webkit-backdrop-filter:blur(20px)saturate(180%);cursor:pointer;pointer-events:none;opacity:0;background:#0c1222bf;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .38s cubic-bezier(.32,.72,0,1),transform .38s cubic-bezier(.32,.72,0,1);display:none;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0006}#sheet-peek-tab.visible{opacity:1;pointer-events:auto}#sheet-peek-tab:active{transform:translate(-50%)scale(.92)}#sheet-expand-bar{cursor:pointer;width:calc(100% - 24px);color:var(--text-2);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;margin:0 12px;padding:8px 16px;transition:background .15s,color .15s,transform .12s;display:flex}#sheet-expand-bar:active{color:var(--accent);background:#6366f11f;transform:scale(.98)}#sheet-expand-bar svg{width:14px;height:14px;color:var(--muted);transition:color .15s,transform .32s cubic-bezier(.34,1.4,.64,1)}#sheet-expand-bar:active svg{color:var(--accent)}#sheet-expand-bar.sheet-open svg{transform:rotate(180deg)}#sheet-close-bar{-webkit-backdrop-filter:blur(24px)saturate(200%);cursor:pointer;height:32px;color:var(--text-2);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:50;background:#0c1222f2;border-radius:0 0 22px 22px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 40px #0000008c,inset 0 0 0 1px #ffffff0d}#sheet-close-bar:active{color:var(--accent);background:#6366f11f}#sheet-close-bar svg{width:16px;height:16px;color:var(--muted);transition:color .15s}#sheet-close-bar:active svg{color:var(--accent)}#bottom-sheet{pointer-events:none;z-index:50;max-height:calc(88dvh - env(safe-area-inset-bottom,0px));touch-action:none;padding:0 16px max(16px, env(safe-area-inset-bottom));background-color:#0c1222f7;border-radius:22px 22px 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.34,1.4,.64,1),opacity .32s;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -10px 40px #00000080,inset 0 0 0 1px #ffffff0f}#bottom-sheet.open{pointer-events:auto;transform:translateY(0)}.bs-quick-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.bs-quick-btn{color:var(--text-2);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;display:flex}.bs-quick-btn:hover{border-color:var(--border-hi);color:var(--text);background:#ffffff12}.bs-quick-btn:active{border-color:var(--border-hi);color:var(--text);background:#ffffff17}.bs-quick-btn svg{width:15px;height:15px;color:var(--text-2);transition:color .14s}.bs-quick-btn:hover svg{color:var(--text)}.bs-quick-btn.active{color:var(--accent);background:#6366f12e;border-color:#6366f166;box-shadow:0 0 12px #6366f140}.bs-quick-btn.active svg{color:var(--accent)}.bs-stats-row{border:1px solid var(--border);border-radius:10px;display:flex;overflow:hidden}.bs-stat{border:none;border-right:1px solid var(--border);background:#ffffff05;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;display:flex}.bs-stat:last-child{border-right:none}.bs-stat__val{color:var(--text);letter-spacing:-.02em;font-family:SF Mono,Fira Code,monospace;font-size:.95rem;font-weight:700;line-height:1}.bs-stat__val--accent{color:var(--accent)}.bs-stat__val--cyan{color:var(--accent2)}.bs-stat__val--amber{color:var(--yellow)}.bs-stat__label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.58rem;font-weight:700}.bs-section+.bs-section{margin-top:6px}.bs-section{flex-direction:column;gap:8px;display:flex}.bs-section__label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.62rem;font-weight:700}.bs-section:has(.bs-layout-grid){padding-bottom:4px}.bs-chips{flex-wrap:wrap;gap:6px;display:flex}.bs-chip{border:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;font-size:.72rem;font-weight:500;transition:background .14s,border-color .14s,color .14s;display:flex}.bs-chip:active:not(.active){border-color:var(--accent);color:var(--accent);background:#6366f126}.bs-chip.active{color:var(--accent);background:#6366f12e;border-color:#6366f166;box-shadow:0 0 12px #6366f140}.bs-chip__dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.bs-chip__swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.bs-chip__shape{flex-shrink:0;justify-content:center;align-items:center;display:flex}.bs-chip__shape.shape-ellipse{border-radius:50%;width:12px;height:12px}.bs-chip__shape.shape-rectangle{border-radius:2px;width:12px;height:12px}.bs-chip__shape.shape-round-rectangle{border-radius:4px;width:12px;height:12px}.bs-chip__shape.shape-diamond{width:10px;height:10px;transform:rotate(45deg)}.bs-chip__shape.shape-triangle{clip-path:polygon(50% 0%,100% 85%,0% 85%);width:12px;height:12px}.bs-chip__shape.shape-pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);width:12px;height:12px}.bs-chip__shape.shape-octagon{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);width:12px;height:12px}.bs-chip__shape.shape-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:12px;height:12px}.bs-chip__shape.shape-tag{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);width:14px;height:12px}.bs-chip__shape.shape-round-tag{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);border-radius:3px 5px 5px 3px;width:14px;height:12px}.bs-chip__shape.shape-round-triangle{clip-path:polygon(50% 0%,100% 85%,0% 85%);border-radius:3px;width:12px;height:12px}.bs-chip__shape.shape-bottom-round-rectangle{clip-path:polygon(0 0,100% 0,100% 70%,85% 100%,15% 100%,0 70%);width:12px;height:12px}.bs-chip__shape.shape-cut-rectangle{clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,0 100%);width:12px;height:12px}.bs-chip__shape.shape-barrel{clip-path:polygon(15% 0%,85% 0%,100% 50%,85% 100%,15% 100%,0% 50%);width:12px;height:12px}.bs-chip__shape.shape-rhomboid{clip-path:polygon(25% 0%,100% 0%,75% 100%,0% 100%);width:12px;height:12px}.bs-chip__shape.shape-right-rhomboid{clip-path:polygon(0% 0%,75% 0%,100% 100%,25% 100%);width:12px;height:12px}.bs-chip__shape.shape-round-diamond{border-radius:3px;width:10px;height:10px;transform:rotate(45deg)}.bs-chip__shape.shape-round-pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);border-radius:3px;width:12px;height:12px}.bs-chip__shape.shape-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);width:12px;height:12px}.bs-chip__shape.shape-round-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);border-radius:4px;width:12px;height:12px}.bs-chip__shape.shape-concave-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,85% 100%,15% 100%,0% 50%);width:12px;height:12px}.bs-chip__shape.shape-heptagon{clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%);width:12px;height:12px}.bs-chip__shape.shape-round-heptagon{clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%);border-radius:3px;width:12px;height:12px}.bs-chip__shape.shape-round-octagon{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);border-radius:3px;width:12px;height:12px}.bs-chip__shape.shape-vee{clip-path:polygon(50% 60%,100% 0%,100% 100%,50% 100%,0% 100%,0% 0%);width:12px;height:12px}.bs-chip__dot--cat{border:1px solid #fff3;border-radius:50%}.bs-chip__edge-line{vertical-align:middle;border-radius:2px;flex-shrink:0;width:18px;height:0;display:inline-block}.bs-chip--edge{align-items:center;gap:6px;display:inline-flex}.bs-layout-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.bs-layout-btn{border:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center;background:#ffffff08;border-radius:10px;padding:7px 4px;font-family:inherit;font-size:.68rem;font-weight:600;transition:background .14s,border-color .14s,color .14s}.bs-layout-btn.active{color:var(--accent);background:#6366f12e;border-color:#6366f166;box-shadow:0 0 12px #6366f140}.bs-layout-btn:active:not(.active){color:var(--accent);background:#6366f11a;border-color:#6366f166}.bs-params-block{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.bs-params-toggle{width:100%;color:var(--text-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff05;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-family:inherit;font-size:.72rem;font-weight:600;transition:background .14s,color .14s;display:flex}.bs-params-toggle:active{color:var(--accent);background:#6366f114}.bs-params-toggle__arrow{width:14px;height:14px;color:var(--muted);flex-shrink:0;transition:transform .2s}.bs-params-block.open .bs-params-toggle__arrow{transform:rotate(90deg)}.bs-params-body{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:10px 14px 12px;display:flex}.bs-layout-params{flex-direction:column;gap:8px;display:flex}.bs-param-row{flex-direction:column;gap:3px;display:flex}.bs-param-label{color:var(--muted);justify-content:space-between;align-items:center;font-size:.68rem;font-weight:500;display:flex}.bs-param-label__val{color:var(--text-2);border:1px solid var(--border);text-align:right;background:#ffffff0d;border-radius:4px;min-width:40px;padding:1px 6px;font-family:SF Mono,Fira Code,monospace;font-size:.64rem;font-weight:600}.bs-param-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.bs-param-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:15px;height:15px;transition:transform .1s;box-shadow:0 0 6px #6366f166}.bs-param-slider:active::-webkit-slider-thumb{transform:scale(1.2)}.bs-apply-btn{color:#c4b5fde6;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#6366f124;border:1px solid #6366f173;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 28px);margin:0 14px 12px;padding:8px 16px;font-family:inherit;font-size:.72rem;font-weight:600;transition:background .14s,border-color .14s,transform .14s;display:flex}.bs-apply-btn:active{background:#6366f147;transform:scale(.98)}.bs-apply-btn svg{width:13px;height:13px}.bs-params-actions{align-items:center;gap:8px;margin:0 14px 12px;display:flex}.bs-params-actions .bs-apply-btn{flex:auto;width:auto;margin:0}.bs-reset-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:color .14s,border-color .14s,background .14s;display:flex}.bs-reset-btn:hover{color:var(--text);border-color:var(--border-hi);background:#ffffff0a}.bs-reset-btn:active{transform:scale(.94)}#fab{background:linear-gradient(135deg, var(--accent), var(--accent2));cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;display:none;box-shadow:0 4px 16px #6366f166,0 8px 24px #0006}#fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #6366f180,0 10px 30px #00000080}#fab:active{transform:scale(.95)}#fab svg{color:#fff;width:22px;height:22px}#fab.active{border-radius:50%}#fab.active svg line{transition:transform .2s,opacity .2s}#fab.active svg line:first-child{transform:translateY(6px)rotate(45deg)}#fab.active svg line:nth-child(2){opacity:0}#fab.active svg line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.bs-mobile-search{border:1px solid var(--border);background:#ffffff0f;border-radius:8px;align-items:center;margin:10px 16px 12px;display:flex;position:relative}.bs-mobile-search__icon{width:15px;height:15px;color:var(--muted);pointer-events:none;flex-shrink:0;position:absolute;left:10px}.bs-mobile-search__input{border-radius:inherit;width:100%;height:36px;color:var(--text);background:0 0;border:none;outline:none;padding:0 12px 0 34px;font-family:inherit;font-size:.8rem}.bs-mobile-search__input::placeholder{color:var(--muted)}@media (width<=768px){#sidebar{display:none}#main{grid-template-columns:minmax(0,1fr)}.topbar,#app.sheet-open{z-index:60}.toolbar,#sheet-expand-bar,#sheet-close-bar{display:none}.bottom-sheet,#bottom-sheet{display:flex}#sheet-backdrop{pointer-events:none;display:block}#sheet-backdrop.visible{pointer-events:auto}#sheet-peek-tab,.bs-params-block{display:flex}.bottom-sheet{border-radius:22px 22px 0 0}.bs-mobile-search{display:flex}.topbar{height:auto;min-height:48px;padding:0 12px}.topbar__logo{gap:6px;padding:0 10px 0 0}.topbar__logo-mark{border-radius:7px;width:28px;height:28px}.topbar__logo-mark svg{width:18px;height:18px}.topbar__brand{flex-shrink:0;max-width:135px;overflow:hidden}.topbar__brand-name{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;white-space:nowrap;letter-spacing:0;font-size:clamp(.72rem,28vw - 29.4px,.92rem)}.topbar__brand-sub,.topbar__search-center{display:none}.topbar__badge{flex-shrink:0;gap:4px;margin-left:auto;margin-right:4px;padding:4px 8px 4px 6px}.topbar__badge-dot{width:6px;height:6px}.badge-by{font-size:.6rem}.badge-meow,#carousel-text{font-size:.64rem}}}@layer tour{:root{--tour-accent:#818cf8;--tour-accent-2:#a78bfa}@keyframes tourStatusIn{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tourMobIn{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.tour-state--running .tour-state-target,.tour-state--paused .tour-state-target{display:flex}@media (width<=640px){#tour-dt{display:none}}@media (width>=641px){.tour-state--running .tour-mob,.tour-state--paused .tour-mob{display:none}.tour-dt:not(#tour-dt){display:none!important}}.tour-state--idle #tour-badge-play,.tour-state--idle #tour-badge-play-dt,.tour-state--idle #tour-badge-play-dt2,.tour-state--idle #tour-badge-play-mob2,.tour-state--idle #tour-icon-play,.tour-state--idle #bs-tour-icon-play{display:inline-flex}.tour-state--idle #tour-badge-pause,.tour-state--idle #tour-badge-pause-dt,.tour-state--idle #tour-badge-pause-dt2,.tour-state--idle #tour-badge-pause-mob2,.tour-state--idle #tour-icon-stop,.tour-state--idle #bs-tour-icon-stop,.tour-state--running #tour-badge-play,.tour-state--running #tour-badge-play-dt,.tour-state--running #tour-badge-play-dt2,.tour-state--running #tour-badge-play-mob2,.tour-state--running #tour-icon-play,.tour-state--running #bs-tour-icon-play{display:none}.tour-state--running #tour-badge-pause,.tour-state--running #tour-badge-pause-dt,.tour-state--running #tour-badge-pause-dt2,.tour-state--running #tour-badge-pause-mob2,.tour-state--running #tour-icon-stop,.tour-state--running #bs-tour-icon-stop,.tour-state--paused #tour-badge-play,.tour-state--paused #tour-badge-play-dt,.tour-state--paused #tour-badge-play-dt2,.tour-state--paused #tour-badge-play-mob2,.tour-state--paused #tour-icon-play,.tour-state--paused #bs-tour-icon-play{display:inline-flex}.tour-state--paused #tour-badge-pause,.tour-state--paused #tour-badge-pause-dt,.tour-state--paused #tour-badge-pause-dt2,.tour-state--paused #tour-badge-pause-mob2,.tour-state--paused #tour-icon-stop,.tour-state--paused #bs-tour-icon-stop{display:none}.tour-state--idle .tour-mob__badge{background:#6366f12e;border-color:#6366f166}.tour-state--running .tour-mob__badge,.tour-state--paused .tour-mob__badge{background:#a855f72e;border-color:#a855f766}.tour-state--idle .tour-dt__dot{box-shadow:none;background:#94a3b880;animation:none}.tour-state--running .tour-dt__dot{background:var(--tour-accent);box-shadow:0 0 6px var(--tour-accent);animation:2s ease-in-out infinite dot-pulse}.tour-state--paused .tour-dt__dot{background:#fbbf24;animation:none;box-shadow:0 0 6px #fbbf24}.tour-state--running #btn-tour,.tour-state--paused #btn-tour,.tour-state--running #bs-btn-tour,.tour-state--paused #bs-btn-tour{color:var(--accent);background:#6366f12e;border-color:#6366f173}.tour-dt{z-index:900;white-space:nowrap;touch-action:none;background:#1a1f35;border:1px solid #6366f140;border-radius:14px;align-items:center;gap:0;min-width:0;height:44px;padding:6px 10px;animation:.25s cubic-bezier(.34,1.4,.64,1) tourStatusIn;display:none;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 20px #00000073,inset 0 1px #ffffff0f}@media (width<=640px){.tour-dt{display:none}}.tour-dt__status{flex-shrink:0;align-items:center;gap:6px;padding-right:4px;display:flex}.tour-dt__dot{background:var(--tour-accent);width:7px;height:7px;box-shadow:0 0 6px var(--tour-accent);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite dot-pulse}.tour-dt__dot.paused{background:#fbbf24;animation:none;box-shadow:0 0 6px #fbbf24}.tour-dt__dot.stopped{box-shadow:none;background:#94a3b880;animation:none}.tour-dt__label{text-transform:uppercase;letter-spacing:.1em;color:var(--tour-accent);font-size:.65rem;font-weight:700}.tour-dt__node{flex-shrink:0;align-items:center;gap:5px;width:120px;min-width:120px;max-width:120px;padding:0 4px;display:flex}.tour-dt__node-icon{width:15px;height:15px;stroke:var(--tour-accent);flex-shrink:0}.tour-dt__node-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;transition:opacity .2s;overflow:hidden}.tour-dt__sep{background:#ffffff14;flex-shrink:0;width:1px;height:20px;margin:0 8px}.tour-dt__stats{flex-shrink:0;align-items:center;gap:10px;display:flex}.tour-dt__stat{align-items:center;gap:4px;font-size:.68rem;display:flex}.tour-dt__stat svg{stroke:currentColor;flex-shrink:0;width:14px;height:14px}.tour-dt__stat-label{color:#e2e8f08c}.tour-dt__stat-val{color:#e2e8f0e6;font-variant-numeric:tabular-nums;font-weight:700}.tour-dt__progress{flex:1;align-items:center;gap:6px;min-width:80px;max-width:200px;display:flex}.tour-dt__progress-track{background:#ffffff14;border-radius:2px;flex:1;height:3px;position:relative;overflow:visible}.tour-dt__progress-fill{background:linear-gradient(90deg, var(--tour-accent), var(--tour-accent-2));border-radius:2px;width:0%;height:100%;transition:width .3s}.tour-dt__progress-marker{width:8px;height:8px;box-shadow:0 0 0 2px var(--tour-accent), 0 0 6px #6366f199;pointer-events:none;background:#fff;border-radius:50%;transition:left .3s;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.tour-state--idle .tour-dt__progress-marker{display:none}.tour-dt__progress-label{color:#e2e8f08c;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.6rem}.tour-dt__params{flex-shrink:0;align-items:center;gap:5px;display:flex}.tour-dt__param-label{color:#e2e8f08c;white-space:nowrap;align-items:center;gap:3px;font-size:.6rem;display:flex}.tour-dt__param-label svg{stroke:currentColor;flex-shrink:0;width:12px;height:12px}.tour-dt__range{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:60px;height:3px}.tour-dt__range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--tour-accent);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;transition:transform .1s;box-shadow:0 0 6px #6366f180}.tour-dt__range::-webkit-slider-thumb:hover{transform:scale(1.2)}.tour-dt__range::-moz-range-thumb{background:var(--tour-accent);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;box-shadow:0 0 6px #6366f180}.tour-dt__param-val{color:#e2e8f08c;font-variant-numeric:tabular-nums;min-width:20px;font-size:.6rem}.tour-dt__strategy{flex-shrink:0;align-items:center;gap:5px;display:flex}.tour-dt__select{color:#e2e8f0e6;cursor:pointer;appearance:none;letter-spacing:.01em;background:#6366f114 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23818cf8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 5px center no-repeat;border:1px solid #6366f14d;border-radius:8px;outline:none;width:92px;height:24px;padding:3px 20px 3px 7px;font-family:inherit;font-size:.62rem;font-weight:600;transition:border-color .15s,background-color .15s,box-shadow .15s,color .15s}.tour-dt__select:hover{color:#c4b5fd;background-color:#6366f126;border-color:#6366f199}.tour-dt__select:focus{border-color:var(--tour-accent);background-color:#6366f126;box-shadow:0 0 0 2px #6366f140}.tour-dt__select option{color:#e2e8f0e6;background:#1e2340}@keyframes strategyFlash{0%{color:#6ee7b7;background-color:#34d3991f;border-color:#34d399;box-shadow:0 0 0 2px #34d39959}60%{color:#6ee7b7;background-color:#34d39914;border-color:#34d399;box-shadow:0 0 0 2px #34d39933}to{box-shadow:none;color:#e2e8f0e6;background-color:#6366f114;border-color:#6366f14d}}.tour-dt__select.strategy-switched{animation:.6s ease-out forwards strategyFlash}.tour-dt__ctrl{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.tour-dt__btn{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 8px;font-family:inherit;font-size:.7rem;font-weight:500;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform .1s;display:flex;position:relative;overflow:hidden}.tour-dt__btn:after{content:"";background:linear-gradient(135deg, var(--accent), var(--accent2));opacity:0;transition:opacity .14s;position:absolute;inset:0}.tour-dt__btn:hover:after{opacity:.12}.tour-dt__btn:active:after{opacity:.2;transform:scale(.97)}.tour-dt__btn>*{z-index:1;position:relative}.tour-dt__btn:hover{border-color:var(--border-hi);color:var(--text);background:#ffffff12}.tour-dt__btn:active{transform:scale(.96);box-shadow:0 0 0 2px #6366f14d}.tour-dt__btn--prev,.tour-dt__btn--next{background:#ffffff0d;border-color:#ffffff1a;padding:5px 7px}.tour-dt__btn--prev:hover,.tour-dt__btn--next:hover{color:#a78bfa;background:#6366f11f;border-color:#6366f159}.tour-dt__btn--play{color:#a78bfa;background:#6366f126;border-color:#6366f166}.tour-dt__btn--play:hover{border-color:var(--tour-accent);background:#6366f133;box-shadow:0 0 12px #6366f140}.tour-dt__btn--play.active{border-color:var(--tour-accent);background:#6366f140;box-shadow:0 0 12px #6366f166,0 0 0 2px #6366f133}.tour-dt__btn--close:hover{color:#f87171;background:#ef44441a;border-color:#ef44714d}.tour-dt__btn svg{flex-shrink:0;width:14px;height:14px}.tour-mob{display:none}@media (width>=641px){.tour-mob{display:none}}@media (width<=640px){.tour-mob.tour-visible{display:flex}.tour-mob{z-index:900;touch-action:none;-webkit-user-select:none;user-select:none;background:#1a1f35;border:1px solid #6366f140;border-radius:16px;flex-direction:column;position:fixed;inset:72px auto auto 12px;overflow:visible;box-shadow:0 4px 24px #00000080,0 0 0 1px #6366f11f}.tour-mob__handle{cursor:pointer;color:#94a3b880;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;transition:color .15s,background .15s;display:flex}.tour-mob__handle:hover{color:#e2e8f0cc;background:#ffffff0a}.tour-mob__chev{pointer-events:none;flex-shrink:0;transition:transform .28s cubic-bezier(.34,1.4,.64,1),color .15s}.tour-mob__chev.collapsed{transform:rotate(180deg)}.tour-mob__handle:hover .tour-mob__chev{color:#e2e8f0cc}.tour-mob.collapsed .tour-mob__inner{display:none}.tour-mob.collapsed{min-height:unset;border-radius:24px;padding:0}.tour-mob__inner{flex-direction:column;align-items:stretch;gap:8px;height:auto;max-height:calc(100vh - 180px);padding:4px 12px 12px;transition:opacity .2s;display:flex;overflow-y:auto}.tour-mob__inner::-webkit-scrollbar{width:3px}.tour-mob__inner::-webkit-scrollbar-track{background:0 0}.tour-mob__inner::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.tour-mob__ctrl{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:2px 0 4px;display:flex}.tour-mob__close{color:#f87171;cursor:pointer;background:#ef44711a;border:1px solid #ef44714d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 10px;font-family:inherit;font-size:.68rem;font-weight:500;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.tour-mob__close:after{content:"";opacity:0;background:#ef447133;transition:opacity .14s;position:absolute;inset:0}.tour-mob__close:hover:after{opacity:1}.tour-mob__close:active{transform:scale(.96);box-shadow:0 0 0 2px #ef44714d}.tour-mob__close>*{z-index:1;position:relative}.tour-mob__close:hover{border-color:#ef447180;box-shadow:0 0 10px #ef447133}.tour-mob__close svg{stroke:currentColor;width:13px;height:13px}.tour-mob__badge{color:#a78bfa;cursor:pointer;background:#6366f11f;border:1px solid #6366f14d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 10px;font-family:inherit;font-size:.68rem;font-weight:500;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.tour-mob__badge:after{content:"";background:linear-gradient(135deg, var(--accent), var(--accent2));opacity:0;transition:opacity .14s;position:absolute;inset:0}.tour-mob__badge:hover:after{opacity:.12}.tour-mob__badge:active{transform:scale(.96);box-shadow:0 0 0 2px #6366f14d}.tour-mob__badge>*{z-index:1;position:relative}.tour-mob__badge:hover{color:var(--accent);background:#6366f133;border-color:#6366f180;box-shadow:0 0 10px #6366f133}.tour-mob__badge.tour-active{box-shadow:0 0 12px #6366f166;border-color:var(--tour-accent)!important;color:var(--tour-accent)!important;background:#6366f140!important}.tour-mob__badge svg{stroke:currentColor;width:14px;height:14px}.tour-mob__badge--prev,.tour-mob__badge--next{color:#a78bfab3;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:4px 8px;font-family:inherit;font-size:.68rem;font-weight:500;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;position:relative;overflow:hidden}.tour-mob__badge--prev:after,.tour-mob__badge--next:after{content:"";background:linear-gradient(135deg, var(--accent), var(--accent2));opacity:0;transition:opacity .14s;position:absolute;inset:0}.tour-mob__badge--prev:hover,.tour-mob__badge--next:hover{color:#a78bfa;background:#6366f126;border-color:#6366f166}.tour-mob__badge--prev:active,.tour-mob__badge--next:active{transform:scale(.96)}.tour-mob__badge--prev>*,.tour-mob__badge--next>*{z-index:1;position:relative}.tour-mob__strategy{flex-direction:column;align-items:center;gap:3px;padding:2px 0;display:flex}.tour-mob__strategy-toggle{color:#e2e8f0d9;cursor:pointer;background:#ffffff0f;border:1px solid #6366f140;border-radius:6px;outline:none;justify-content:center;align-items:center;min-width:32px;height:22px;padding:0 6px;font-family:inherit;font-size:.6rem;font-weight:600;line-height:1;transition:transform 80ms,border-color .15s,background .15s;display:inline-flex}.tour-mob__strategy-toggle:active{transform:scale(.96)}.tour-mob__strategy-toggle.strategy-switched{background:#6366f12e;border-color:#6366f1d9}.tour-mob__strategy-label{color:#e2e8f08c;white-space:nowrap;font-size:.48rem}.tour-mob__stats{flex-direction:column;align-items:center;gap:6px;padding:4px 0;display:flex}.tour-mob__stat-item{flex-direction:column;align-items:center;gap:1px;display:flex}.tour-mob__stat-num{color:#e2e8f0e6;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600;line-height:1}.tour-mob__stat-item svg{stroke:currentColor;color:#e2e8f08c;flex-shrink:0;width:11px;height:11px}.tour-mob__stat-lbl{color:#e2e8f047;-webkit-user-select:none;user-select:none;letter-spacing:.02em;font-size:.48rem}.tour-mob__sliders{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;display:flex}.tour-mob__cell{flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.tour-mob__val{color:#a78bfae6;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.65rem;font-weight:600;line-height:1}.tour-mob__lbl{color:#e2e8f047;-webkit-user-select:none;user-select:none;letter-spacing:.02em;font-size:.48rem}.tour-mob__track{background:#ffffff14;border-radius:3px;flex-direction:column;justify-content:flex-end;width:6px;height:56px;display:flex;position:relative;overflow:visible}.tour-mob__fill{background:linear-gradient(#a78bfa,#6366f1);border-radius:3px;width:100%;height:0%;transition:height 80ms;position:absolute;bottom:0;left:0;box-shadow:0 0 6px #6366f199}.tour-mob__range{transform-origin:50%;appearance:none;cursor:pointer;background:0 0;width:56px;height:20px;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)rotate(-90deg)}.tour-mob__range::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #6366f1e6,0 1px 4px #0006}.tour-mob__range::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #6366f1e6}}}@layer tour-mobile;@layer bigscreen{html.bigscreen,html.bigscreen body{background:#000}html.bigscreen #main{grid-template-columns:minmax(0,1fr) 0;height:100vh}html.bigscreen #app:after{opacity:1;background:radial-gradient(120% 80% at 12% -5%,#818cf859 0%,#0000 65%),radial-gradient(100% 70% at 88% 95%,#06b6d447 0%,#0000 60%)}html.bigscreen .topbar,html.bigscreen .toolbar,html.bigscreen #sidebar-strip,html.bigscreen #tour-dt,html.bigscreen #zoom-indicator{display:none!important}html.bigscreen .node-panel{z-index:40}.bigscreen-hint{-webkit-backdrop-filter:blur(12px);color:#ffffffbf;pointer-events:none;opacity:0;z-index:200;white-space:nowrap;background:#0f1117e0;border:1px solid #ffffff1f;border-radius:999px;padding:8px 18px;font-size:.74rem;animation:1.5s ease-out .2s forwards bigscreen-hint-in;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}@keyframes bigscreen-hint-in{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-4px)}}}
