:root{--font-ui: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono: "SFMono-Regular", ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;--radius-s: 6px;--radius-m: 8px;--radius-l: 12px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);--shadow-2: 0 4px 16px rgba(15, 23, 42, .1), 0 2px 6px rgba(15, 23, 42, .06);--shadow-3: 0 16px 44px rgba(2, 6, 16, .2), 0 4px 12px rgba(2, 6, 16, .12);--danger: #dc2626;--toast-timing: .2s ease}[data-theme=dark]{color-scheme:dark;--canvas-bg: #0e1117;--grid-dot: #1f242c;--surface: #161b22;--surface-2: #1c2129;--surface-3: #232933;--border: #30363d;--border-soft: #21262d;--text: #f0f6fc;--text-muted: #8b949e;--text-faint: #6e7681;--accent: #99e151;--accent-hover: #aef76a;--accent-soft: rgba(153, 225, 81, .16);--accent-contrast: #1a2b06;--secondary: #99e151;--secondary-hover: #b1f36f;--secondary-soft: rgba(153, 225, 81, .18);--secondary-contrast: #1c2b06;--rel-functional: #38bdf8;--rel-structural: #a78bfa;--rel-associative: #fbbf24;--success: #34d399;--focus-ring: 0 0 0 3px rgba(153, 225, 81, .3);--scrim: rgba(1, 4, 9, .6);--toast-bg: #1c2129;--toast-text: #f0f6fc}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;font-family:var(--font-ui);font-size:14px;line-height:1.45;color:var(--text);background:var(--canvas-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[hidden]{display:none!important}button,input,textarea{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}kbd{display:inline-block;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);font-family:inherit;font-size:.85em;line-height:1.5;color:var(--text-muted)}#app{display:flex;flex-direction:column;height:100%}.topbar{flex:none;display:flex;align-items:center;gap:10px;height:54px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border-soft);z-index:120}body:not([data-view=canvas]) .canvas-only{display:none}.brand{display:flex;align-items:center;gap:9px;padding:0 4px;user-select:none}.brand-mark{width:30px;height:30px;flex:none;border-radius:7px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-size:15px;font-weight:750;letter-spacing:-.01em}.brand-text small{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.view-nav{display:flex;align-items:center;gap:2px;flex:none;padding:2px;background:var(--surface-2);border-radius:var(--radius-m)}.view-tab{height:30px;padding:0 11px;color:var(--text-muted);font-weight:600}.view-tab:hover{background:var(--surface-3)}.view-tab[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.view-tab[aria-pressed=true]:hover{background:var(--accent-hover)}.search-form{display:flex;align-items:center;gap:6px;flex:1 1 200px;min-width:150px;max-width:440px;height:36px;padding:0 5px 0 11px;background:var(--surface-2);border:1px solid transparent;border-radius:var(--radius-m);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.search-form:focus-within{background:var(--surface);border-color:var(--accent);box-shadow:var(--focus-ring)}.search-form .search-icon{color:var(--text-faint);flex:none}.search-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:13.5px}.search-form input::placeholder{color:var(--text-faint)}.search-form .btn{flex:none}.header-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.tool-cluster{display:flex;align-items:center;gap:4px}.topbar-sep{width:1px;height:22px;margin:0 4px;background:var(--border)}.icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-m);background:transparent;color:var(--text);font-size:13px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease,transform 60ms ease}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--accent-contrast)}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{border-color:var(--border);background:transparent}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn.small{height:26px;padding:0 9px;font-size:12px;border-radius:var(--radius-s)}.danger-ghost{color:var(--danger)}.danger-ghost:hover{background:#dc26261a}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-m);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:550;cursor:pointer;transition:background .13s ease,color .13s ease}.tool-btn:hover{background:var(--surface-2);color:var(--text)}.tool-btn[aria-pressed=true]:not(.view-tab){color:var(--accent);background:var(--accent-soft)}.tool-btn.icon{width:34px;padding:0}.tool-btn.small{height:27px;padding:0 9px;font-size:11.5px}.tool-btn:focus-visible,.btn:focus-visible,.icon-ghost:focus-visible,.chip:focus-visible,.dock-item-main:focus-visible,.lens-group-toggle:focus-visible,.lens-extra:focus-visible,.canvas-tools button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.dot-indicator{min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-pill);background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center}.popover-wrap{position:relative}.popover{position:absolute;top:calc(100% + 8px);right:0;min-width:264px;max-width:92vw;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-2);padding:6px;z-index:300;animation:pop-in .14s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}.popover.menu{min-width:232px}.popover.menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-m);background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}.popover.menu button:hover{background:var(--surface-2)}.popover-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 8px 9px;border-bottom:1px solid var(--border-soft)}.popover-head strong{font-size:13px}.popover-hint{font-size:10.5px;color:var(--text-faint)}.lens-groups{padding:4px 0 2px}.lens-group+.lens-group{margin-top:2px;border-top:1px solid var(--border-soft)}.lens-group-toggle{display:flex;flex-direction:column;gap:1px;width:100%;padding:7px 8px 4px;border:0;border-radius:var(--radius-m);background:transparent;text-align:left;cursor:pointer}.lens-group-toggle:hover{background:var(--surface-2)}.lens-group-name{font-size:12.5px;font-weight:650;color:var(--text)}.lens-group-meta{font-size:10.5px;color:var(--text-faint)}.lens-rels{display:grid;grid-template-columns:1fr 1fr;gap:1px 6px;padding:2px 4px 6px}.lens-rel{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-s);font-size:12px;color:var(--text-muted);cursor:pointer;user-select:none}.lens-rel:hover{background:var(--surface-2);color:var(--text)}.lens-rel input{accent-color:var(--accent);margin:0;cursor:pointer}.swatch{width:8px;height:8px;flex:none;border-radius:50%}.swatch-functional{background:var(--rel-functional)}.swatch-structural{background:var(--rel-structural)}.swatch-associative{background:var(--rel-associative)}.lens-extras{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 3px;border-top:1px solid var(--border-soft)}.lens-extra{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted);cursor:pointer}.lens-extra input{accent-color:var(--accent);margin:0;cursor:pointer}.canvas-row{flex:1;min-height:0;display:flex}.graph-shell{flex:1;min-width:0;position:relative;background:var(--canvas-bg)}.cy-container{position:absolute;inset:0;background-color:var(--canvas-bg);background-image:radial-gradient(var(--grid-dot) 1.1px,transparent 1.1px);background-size:26px 26px}.welcome{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;pointer-events:none;background:radial-gradient(720px 420px at 50% 42%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 70%)}.welcome.hidden{display:none}.welcome-card{pointer-events:auto;width:min(560px,94%);padding:30px 32px 26px;background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;box-shadow:var(--shadow-2)}.welcome-card h1{margin:0 0 8px;font-size:22px;font-weight:750;letter-spacing:-.02em}.welcome-card p{margin:0 0 14px;color:var(--text-muted);font-size:13.5px;line-height:1.6}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.chip{padding:6px 13px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:550;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.canvas-tools{position:absolute;left:14px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:6px}.canvas-tools button{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;box-shadow:var(--shadow-1);transition:background .12s ease,color .12s ease}.canvas-tools button:hover{background:var(--surface-2);color:var(--text)}.node-bar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:4px;padding:5px 7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-2);white-space:nowrap}.node-bar-label{max-width:230px;padding:0 8px;font-size:12.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis}.node-bar .icon-ghost{margin-left:2px}.node-bar-origin{padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:650;letter-spacing:.03em;text-transform:uppercase;cursor:help}.node-bar-origin[data-origin=wordnet]{border-color:var(--rel-structural);color:var(--rel-structural)}.node-bar-origin[data-origin=route]{border-color:var(--accent);color:var(--accent)}.node-bar-origin[data-origin=ai]{border-color:var(--rel-associative);color:var(--rel-associative)}.node-bar-note{max-width:210px;padding:2px 8px;border-left:2px solid var(--rel-associative);color:var(--text-muted);font-size:11.5px;font-style:italic;overflow:hidden;text-overflow:ellipsis}.node-bar-note[hidden]{display:none}#node-bar-note[aria-pressed=true]{border-color:var(--rel-associative);color:var(--rel-associative)}@media (max-width: 760px){.node-bar-origin,.node-bar-note{display:none}.node-bar-label{max-width:130px}}.ghost-layer{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.ghost-layer[hidden]{display:none}.ghost-lines{position:absolute;inset:0;pointer-events:none}.ghost-line{stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:1.2;stroke-dasharray:3 5;opacity:.55}.ghost-pills{position:absolute;inset:0;pointer-events:none}.ghost-pill{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;max-width:168px;padding:5px 11px 5px 7px;border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text-muted);font-family:inherit;font-size:11.5px;font-weight:550;white-space:nowrap;cursor:pointer;pointer-events:auto;opacity:.82;backdrop-filter:blur(2px);transition:opacity .14s ease,border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.ghost-pill:hover,.ghost-pill:focus-visible{opacity:1;border-style:solid;border-color:var(--accent);background:var(--surface);color:var(--text);transform:translate(-50%,-50%) scale(1.06);box-shadow:var(--shadow-1);outline:none}.ghost-plus{display:inline-grid;place-items:center;width:15px;height:15px;flex:0 0 15px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);font-size:11px;font-weight:700;line-height:1}.ghost-name{overflow:hidden;text-overflow:ellipsis}.note-editor{display:flex;flex-direction:column;gap:12px}.note-panes{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:240px}.note-pane{display:flex;flex-direction:column;gap:6px;min-width:0}.note-pane-title{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.note-input{flex:1;min-height:220px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:13px;line-height:1.6;resize:vertical}.note-input:focus{outline:none;border-color:var(--accent)}.note-preview{flex:1;min-height:220px;max-height:320px;overflow:auto;padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-m);background:var(--canvas-bg);font-size:13px;line-height:1.65}.note-preview>*:first-child{margin-top:0}.note-preview>*:last-child{margin-bottom:0}.note-preview h3,.note-preview h4,.note-preview h5,.note-preview h6{margin:12px 0 6px;font-size:13.5px;font-weight:700}.note-preview code{padding:1px 5px;border-radius:4px;background:var(--surface-2);font-size:12px}.note-preview pre{margin:8px 0;padding:9px 11px;overflow-x:auto;border-radius:var(--radius-m);background:var(--surface-2)}.note-preview pre code{padding:0;background:none}.note-preview blockquote{margin:8px 0;padding:2px 0 2px 11px;border-left:3px solid var(--accent);color:var(--text-muted)}.note-preview a{color:var(--accent)}.note-preview ul,.note-preview ol{margin:8px 0;padding-left:20px}.note-preview li{margin:3px 0}.note-empty{color:var(--text-muted);font-style:italic}.note-hint{margin:0;font-size:11.5px;line-height:1.6;color:var(--text-muted)}.note-actions{display:flex;align-items:center;gap:8px}.note-spacer{flex:1}@media (max-width: 700px){.note-panes{grid-template-columns:1fr;min-height:0}.note-input{min-height:150px}.note-preview{min-height:110px;max-height:190px}}.status-pill{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:50;max-width:min(560px,80vw);padding:6px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);color:var(--text-muted);font-size:12.5px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-ghost{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-faint);font-size:13px;cursor:pointer;transition:background .12s ease,color .12s ease}.icon-ghost:hover{background:var(--surface-2);color:var(--text)}.swap-btn{align-self:center;width:26px;height:24px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-faint);font-size:14px;cursor:pointer}.swap-btn:hover{background:var(--surface-2);color:var(--text)}.dock{flex:none;width:336px;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border-soft)}.dock.dock-hidden{display:none}.dock-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px 10px 16px;border-bottom:1px solid var(--border-soft)}.dock-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:700;letter-spacing:.01em}.count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:10.5px;font-weight:700;line-height:18px;text-align:center}.dock-header-actions{display:flex;align-items:center;gap:2px}.dock-body{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 12px}.dock-empty{margin:22px 12px;color:var(--text-faint);font-size:12.5px;line-height:1.7;text-align:center}.dock-list{margin:0;padding:0;list-style:none;counter-reset:dock}.dock-item{counter-increment:dock;position:relative;display:flex;align-items:center;gap:2px;padding:3px 4px 3px 30px;border-radius:10px;cursor:default}.dock-item:before{content:counter(dock);position:absolute;left:10px;top:10px;width:14px;font-size:10px;font-weight:700;color:var(--text-faint);text-align:center}.dock-item:hover{background:var(--surface-2)}.dock-item.dragging{opacity:.4}.dock-item.drop-target{box-shadow:inset 0 0 0 2px var(--accent);border-radius:10px}.dock-item-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:8px;padding:5px 4px;border:0;border-radius:var(--radius-m);background:transparent;text-align:left;cursor:pointer}.dock-item-main:hover{background:var(--surface-2)}.dock-dot{display:none}.dock-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.dock-label{font-size:13px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-preview{font-size:10.5px;color:var(--text-faint);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-preview-empty{font-style:italic}.dock-preview-missing{color:var(--rel-associative);font-style:italic}.dock-preview-note{color:var(--text-muted);font-style:italic;border-left:2px solid var(--rel-associative);padding-left:6px}.dock-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--text-faint);font-size:11px;cursor:pointer;opacity:0;transition:opacity .11s ease,background .11s ease,color .11s ease}.dock-item:hover .dock-remove,.dock-remove:focus-visible{opacity:1}.dock-remove:hover{background:#dc26261f;color:var(--danger)}.dock-footer{flex:none;padding:8px 10px;border-top:1px solid var(--border-soft)}.dock-footer .btn{width:100%}.app-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;height:34px;padding:0 16px;background:var(--surface);border-top:1px solid var(--border-soft);color:var(--text-faint);font-size:10.5px}.attribution{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-nav{display:flex;align-items:center;gap:10px;flex:none}.footer-nav button,.footer-nav a{padding:0;border:0;background:transparent;color:var(--text-faint);font-size:10.5px;cursor:pointer;text-decoration:none}.footer-nav button:hover,.footer-nav a:hover{color:var(--text);text-decoration:underline}.toast-root{position:fixed;left:16px;bottom:46px;z-index:400;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}.toast{padding:9px 13px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font-size:12.5px;line-height:1.45;box-shadow:var(--shadow-2);opacity:0;transform:translateY(6px);transition:opacity var(--toast-timing),transform var(--toast-timing)}.toast.in{opacity:1;transform:none}.toast-success{border-left-color:var(--success)}.toast-warn{border-left-color:var(--rel-associative)}.toast-error{border-left-color:var(--danger)}.modal-backdrop{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal{width:min(92vw,560px);max-height:min(82vh,720px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-3);overflow:hidden;animation:modal-in .17s cubic-bezier(.2,.9,.3,1.1)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-soft)}.modal-head h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.modal-body{padding:14px 18px 16px;overflow-y:auto;font-size:13px;line-height:1.65;color:var(--text-muted)}.modal-body h3{margin:16px 0 5px;font-size:13.5px;font-weight:700;color:var(--text)}.modal-body p{margin:6px 0}.modal-body ul{margin:6px 0 10px;padding-left:20px}.modal-body li{margin:4px 0}.modal-body a{color:var(--accent)}.modal-foot{flex:none;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border-soft)}.contact-form{display:flex;flex-direction:column;gap:12px;margin-top:10px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field>span{font-size:11px;font-weight:650;color:var(--text-muted)}.form-field input,.form-field textarea{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font-size:13px;font-family:inherit;resize:vertical;outline:0;transition:border-color .13s ease,box-shadow .13s ease,background .13s ease}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--focus-ring)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-faint)}.form-hint{margin:0;font-size:12px;color:var(--text-faint)}.form-actions{display:flex;justify-content:flex-end;gap:8px}canvas{outline:none;-webkit-tap-highlight-color:transparent}@media (max-width: 1280px){.search-form{flex-basis:170px;max-width:360px}}@media (max-width: 1180px){.dock{width:300px}}@media (max-width: 1080px){.tool-btn:not(.view-tab) span:not(.dot-indicator){display:none}.tool-btn:not(.view-tab):not(.small){width:34px;padding:0}.dock{width:296px}.search-form{flex-basis:150px;max-width:320px}}@media (max-width: 940px){.canvas-row{position:relative}.dock{position:absolute;top:0;right:0;bottom:0;z-index:90;width:min(320px,88vw);box-shadow:-12px 0 40px #0000002e}.brand-text{display:none}.view-tab{padding:0 9px}}@media (max-width: 900px){.topbar{flex-wrap:wrap;height:auto;min-height:54px;padding:8px 10px;gap:8px 10px}.brand,.view-nav{order:1}.header-actions{order:2;margin-left:auto}.search-form{order:3;flex:1 0 100%;max-width:none}}@media (max-width: 620px){.topbar{flex-wrap:nowrap;height:54px;gap:6px 8px;padding:7px 8px}.header-actions{gap:2px;min-width:0}.view-nav{gap:0;padding:0;background:transparent}.view-tab{gap:5px;padding:0 8px;font-size:11.5px}#btn-dock-toggle,.topbar-sep{display:none}.brand-mark{width:26px;height:26px}.search-form.canvas-only{position:fixed;top:60px;left:8px;right:92px;z-index:111;flex:none;width:auto;max-width:none;height:38px;border-color:var(--border-soft);box-shadow:var(--shadow-2)}.search-form .btn{padding:0 8px;font-size:12px}.tool-cluster.canvas-only{position:fixed;top:60px;right:8px;z-index:111;height:38px;gap:0;padding:0 2px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.tool-cluster.canvas-only .tool-btn{width:32px}.welcome{padding:16px}.welcome-card{padding:20px 18px}.welcome-card h1{font-size:18px}.node-bar{max-width:calc(100vw - 20px);padding:4px 6px}.node-bar-label{max-width:120px}.node-bar .btn.small{padding:0 7px;font-size:11.5px}.canvas-tools{left:10px;bottom:10px;gap:5px}.canvas-tools button{width:30px;height:30px}.status-pill{top:56px;font-size:11.5px;max-width:min(90vw,420px)}.app-footer{gap:8px;padding:0 10px;font-size:9.5px}.app-footer .footer-nav{display:none}.app-footer{justify-content:center}.modal-backdrop{padding:10px}.modal{width:min(96vw,560px);max-height:min(88vh,720px);border-radius:12px}.modal-head{padding:12px 14px}.modal-body{padding:12px 14px 14px}.modal-foot{padding:10px 14px}.paywall .pw-cols{grid-template-columns:1fr}.toast-root{left:10px;bottom:40px;right:10px;max-width:none}}@media (max-width: 400px){.topbar-sep{display:none}.welcome-card h1{font-size:16.5px}}@media (max-height: 640px){.welcome{display:block;overflow-y:auto;place-items:initial;padding:20px 16px}.welcome-card{margin:2vh auto}.modal{max-height:96vh}}@supports (padding: max(0px,env(safe-area-inset-left))){.topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.app-footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}.popover{max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain}.btn-pro,#btn-pro.btn-accent{background:var(--secondary);color:var(--secondary-contrast)}.btn-pro:hover,#btn-pro.btn-accent:hover{background:var(--secondary-hover)}#btn-pro .btn-pro-spark{font-size:12px}.tool-btn.locked{position:relative}.tool-btn.locked:after{content:"PRO";position:absolute;top:-3px;right:-3px;padding:0 4px;border-radius:var(--radius-pill);background:var(--secondary);color:var(--secondary-contrast);font-size:8px;font-weight:800;letter-spacing:.03em;line-height:14px;pointer-events:none}.paywall{display:flex;flex-direction:column;gap:14px}.pw-status{margin:0;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);font-size:12.5px;color:var(--text-muted)}.pw-lock-reason{margin:0;padding:9px 12px;border:1px solid var(--accent);border-left-width:3px;border-radius:var(--radius-m);background:var(--accent-soft);font-size:13px;color:var(--text)}.pw-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pw-col{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface-2)}.pw-col.pw-pro{border-color:var(--secondary);background:var(--secondary-soft)}.pw-col h3{margin:0 0 8px;font-size:14px;font-weight:750;color:var(--text)}.pw-col .pw-price{font-size:11px;font-weight:600;color:var(--text-muted)}.pw-col ul{margin:0;padding:0;list-style:none}.pw-col li{position:relative;padding-left:18px;margin:5px 0;font-size:12.5px;color:var(--text-muted)}.pw-col li:before{content:"";position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%}.pw-col li.on:before{background:var(--success)}.pw-col li.off:before{background:var(--border)}.pw-col li.off{color:var(--text-faint);text-decoration:line-through}.pw-cta{display:flex;flex-direction:column;align-items:center;gap:7px;padding-top:2px}.pw-cta .btn-lg{width:100%;height:40px;font-size:14.5px;font-weight:700}.pw-cta #pw-primary.btn-accent{background:var(--secondary);color:var(--secondary-contrast)}.pw-cta #pw-primary.btn-accent:hover:not(:disabled){background:var(--secondary-hover)}.pw-cta .btn-lg[hidden]{display:none}.pw-note{margin:0;font-size:11.5px;color:var(--text-faint);text-align:center}.pw-promo{margin:0;font-size:11px;color:var(--text-muted);text-align:center}.pw-activate{padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}.pw-activate-title{margin:0;font-size:12px;font-weight:700;color:var(--text);text-align:center}.pw-activate-form{display:flex;gap:6px}.pw-activate-form input{flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font-size:13px;outline:0}.pw-activate-form input:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--focus-ring)}.pw-activate-form .btn{flex:none}.pw-activate-note{margin:0;font-size:11px;color:var(--text-faint);text-align:center}@media (max-width: 520px){.pw-activate-form{flex-direction:column}}.pw-rows{display:flex;flex-direction:column;gap:6px}.pw-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px}.pw-row strong{flex:none;color:var(--text);font-weight:650}.pw-row span{color:var(--text-muted);text-align:right}.pw-secure{margin:0;padding-top:10px;border-top:1px solid var(--border-soft);font-size:11px;color:var(--text-faint);text-align:center}.pw-account-host{display:none}.paywall:has(.pw-account) .pw-account-host{display:block}.pw-account{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);flex-wrap:wrap}.pw-avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--secondary-soft) center/cover no-repeat;background-image:none;position:relative}.pw-avatar:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--secondary);opacity:.35}.pw-avatar[style]:after{display:none}.pw-account-meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.pw-account-meta strong{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pw-account-meta small{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 560px){.pw-cols{grid-template-columns:1fr}}.km-root{position:absolute;inset:0;overflow:hidden;background:radial-gradient(1200px 700px at 50% -10%,rgba(88,74,160,.22),transparent 60%),radial-gradient(900px 600px at 85% 110%,rgba(0,120,190,.16),transparent 55%),#05040c}.km-chrome{position:absolute;z-index:10;display:flex;flex-direction:column;gap:10px}.km-top-left{top:14px;left:14px;width:min(330px,calc(100vw - 28px));max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;padding:2px 2px 6px;margin:-2px -2px -6px}.km-top-left::-webkit-scrollbar{width:8px}.km-top-left::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.km-top-left::-webkit-scrollbar-track{background:transparent}.atlas-panel-toggle{flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#0a0916d1;color:#d7def2;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 30px #00000073;transition:background .14s ease,border-color .14s ease,color .14s ease}.atlas-panel-toggle:hover,.atlas-panel-toggle:focus-visible{background:#141226e6;border-color:#00d9ff73;color:#fff;outline:none}.atlas-panel-toggle[hidden]{display:none}.km-card{padding:12px 14px;border-radius:14px;background:#0a0916d1;border:1px solid rgba(255,255,255,.09);box-shadow:0 8px 30px #00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.km-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.km-card-head h2{margin:0;font-size:14.5px;font-weight:750;letter-spacing:.01em;color:#eef1fb}.km-card-head .icon-ghost{color:#9aa3c0}.km-card-actions{display:flex;gap:6px}.km-subhead{margin:0 0 3px;font-size:12.5px;font-weight:750;color:#dfe6f7}.km-sub{margin:0 0 9px;font-size:11.5px;line-height:1.45;color:#8b94b0}.km-input{box-sizing:border-box;width:100%;height:34px;padding:0 10px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#eef1fb;font:500 13px var(--font-ui);outline:0}.km-input::placeholder{color:#6b7490}.km-input:focus{border-color:#00d9ff;box-shadow:0 0 0 3px #00d9ff2e}.km-search-wrap{position:relative}.km-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:320px;overflow-y:auto;overscroll-behavior:contain;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0c0b1af5;box-shadow:0 14px 40px #00000080}.km-result{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;color:#e6ebf8;text-align:left;cursor:pointer;font:500 13px var(--font-ui)}.km-result:hover{background:#00d9ff1a}.km-result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-add{flex:none;font-size:10.5px;font-weight:700;color:#67ffd2;border:1px solid rgba(103,255,210,.4);border-radius:999px;padding:2px 7px}.km-add:hover{background:#67ffd226}.km-empty{padding:10px 12px;font-size:12px;color:#8b94b0}.km-nav{display:flex;flex-direction:column;gap:6px}.km-nav .btn{align-self:flex-start}.km-nav .swap-btn,.km-swap{align-self:center}.km-nav-result{margin-top:9px}.km-chain{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.km-chip{border:1px solid rgba(0,255,213,.35);background:#00ffd517;color:#d9fffa;border-radius:999px;padding:4px 10px;font:600 11.5px var(--font-ui);cursor:pointer}.km-chip:hover{background:#00ffd533}.km-arrow{color:#4c5a8a;font-size:12px}.km-route-meta{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:#9aa6c4}.km-route-meta em{color:#dfe6f7;font-style:normal}.km-route-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.km-route-actions .btn{height:26px;padding:0 11px;font-size:11.5px}.km-top-right{top:14px;right:14px;width:min(330px,calc(100vw - 28px))}.km-top-right[hidden],#atlas-drawer-host[hidden]{display:none}.atlas-search-card{padding:8px 10px}.atlas-search-row{display:flex;align-items:center;gap:8px}.atlas-icon-btn{flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#d7def2;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.atlas-search-field+.atlas-icon-btn{margin-left:auto}.atlas-icon-btn:hover,.atlas-icon-btn:focus-visible{background:#ffffff1f;border-color:#00d9ff73;color:#fff;outline:none}.atlas-icon-btn.is-open{background:#00d9ff29;border-color:#00d9ff80;color:#fff}.atlas-icon-btn[aria-pressed=true]{color:#67ffd2;border-color:#67ffd26b;background:#67ffd21a}.atlas-search-field{flex:1 1 auto;min-width:0}.atlas-search-field[hidden]{display:none}.atlas-linked-meta{margin:0 0 8px;font:500 10.5px var(--font-ui);line-height:1.45;color:#8b94b0}.atlas-linked-list{display:flex;flex-direction:column;gap:2px;max-height:min(46vh,420px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;margin:0 -4px;padding:0 4px}.atlas-link-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border:0;border-radius:7px;background:transparent;color:#dfe6f7;font:500 12px var(--font-ui);text-align:left;cursor:pointer}.atlas-link-row:hover,.atlas-link-row:focus-visible{background:#00d9ff1f;color:#fff;outline:none}.atlas-link-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atlas-link-meter{flex:none;width:46px;height:3px;border-radius:999px;background:#ffffff1a;overflow:hidden}.atlas-link-meter>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00d9ff8c,#7ef9ff)}.atlas-rail{display:flex;align-items:center;gap:6px;margin:0 0 11px}.atlas-rail-step{flex:none;width:26px;height:26px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0d;color:#d7def2;font-size:15px;line-height:1;cursor:pointer}.atlas-rail-step:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff47}.atlas-rail-step:disabled{opacity:.35;cursor:default}.atlas-rail-track{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px 0}.atlas-rail-track::-webkit-scrollbar{display:none}.atlas-rail-chip{flex:none;width:24px;height:24px;border:1px solid rgba(0,255,213,.28);border-radius:50%;background:#00ffd512;color:#a9d8d3;font:700 10.5px var(--font-ui, system-ui);cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.atlas-rail-chip[data-state=done]{background:#00ffd529;color:#d9fffa}.atlas-rail-chip[data-state=active]{background:#00ffd5;border-color:#00ffd5;color:#05221f;transform:scale(1.14)}.atlas-rail-chip:hover{border-color:#00ffd5}.atlas-rail-chip[data-missing=true]{border-style:dashed;border-color:#a78bfab3;background:#a78bfa1f;color:#ded4ff}.atlas-why{margin:0 0 11px;padding:8px 10px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.atlas-why-line{margin:0 0 4px;font-size:11.5px;line-height:1.5;color:#c6cde5}.atlas-why-line:last-child{margin-bottom:0}.atlas-why-line b{color:#eef1fb;font-weight:650}.atlas-why-dim{color:#8b94b0}.atlas-why-caveat{color:#8b94b0;font-style:italic}.atlas-rel{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:#a78bfa2e;border:1px solid rgba(167,139,250,.4);color:#cfc2ff;font-size:10.5px;font-weight:650;vertical-align:1px}.atlas-note{width:100%;margin:0 0 6px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;color:#eef1fb;font-family:inherit;font-size:12px;line-height:1.5;resize:vertical}.atlas-note:focus{outline:none;border-color:#00ffd5}.atlas-note-hint{margin:0 0 10px;font-size:10.5px;line-height:1.45;color:#8b94b0}.atlas-stop-actions{display:flex;flex-wrap:wrap;gap:6px}.atlas-stop-actions .btn{height:26px;padding:0 10px;font-size:11.5px}@media (max-width: 900px){.km-top-right{top:auto;bottom:10px;right:10px;width:min(300px,calc(100vw - 20px))}}.atlas-modes{display:flex;gap:4px;margin:0 0 6px;padding:3px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07)}.atlas-mode{flex:1;padding:5px 6px;border:0;border-radius:7px;background:transparent;color:#9aa3c0;font:600 11px var(--font-ui, system-ui);cursor:pointer;transition:background .12s ease,color .12s ease}.atlas-mode:hover{color:#dfe6f7;background:#ffffff12}.atlas-mode.active,.atlas-mode[aria-pressed=true]{background:#00ffd5;color:#05221f}.atlas-mode-note{margin:0 0 9px;font-size:10.5px;line-height:1.5;color:#8b94b0}.atlas-mode-note[data-mode=lateral]{color:#cfc2ff}.km-chip-ai{border-style:dashed!important;border-color:#a78bfa99!important;background:#a78bfa1f!important;color:#ded4ff!important}.km-arrow-ai{color:#a78bfa}.km-route-ai-note{padding:6px 8px;border-radius:8px;background:#a78bfa1f;border:1px solid rgba(167,139,250,.35);color:#ded4ff}.atlas-rel-ai{background:#a78bfa38;border-color:#a78bfa99;color:#ded4ff}.atlas-gloss{margin:0 0 11px;padding:8px 10px;border-radius:10px;background:#a78bfa1a;border:1px solid rgba(167,139,250,.3)}.atlas-gloss[hidden]{display:none}.atlas-gloss-meta{margin:0 0 5px;font-size:10px;font-weight:650;letter-spacing:.02em;color:#b9a9f0}.atlas-gloss-text{margin:0;font-size:12px;line-height:1.55;color:#e6e2ff}.ai-badge{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:999px;background:#a78bfa40;border:1px solid rgba(167,139,250,.55);color:#ded4ff;font-size:9.5px;font-weight:750;letter-spacing:.04em}.atlas-synth{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.ai-settings,.ai-menu,.ai-result{display:flex;flex-direction:column;gap:10px}.ai-lede{margin:0;font-size:13px;line-height:1.6;color:var(--text-muted)}.ai-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px}.ai-row label{font-size:12px;font-weight:600;color:var(--text-muted)}.ai-row input,.ai-row select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:12.5px}.ai-row input:focus,.ai-row select:focus{outline:none;border-color:var(--accent)}.ai-hint{margin:0;font-size:11px;line-height:1.6;color:var(--text-faint)}.ai-hint a{color:var(--accent)}.ai-hint code{padding:1px 4px;border-radius:4px;background:var(--surface-2);font-size:10.5px}.ai-usage{padding:9px 11px;border-radius:var(--radius-m);background:var(--surface-2);border:1px solid var(--border-soft)}.ai-usage-line{margin:0;font-size:12px;line-height:1.6;color:var(--text)}.ai-usage-muted{color:var(--text-muted)}.ai-usage-bar{display:block;height:5px;margin-top:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.ai-usage-bar i{display:block;height:100%;background:var(--accent)}.ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ai-spacer{flex:1}.ai-status{margin:0;min-height:16px;font-size:11.5px;color:var(--text-muted)}.ai-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-task{display:flex;flex-direction:column;gap:3px;padding:11px 13px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.ai-task:hover,.ai-task:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.ai-task b{font-size:13px}.ai-task span{font-size:11px;line-height:1.45;color:var(--text-muted)}.ai-result-meta{margin:0;font-size:11.5px;line-height:1.55;color:var(--text-muted)}.ai-result-text{max-height:46vh;margin:0;padding:13px 15px;overflow:auto;border:1px solid var(--border-soft);border-radius:var(--radius-m);background:var(--canvas-bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}@media (max-width: 620px){.ai-task-grid{grid-template-columns:1fr}.ai-row{grid-template-columns:1fr;gap:4px}}.pw-usage{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--text)}.pw-usage-muted{color:var(--text-muted)}.pw-usage-byok{padding:7px 10px;border-radius:var(--radius-m);background:var(--accent-soft);color:var(--text)}.pw-usage-reset{display:block;font-size:11px;color:var(--text-faint)}.pw-ai-note{margin:10px 0 0;font-size:11px;line-height:1.6;color:var(--text-faint)}.pw-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.menu-sep{height:1px;margin:4px 0;border:0;background:var(--border-soft)}.km-note{margin:0;font-size:10.5px;line-height:1.5;color:#7b84a3}.km-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:8;font-size:11px;letter-spacing:.02em;color:#dce4fa8c;background:#0807128c;border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:5px 14px;white-space:nowrap;pointer-events:none}.km-loading{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(900px 600px at 50% 40%,#1e184680,#05040c 70%);color:#c9d2ea;font:600 13px var(--font-ui)}.km-loading[hidden]{display:none}.km-loading-spin{width:34px;height:34px;border-radius:50%;border:2px solid rgba(0,217,255,.25);border-top-color:#00d9ff;animation:km-spin .9s linear infinite}@keyframes km-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.km-top-left{top:10px;left:10px;width:min(300px,calc(100vw - 20px))}.km-hint{display:none}}@media (max-width: 620px){.km-chrome{width:auto;max-width:none}.km-top-left{right:10px}.km-card{padding:10px 12px}}.atlas-view{display:none;position:relative;flex:1;min-height:0;background:#04030c}.atlas-view[hidden]{display:none!important}body.atlas-open .canvas-row{display:none}body.atlas-open .atlas-view{display:flex}body.atlas-open .app-footer{display:none}.atlas-root{background:radial-gradient(1400px 800px at 50% -20%,rgba(52,46,130,.28),transparent 62%),radial-gradient(1000px 640px at 12% 112%,rgba(0,100,180,.14),transparent 58%),radial-gradient(900px 600px at 92% 108%,rgba(150,40,160,.12),transparent 55%),#04030c}.atlas-canvas{position:absolute;inset:0}.atlas-canvas canvas{display:block;outline:none;touch-action:none}.atlas-kicker{margin:0 0 2px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#00d9ff}.atlas-sub{margin:0 0 10px;font-size:11.5px;line-height:1.5;color:#8b94b0}.atlas-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.atlas-stat{padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;font:600 10.5px var(--font-ui);letter-spacing:.02em;color:#c7d0ea;white-space:nowrap}.atlas-stat b{color:#fff;font-weight:750}.atlas-legend{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap}.atlas-legend-dots{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.atlas-legend-caption{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#6b7490;margin-right:2px}.atlas-dot{width:12px;height:12px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;flex:none;background-clip:padding-box;box-shadow:0 0 6px currentColor;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.atlas-dot:hover,.atlas-dot:focus-visible{transform:scale(1.5);border-color:#fff;box-shadow:0 0 12px currentColor;outline:none}.atlas-dot.is-focused{transform:scale(1.5);border-color:#fff;box-shadow:0 0 14px currentColor,0 0 0 3px #ffffff1f}.atlas-legend-note{margin:7px 0 0;font:500 10.5px var(--font-ui);line-height:1.45;color:#8b94b0}.atlas-legend-tip{position:absolute;z-index:30;width:240px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,233,255,.32);background:#080714f5;color:#e9eeff;box-shadow:0 10px 30px #0000008c;pointer-events:none}.atlas-legend-tip[hidden]{display:none}.atlas-legend-head{display:flex;align-items:center;gap:8px;font:700 12px var(--font-ui)}.atlas-legend-swatch{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor}.atlas-legend-meta{margin-top:4px;font:600 10.5px var(--font-ui);color:#9fb0d8}.atlas-legend-sub{margin-top:8px;font:700 9.5px var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#6b7490}.atlas-legend-list{margin:4px 0 0;padding-left:14px;font:500 11px var(--font-ui);line-height:1.5;color:#dbe4ff}.atlas-project{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px}.atlas-project[hidden]{display:none}.atlas-proj{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#c7d0ea;font:600 10.5px var(--font-ui);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.atlas-proj:hover:not(:disabled){background:#ffffff1a;color:#fff}.atlas-proj[aria-pressed=true]{color:#bff6ff;border-color:#00e9ff80;background:#00e9ff1a;box-shadow:inset 0 0 12px #00e9ff26}.atlas-proj:disabled{opacity:.4;cursor:not-allowed}.atlas-proj-icon{font-size:15px;line-height:1}.atlas-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:41;max-width:min(420px,86vw);padding:14px 18px;border-radius:14px;border:1px solid rgba(255,120,120,.35);background:#280a12eb;color:#ffd9d9;font:600 12.5px var(--font-ui);line-height:1.55;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.atlas-error[hidden]{display:none}.atlas-root .km-loading{background:radial-gradient(1000px 700px at 50% 42%,#281e5a8c,#04030c 72%)}.atlas-actions{display:flex;flex-wrap:wrap;gap:8px}.atlas-actions .btn{border-color:#ffffff24;background:#ffffff0d;color:#e6ebf8}.atlas-actions .btn:hover{background:#ffffff1f;color:#fff}.atlas-actions .btn[aria-pressed=true]{color:#67ffd2;border-color:#67ffd266;background:#67ffd214}.atlas-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}.atlas-status{position:absolute;left:14px;bottom:14px;z-index:9;font:600 10.5px var(--font-ui);letter-spacing:.05em;color:#d6e0fab8;background:#08071299;border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:4px 12px;pointer-events:none;white-space:nowrap}.atlas-tip{position:absolute;z-index:6;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font:600 11.5px var(--font-ui);color:#f2f4ff;background:#060510db;border:1px solid rgba(0,233,255,.45);border-radius:999px;padding:4px 11px;box-shadow:0 4px 16px #00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.atlas-tip[hidden]{display:none}@media (max-width: 900px){.atlas-status{display:none}}.admin-panel{position:fixed;top:64px;right:12px;z-index:300;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 84px);display:flex;flex-direction:column;border-radius:16px;background:#0c0a1af5;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000008c,0 0 0 1px #0006;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#e7ebfa;font:500 12px var(--font-ui);overflow:hidden}.admin-panel[hidden]{display:none}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-title{font-size:12px;font-weight:750;letter-spacing:.02em;color:#f0f3ff}.admin-head-actions{display:flex;gap:4px}.admin-iconbtn{width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:#9aa3c0;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.admin-iconbtn:hover{background:#ffffff1a;color:#fff}.admin-body{overflow-y:auto;overscroll-behavior:contain;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.admin-section{padding:9px 12px 6px;border-bottom:1px solid rgba(255,255,255,.05)}.admin-section:last-child{border-bottom:0}.admin-section-title{margin:0 0 2px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#00d9ff}.admin-section-note{margin:0 0 8px;font-size:10.5px;line-height:1.5;color:#7f88a6}.admin-row{display:grid;grid-template-columns:1fr 74px 34px;align-items:center;gap:8px;padding:4px 0}.admin-row-toggle{grid-template-columns:1fr auto;padding:6px 0}.admin-label{font-size:11.5px;color:#c6cee8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.admin-range{width:100%;height:3px;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,#00d9ffb3,#00d9ff40);border-radius:999px;outline:none;cursor:pointer}.admin-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#e8f6ff;border:2px solid #00d9ff;box-shadow:0 0 6px #00d9ff99;cursor:grab}.admin-range::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#e8f6ff;border:2px solid #00d9ff}.admin-range.disabled{opacity:.35;pointer-events:none}.admin-value{font:600 10.5px var(--font-mono);color:#9fe9ff;text-align:right;white-space:nowrap}.admin-row-select{grid-template-columns:1fr auto}.admin-select{grid-column:2;min-width:0;height:26px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:#dce6f7;font:600 11.5px var(--font-ui);outline:0;cursor:pointer}.admin-select:focus{border-color:#00d9ff}.admin-row-select .admin-value{display:none}.admin-row-select .admin-label{cursor:help}.admin-row-select select option{background:#131129;color:#dce6f7}.admin-switch{position:relative;width:30px;height:17px;border:0;border-radius:999px;background:#ffffff24;cursor:pointer;padding:0;transition:background .15s ease}.admin-switch[aria-checked=true]{background:#0ea5b7}.admin-switch-knob{position:absolute;top:2.5px;left:2.5px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s ease}.admin-switch[aria-checked=true] .admin-switch-knob{transform:translate(13px)}.admin-lock{padding:22px 18px;text-align:center}.admin-lock-title{margin:0 0 6px;font-size:13px;font-weight:750;color:#eef1fb}.admin-lock-sub{margin:0 0 14px;font-size:11px;line-height:1.5;color:#8b94b0}.admin-lock-form{display:flex;gap:8px}.admin-lock-form input{flex:1;min-width:0;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#eef1fb;font:500 12.5px var(--font-ui);outline:0}.admin-lock-form input:focus{border-color:#00d9ff}.admin-lock-err{margin:10px 0 0;font-size:11px;color:#ff8d8d}.admin-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.07)}.admin-foot .btn{border-color:#ffffff24;background:#ffffff0d;color:#e6ebf8}.admin-foot .btn:hover{background:#ffffff1c}.admin-foot-note{font-size:9.5px;letter-spacing:.05em;color:#6b7490;white-space:nowrap}.admin-btn-row{display:flex;gap:8px;margin:4px 0 8px}.admin-btn-row .btn{flex:1;justify-content:center;border-color:#ffffff24;background:#ffffff0d;color:#e6ebf8}.admin-btn-row .btn:hover{background:#ffffff1c}.admin-btn-row .btn-accent{border-color:#00d9ff73;background:#00d9ff24;color:#d7f7ff}.admin-btn-row .btn-accent:hover{background:#00d9ff3d}.admin-token-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8f9ab4}.admin-token-row input{flex:1;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#00000059;color:#e6ebf8;font-size:11px;letter-spacing:normal;text-transform:none}.admin-token-row input:focus{outline:none;border-color:#00d9ff}.admin-bake-status{margin:0;font-size:10.5px;line-height:1.45;color:#8f9ab4;word-break:break-word}.admin-bake-status.is-running{color:#7fd7ff}.admin-bake-status.is-error{color:#ff9a9a}body.nn-open .canvas-row,body.nn-open #atlas-view,body.nn-open .app-footer{display:none}body.nn-open #nn-view{display:flex}.nn-status{display:flex;align-items:center;gap:8px;font:600 11.5px var(--font-ui);color:#c7d0ea;margin-top:2px}.nn-connect{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.nn-connect label{display:block;margin-bottom:4px;font:600 9.5px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:#8f9ab4}.nn-connect-row{display:flex;gap:6px}.nn-connect-row input{flex:1;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#00000059;color:#e6ebf8;font-size:11px}.nn-connect-row input:focus{outline:none;border-color:#00d9ff}.nn-connect .nn-note{margin:6px 0 0;color:#8f9ab4;letter-spacing:normal}.nn-note{margin:0 0 10px;font:600 10.5px var(--font-ui);letter-spacing:.04em;color:#96ebffcc;min-height:13px}.nn-note:empty{display:none}.nn-dot{width:8px;height:8px;border-radius:50%;background:#6b7490;flex:none}.nn-dot.ok{background:#2bffa0;box-shadow:0 0 8px #2bffa0cc}.nn-dot.down{background:#ff5d5d;box-shadow:0 0 8px #ff5d5db3}.nn-drop{border:1px dashed rgba(0,217,255,.35);background:#00d9ff0a;border-radius:12px;padding:12px;text-align:center;cursor:pointer;transition:background .13s ease,border-color .13s ease}.nn-drop p{margin:0;font-size:11.5px;line-height:1.5;color:#9aa6c4}.nn-drop.over,.nn-drop:hover{background:#00d9ff1f;border-color:#00d9ff}.nn-drawer{position:absolute;top:14px;right:14px;bottom:14px;z-index:12;width:min(320px,calc(100vw - 28px));display:flex;flex-direction:column;padding:12px 14px;border-radius:14px;background:#0a0916e6;border:1px solid rgba(255,255,255,.09);box-shadow:0 8px 30px #00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nn-drawer[hidden]{display:none}.nn-list{list-style:none;margin:8px 0 0;padding:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px}.nn-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.nn-kind{flex:none;font:800 9px var(--font-ui);letter-spacing:.08em;padding:3px 6px;border-radius:6px}.nn-kind-network{color:#9fe9ff;background:#00d9ff1f}.nn-kind-onnx{color:#ffb3c1;background:#f43f5e24}.nn-row-info{flex:1;min-width:0;display:flex;flex-direction:column}.nn-row-info strong{font-size:12px;color:#e6ebf8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nn-row-info small{font-size:10px;color:#8b94b0}.nn-row-actions{display:flex;gap:5px;flex:none}.nn-row-actions .btn{height:24px;padding:0 8px;font-size:10.5px}.nn-empty{margin:14px 0 0;font-size:11.5px;line-height:1.5;color:#6b7490;text-align:center}@media (max-width: 900px){.nn-drawer{top:auto;bottom:10px;right:10px;width:min(300px,calc(100vw - 20px));max-height:42vh}}
