:root{--bg:#070d16;--bg2:#0b1420;--panel:rgba(15,26,40,.78);--panel-solid:#0f1a28;--panel2:#111f30;--line:rgba(155,186,220,.12);--line-strong:rgba(155,186,220,.22);--text:#eaf2fc;--muted:#8a9db3;--dim:#62778e;--cyan:#67e8f9;--cyan2:#29bfdc;--violet:#bba4ff;--amber:#ffca82;--mint:#7af0c4;--rose:#ff92af;--radius:18px;--mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--sans:'Manrope',Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 66% -18%,rgba(23,94,126,.15),transparent 48%),var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.7}.gradient-text{background:linear-gradient(105deg,#e7fbff 0%,#68e8f7 44%,#a99cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.heading-dot{color:var(--cyan)}.eyebrow,.panel-kicker,.side-label,.stat-label,.toolbar-label,.field-label,.editor-kicker,.brand-sub{font:500 9px var(--mono);letter-spacing:1.7px;color:#7e96ad}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow-line{width:18px;height:1px;background:var(--cyan);box-shadow:0 0 8px #67e8f955}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:0 15px;border:1px solid transparent;border-radius:10px;white-space:nowrap;font-size:11px;font-weight:800;transition:transform .18s,border-color .18s,background .18s,color .18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#8bf2fb,#51d5ed);color:#09202b;box-shadow:0 7px 25px #45d3e01c}.btn-primary:hover{background:linear-gradient(135deg,#c1faff,#69e9fb);box-shadow:0 8px 28px #45d3e030}.btn-ghost{background:rgba(150,180,210,.05);border-color:var(--line-strong);color:#c5d4e6}.btn-ghost:hover{background:rgba(150,180,210,.1)}.btn-create{width:100%;height:42px;justify-content:flex-start;background:rgba(91,220,243,.08);border:1px solid rgba(91,220,243,.2);color:#bdeff7;margin:20px 0 25px}.btn-create:hover{background:rgba(91,220,243,.14);border-color:#58d9ec55}.btn-create .plus-icon{font-size:19px;font-weight:400;color:var(--cyan)}kbd{font:10px var(--mono);color:#788ba1;border:1px solid #52647a55;background:#131f2e;padding:3px 5px;border-radius:5px}.btn-create kbd{margin-left:auto}.full{width:100%}.btn-danger{background:#e3546f;color:white;border-color:#ff8294}.btn-danger-soft{background:rgba(255,98,128,.08);border:1px solid rgba(255,98,128,.22);color:#ff9db0}.btn-danger-soft:hover{background:rgba(255,98,128,.15)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#96a9be;background:transparent;border:1px solid transparent;border-radius:9px;font-size:17px;transition:.2s}.icon-btn:hover{color:#eaf7ff;background:#172739;border-color:var(--line)}.mini-icon{border:0;background:none;color:#7f94aa;font-size:17px}.text-action{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:#73dceb;font-size:10px;font-weight:800;padding:5px}.text-action:hover{color:#c0f8ff}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#64e7bd;box-shadow:0 0 10px #64e7bd88;flex:0 0 auto}.toast-root{position:fixed;right:20px;top:18px;z-index:1000;display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{min-width:230px;max-width:380px;border:1px solid var(--line-strong);border-radius:12px;background:#102033f5;box-shadow:0 15px 45px #0008;padding:13px 16px;display:flex;gap:10px;align-items:center;color:#dbeafb;animation:toast-in .24s ease-out}.toast:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px var(--mint)}.toast.error:before{background:#ff7894;box-shadow:0 0 9px #ff7894}@keyframes toast-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
/* shell */.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;display:flex;flex-direction:column;padding:25px 17px 14px;background:rgba(8,16,26,.93);border-right:1px solid var(--line);z-index:30;backdrop-filter:blur(22px)}.brand-row{height:40px;display:flex;align-items:center;gap:11px;padding-left:4px}.brand-mark{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#09212a;font-size:19px;font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,#a4f5fa,#5ad6ec);box-shadow:0 0 25px #45cce72b;flex-shrink:0}.brand-mark span{font-size:9px;align-self:flex-start;margin:5px 0 0 1px;letter-spacing:0}.brand-name{font-size:17px;font-weight:800;letter-spacing:-.8px}.brand-period{color:var(--cyan)}.brand-sub{font-size:7px;letter-spacing:1.45px;margin-top:3px;color:#637c93}.sidebar-close{display:none;margin-left:auto}.side-label{padding:0 9px}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-item{height:39px;display:flex;align-items:center;gap:12px;padding:0 11px;border-radius:9px;border:1px solid transparent;background:transparent;color:#8ea1b5;text-align:left;font-size:11px;font-weight:700;transition:.18s}.nav-item:hover{background:#122033;color:#c9e2f5}.nav-item.active{background:linear-gradient(90deg,#1b3948b5,#1125319c);border-color:#3ac6df21;color:#a7eff8;box-shadow:inset 2px 0 #5ce0ef}.nav-icon{font-size:17px;color:#71889e;width:17px;text-align:center}.nav-item.active .nav-icon{color:var(--cyan)}.nav-count{margin-left:auto;font:10px var(--mono);color:#71889d}.nav-pill{font:8px var(--mono);color:#6ceac0;background:#54dcad13;border:1px solid #54dcad27;padding:3px 5px;border-radius:5px;margin-left:auto}.side-divider{height:1px;background:var(--line);margin:23px 2px 20px}.side-label-flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.sidebar-tags{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:190px}.side-tag{display:flex;align-items:center;gap:9px;min-height:30px;background:transparent;border:0;color:#8da2b8;padding:6px 10px;border-radius:7px;text-align:left;font-size:10px}.side-tag:hover,.side-tag.active{background:#172637;color:#d4e7f5}.side-tag .tag-mark{width:5px;height:5px;border-radius:2px;background:var(--tagcolor,var(--cyan));box-shadow:0 0 7px color-mix(in srgb,var(--tagcolor,var(--cyan)) 50%,transparent)}.side-tag-count{margin-left:auto;color:#627991;font:9px var(--mono)}.side-empty{font-size:10px;color:#566d84;padding:9px 10px;line-height:1.6}.sidebar-bottom{margin-top:auto}.storage-card{padding:13px 12px 14px;border:1px solid #59d9e91f;border-radius:12px;background:linear-gradient(145deg,#0d2632a6,#101a29b0);margin-bottom:14px}.storage-head{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#c8e9f1}.storage-icon{color:var(--cyan);font-size:16px}.live-mini{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#6ce9bc;box-shadow:0 0 9px #6ce9bc}.storage-copy{font-size:9px;line-height:1.6;color:#7c92a8;margin:9px 0 6px}.storage-card .text-action{font-size:9px;padding:0}.profile-row{height:48px;border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:9px;background:linear-gradient(140deg,#27566a,#6757a2);border:1px solid #8deaff40;color:#defcff;font-size:11px;font-weight:800}.profile-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-meta strong{font-size:10px;max-width:130px;overflow:hidden;text-overflow:ellipsis}.profile-meta span{font-size:9px;color:#738ba2}.logout-btn{margin-left:auto;font-size:19px}.main-panel{width:calc(100% - 246px);margin-left:246px;min-width:0;padding:0 28px 0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:76px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;min-width:0}.breadcrumb{display:flex;gap:11px;align-items:center;color:#71869c;font-size:10px}.breadcrumb strong{font-weight:700;color:#dceafa}.crumb-slash{color:#364a60}.topbar-right{gap:13px}.search-box{width:min(290px,29vw);height:36px;display:flex;align-items:center;gap:9px;padding:0 9px 0 12px;border-radius:9px;background:#101b29;border:1px solid #7793af1b;color:#6f879d}.search-box:focus-within{border-color:#60d6e655}.search-symbol{font-size:19px}.search-box input,.graph-search input{min-width:0;flex:1;background:none;border:0;outline:none;color:#e2f0ff;font-size:10px}.search-box input::placeholder,.graph-search input::placeholder{color:#617890}.search-box kbd{font-size:8px;white-space:nowrap}.header-create{height:36px;padding:0 13px;font-size:10px}.top-avatar{width:30px;height:30px;border-radius:50%;font-size:10px}.menu-toggle{display:none}
/* page common */.view-panel{padding-top:31px;flex:1;min-width:0;animation:panel-in .22s ease-out}@keyframes panel-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:27px;letter-spacing:-1.25px;margin:11px 0 6px;font-weight:700;line-height:1.2}.page-subtitle{margin:0;font-size:11px;color:#8498ae;line-height:1.65}.heading-actions{display:flex;align-items:center;gap:17px}.saved-indicator{display:flex;align-items:center;gap:7px;color:#778fa5;font:8px var(--mono);letter-spacing:.7px}.saved-indicator .status-dot{width:5px;height:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;min-height:130px;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(142deg,rgba(18,31,46,.91),rgba(12,21,33,.85));box-shadow:0 8px 35px #0000000a}.stat-card:after{content:'';position:absolute;inset:auto -25px -55px auto;width:120px;height:100px;border-radius:50%;filter:blur(42px);opacity:.1;background:var(--glow,var(--cyan));pointer-events:none}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:8px;letter-spacing:1.2px;color:#8196ab}.stat-icon{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:17px;background:var(--iconbg);color:var(--glow)}.cyan-icon{--glow:var(--cyan);--iconbg:#59ddec12}.violet-icon{--glow:var(--violet);--iconbg:#ae8dff14}.amber-icon{--glow:var(--amber);--iconbg:#ffca8214}.mint-icon{--glow:var(--mint);--iconbg:#7af0c414}.stat-value{margin:11px 0 6px;font-size:27px;font-weight:700;letter-spacing:-1px;line-height:1}.stat-foot{display:flex;align-items:center;gap:6px;color:#758ba1;font-size:9px}.stat-foot-dot{width:5px;height:5px;border-radius:2px}.cyan-dot{background:var(--cyan)}.violet-dot{background:var(--violet)}.amber-dot{background:var(--amber)}.mint-dot{background:var(--mint)}.stat-spark{position:absolute;right:11px;bottom:13px;display:flex;align-items:flex-end;gap:3px;height:28px;opacity:.55}.stat-spark i{width:3px;border-radius:5px;background:var(--glow);height:var(--h,10px);opacity:var(--o,.75)}.stat-spark i:nth-child(3n){--h:18px}.stat-spark i:nth-child(4n){--h:25px;--o:.4}.stat-spark i:nth-child(5n){--h:13px}.stat-spark i:nth-child(7n){--h:20px}.spark-cyan{--glow:var(--cyan)}.spark-violet{--glow:var(--violet)}.spark-amber{--glow:var(--amber)}.spark-mint{--glow:var(--mint)}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);gap:15px}.panel{background:linear-gradient(146deg,rgba(16,28,43,.83),rgba(11,20,32,.8));border:1px solid var(--line);border-radius:15px;min-width:0}.recent-panel,.topology-teaser{padding:18px 18px 16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-kicker{font-size:8px;letter-spacing:1.35px;color:#637f98}.panel-heading h2{margin:7px 0 0;font-size:15px;letter-spacing:-.35px}.recent-list{margin-top:17px}.recent-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #95b8d20d;cursor:pointer;min-width:0}.recent-item:first-child{border-top:0}.note-marker{width:35px;height:38px;flex:0 0 auto;border-radius:9px;background:var(--note-bg,#14313b);border:1px solid var(--note-border,#3ccde632);display:flex;align-items:center;justify-content:center;color:var(--note-accent,var(--cyan));font-size:15px}.recent-item-main{min-width:0;flex:1}.recent-item-title{font-size:11px;font-weight:800;display:flex;align-items:center;gap:6px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-small{color:var(--amber);font-size:10px}.recent-item-excerpt{font-size:9px;color:#7790a6;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item-date{font:9px var(--mono);color:#62788d;white-space:nowrap}.recent-item:hover .recent-item-title{color:var(--cyan)}.mini-graph-wrap{position:relative;margin-top:10px;height:165px;border-radius:10px;border:1px solid #92c3dc10;overflow:hidden;background:radial-gradient(ellipse at center,#10233780,transparent 70%),#08131f8a}.mini-graph-wrap:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#8bbad808 1px,transparent 1px),linear-gradient(90deg,#8bbad808 1px,transparent 1px);background-size:25px 25px;pointer-events:none}.mini-graph-wrap canvas{width:100%;height:100%;display:block;position:relative;z-index:1}.mini-graph-caption{position:absolute;bottom:8px;left:10px;z-index:2;display:flex;gap:10px;font-size:8px;color:#718ba2}.mini-graph-caption span{display:flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px #69e7fc4a}.dot-pinned{background:var(--amber);box-shadow:0 0 7px #ffca8285}.legend-line{display:inline-block;width:13px;height:0;border-top:1px solid var(--cyan)}.line-tag{border-top:1px dashed var(--violet)}.teaser-copy{margin:12px 0 13px;color:#8197ad;line-height:1.7;font-size:9px}.loading-row{display:flex;align-items:center;gap:9px;color:#71889d;font-size:10px;padding:24px 3px}.spinner{display:inline-block;width:13px;height:13px;border:1.5px solid #335064;border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:180px;padding:30px 20px;color:#7f95ab}.empty-symbol{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:15px;border:1px solid #65dcec2b;color:var(--cyan);background:#65dcec0b;font-size:20px;margin-bottom:13px}.empty-state h3{font-size:13px;color:#d7e7f7;margin:0 0 7px}.empty-state p{font-size:10px;line-height:1.7;max-width:330px;margin:0 0 15px}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 0 16px;margin-top:auto;color:#50667d;font:8px var(--mono);letter-spacing:.55px}.app-footer b{color:#758ca2;font-weight:400}.app-footer span:nth-child(2){display:flex;align-items:center;gap:7px}.app-footer .status-dot{width:4px;height:4px}
/* notes views */.compact-heading{margin-bottom:25px}.compact-heading h1{margin-top:10px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.list-context{color:#7c91a7;font-size:10px}.view-toggle{display:flex;gap:3px;padding:3px;background:#101b29;border:1px solid var(--line);border-radius:8px}.view-toggle-btn{width:27px;height:25px;color:#71869a;border:0;background:transparent;border-radius:5px}.view-toggle-btn.active{background:#23394b;color:var(--cyan)}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notes-grid.list-mode{grid-template-columns:1fr}.note-card{position:relative;min-width:0;min-height:166px;padding:16px 16px 13px;border-radius:13px;border:1px solid var(--line);background:linear-gradient(140deg,rgba(17,30,45,.86),rgba(11,20,32,.86));cursor:pointer;transition:transform .18s,border-color .18s,background .18s;overflow:hidden}.note-card:before{content:'';position:absolute;top:0;left:17px;width:32px;height:1px;background:var(--accent,var(--cyan));opacity:.85;box-shadow:0 0 9px var(--accent,var(--cyan))}.note-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent,var(--cyan)) 40%,transparent);background:linear-gradient(140deg,rgba(22,39,57,.95),rgba(12,23,36,.92))}.note-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.note-type{color:var(--accent,var(--cyan));font:8px var(--mono);letter-spacing:1px}.card-actions{display:flex;gap:2px}.card-action{height:25px;min-width:25px;padding:0 5px;background:transparent;border:0;border-radius:5px;color:#647b91;font-size:13px}.card-action:hover{background:#26384b;color:#e4f5ff}.card-action.is-pinned{color:var(--amber)}.note-card h3{font-size:13px;line-height:1.45;letter-spacing:-.25px;margin:11px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-card-excerpt{font-size:9.5px;color:#7c93a9;line-height:1.75;height:34px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.note-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.tag-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border-radius:5px;background:#1d2b3b;color:#9cb4c9;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #9bbdd00d;padding-top:10px;margin-top:13px;color:#5d758d;font:8px var(--mono)}.note-card-bottom span:last-child{display:flex;align-items:center;gap:5px}.note-card-bottom .tiny-link{color:var(--accent,var(--cyan));font-size:12px}.notes-grid.list-mode .note-card{min-height:0;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:18px;padding:13px 16px}.notes-grid.list-mode .note-card:before{left:0;height:100%;width:2px;top:0}.notes-grid.list-mode .note-card h3{margin:6px 0 0}.notes-grid.list-mode .note-card-excerpt{height:auto}.notes-grid.list-mode .note-card-bottom{margin:0;padding:0;border:0;min-width:100px}.notes-grid.list-mode .note-card-tags{margin-top:6px}.tag-chip-row{display:flex;gap:5px;flex-wrap:wrap}.tags-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tag-card{padding:17px;border-radius:13px;border:1px solid var(--line);background:linear-gradient(140deg,#122235b0,#0d1825b5);cursor:pointer;text-align:left;transition:.18s;min-height:115px}.tag-card:hover{border-color:#69e3ef55;transform:translateY(-2px)}.tag-card-glyph{font-size:17px;color:var(--tagcolor,var(--cyan))}.tag-card-name{display:block;font-size:13px;font-weight:800;margin:13px 0 7px;word-break:break-word}.tag-card-count{font:9px var(--mono);color:#728ba0}.tag-card-count b{color:var(--tagcolor,var(--cyan));font-weight:500}.tag-card-bar{height:2px;background:#213248;border-radius:2px;margin-top:12px;overflow:hidden}.tag-card-bar span{height:100%;display:block;width:var(--bar,20%);background:var(--tagcolor,var(--cyan));box-shadow:0 0 8px var(--tagcolor,var(--cyan))}
/* graph */.topology-heading{margin-bottom:20px}.topology-heading h1{margin-bottom:5px}.graph-heading-meta{align-self:center}.live-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #57d7bb24;border-radius:7px;color:#75d9bf;background:#57d7bb0a;font:8px var(--mono);letter-spacing:.65px}.live-chip i{width:5px;height:5px;border-radius:50%;background:#72e5c1;box-shadow:0 0 9px #72e5c1}.graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin-bottom:13px}.graph-mode-group,.graph-actions{display:flex;align-items:center;gap:7px;min-width:0}.toolbar-label{font-size:8px;white-space:nowrap;margin:0 8px 0 3px}.mode-btn{height:30px;padding:0 10px;display:flex;align-items:center;gap:7px;border-radius:7px;border:1px solid transparent;color:#8197ac;background:transparent;font-size:9px;font-weight:700;white-space:nowrap}.mode-btn:hover{color:#cde6f5;background:#152437}.mode-btn.active{color:#bcf3fa;background:#1b3947;border-color:#64dfef1d}.mode-dot{width:6px;height:6px;border-radius:50%}.link-mode-dot{background:var(--cyan);box-shadow:0 0 6px #65e8f9a0}.tag-mode-dot{background:var(--violet);box-shadow:0 0 6px #bba4ff90}.hybrid-mode-dot{background:linear-gradient(135deg,var(--cyan) 50%,var(--violet) 50%);box-shadow:0 0 6px #90cfffa0}.graph-search{display:flex;align-items:center;gap:8px;width:150px;height:30px;padding:0 8px;background:#0a1522;border:1px solid var(--line);border-radius:7px;color:#7992a7}.graph-search span{font-size:17px}.graph-search input{font-size:9px}.tool-btn{height:30px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#101d2c;color:#91a8bb;font-size:9px;white-space:nowrap}.tool-btn:hover{border-color:#5bd9e755;color:#d5faff}.tool-btn span{font-size:14px;color:#6dd8e8}.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:13px;align-items:stretch}.graph-stage{position:relative;overflow:hidden;min-height:515px;background:radial-gradient(ellipse at 48% 44%,#132d4075,transparent 64%),#09131f}.graph-stage:after{content:'';position:absolute;inset:43px 0 47px;background-image:linear-gradient(#76a5c508 1px,transparent 1px),linear-gradient(90deg,#76a5c508 1px,transparent 1px);background-size:29px 29px;pointer-events:none;z-index:0}.graph-stage-top{height:42px;position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:linear-gradient(#0e1b2b,#0e1b2bde);border-bottom:1px solid #9bc9de12}.graph-stage-label{display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:1.2px;color:#83a0b8}.stage-pulse{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.graph-stage-stats{display:flex;gap:7px;align-items:center;color:#6e849a;font:8px var(--mono)}.graph-stage-stats b{color:#cce5f5;font-weight:500}.stage-separator{color:#30465b}.graph-stage canvas{position:absolute;inset:42px 0 48px;width:100%;height:calc(100% - 90px);display:block;z-index:1;touch-action:none;cursor:grab}.graph-stage canvas:active{cursor:grabbing}.graph-legend{position:absolute;z-index:3;inset:auto 0 0;height:48px;display:flex;align-items:center;gap:14px;padding:0 14px;border-top:1px solid #9bc9de12;background:#0d1928e8;color:#748da3;font-size:8px}.graph-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.graph-legend .legend-help{margin-left:auto;color:#566e86;font:8px var(--mono)}.graph-legend .legend-dot{width:6px;height:6px}.graph-legend .legend-line{width:14px}.graph-empty{position:absolute;z-index:4;inset:42px 0 48px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;background:#09131fc8}.empty-orbit{width:54px;height:54px;border:1px solid #67e8f933;border-radius:50%;display:grid;place-items:center;font-size:25px;color:var(--cyan);box-shadow:0 0 35px #67e8f90d,inset 0 0 18px #67e8f90a}.graph-empty h3{font-size:15px;margin:16px 0 7px}.graph-empty p{max-width:300px;color:#8298ad;font-size:10px;line-height:1.8;margin:0 0 14px}.graph-empty code{color:var(--cyan);font:10px var(--mono)}.graph-tooltip{position:absolute;z-index:10;pointer-events:none;max-width:230px;padding:9px 11px;border:1px solid #69e5ef35;border-radius:8px;background:#0b1928f2;box-shadow:0 10px 30px #0008}.graph-tooltip strong{display:block;font-size:10px;color:#dffaff;margin-bottom:4px}.graph-tooltip span{display:block;color:#8ca4ba;font-size:9px;line-height:1.5}.graph-inspector{padding:17px 15px 13px;min-height:515px;display:flex;flex-direction:column}.inspector-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector-head h3{font-size:14px;margin:7px 0 0;letter-spacing:-.2px;max-width:175px;overflow-wrap:anywhere}.inspector-icon{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #6fe7f51d;border-radius:9px;color:var(--cyan);background:#6fe7f509;font-size:18px}.inspector-default{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:13px}.inspector-art{position:relative;width:127px;height:127px;margin:6px auto 6px;display:grid;place-items:center}.art-ring{position:absolute;border-radius:50%;border:1px solid #62dce91b}.ring-one{inset:3px;box-shadow:0 0 28px #53cde60a;animation:orbit 15s linear infinite}.ring-two{inset:20px;border-color:#b79aff2b;transform:rotateX(60deg) rotate(28deg)}.art-ring:before,.art-ring:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan);left:15%;top:18%}.art-ring:after{background:var(--violet);box-shadow:0 0 9px var(--violet);left:auto;top:auto;right:14%;bottom:20%}@keyframes orbit{to{transform:rotate(360deg)}}.art-core{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#285c6c,#423e72);border:1px solid #91eeff45;box-shadow:0 0 35px #5ce4f41a;color:#e1fcff;font-size:20px;font-weight:800}.inspector-default>p{color:#859ab0;line-height:1.8;font-size:9px;max-width:180px;margin:2px 0 20px}.inspector-tip{display:flex;gap:9px;text-align:left;border-top:1px solid var(--line);padding:13px 0 0;margin-top:12px;width:100%}.inspector-tip>span{color:var(--cyan);font-size:14px;margin-top:1px}.inspector-tip strong{display:block;color:#c9dbea;font-size:9px;margin-bottom:5px}.inspector-tip small{display:block;color:#71879d;font-size:8px;line-height:1.65}.inspector-tip code{font:8px var(--mono);color:#a3c9d8}.inspector-footer{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);font:7px var(--mono);letter-spacing:.6px;color:#58738a;display:flex;align-items:center;gap:7px}.inspector-footer .status-dot{width:4px;height:4px}.inspector-node-badge{display:flex;align-items:center;gap:7px;margin-top:19px;color:#91a8bd;font:8px var(--mono);letter-spacing:1px}.inspector-node-badge>span:first-child{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.inspector-excerpt{font-size:10px;color:#8298ad;line-height:1.8;margin:13px 0}.inspector-divider{height:1px;background:var(--line);margin:13px 0}.inspector-stat-row{display:flex;align-items:center;justify-content:space-between;margin:11px 0;color:#71879d;font-size:9px}.inspector-stat-row strong{color:#c9deed;font:9px var(--mono);font-weight:400}.inspector-neighbors-heading{font:8px var(--mono);letter-spacing:1px;color:#637f98;margin:16px 0 7px}.inspector-neighbors{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;max-height:130px;overflow:auto}.neighbor-item{display:flex;gap:7px;align-items:center;min-width:0;width:100%;padding:7px;border:1px solid transparent;border-radius:6px;background:transparent;color:#91a6b9;text-align:left;font-size:9px}.neighbor-item:hover{background:#182a3c;border-color:var(--line)}.neighbor-dot{width:5px;height:5px;border-radius:50%;background:var(--neighbor-color,var(--cyan));flex:0 0 auto}.neighbor-item span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.graph-note{font-size:9px;color:#7890a6;margin-top:10px}
/* editor and auth */.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#02060bd1;backdrop-filter:blur(10px);animation:panel-in .18s ease-out}.editor-modal{display:flex;flex-direction:column;width:min(780px,100%);max-height:min(850px,calc(100vh - 40px));border:1px solid #77c8de2b;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#101e2d,#0a1421);box-shadow:0 28px 100px #0009}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:18px 23px;border-bottom:1px solid var(--line);background:#101d2b}.editor-kicker{display:flex;align-items:center;gap:7px;font-size:8px}.editor-kicker .status-dot{width:5px;height:5px}.editor-header h2{font-size:17px;letter-spacing:-.5px;margin:7px 0 0}.editor-header-actions{display:flex;gap:5px}.editor-star{font-size:21px}.editor-star.active{color:var(--amber)}.close-modal{font-size:22px}.editor-main{padding:21px 23px 10px;overflow:auto}.field-label{display:block;margin-bottom:8px;color:#8199af;font-size:8px}.label-soft{letter-spacing:0;color:#566d83}.title-input{width:100%;padding:0 0 12px;border:0;border-bottom:1px solid #92b6d01a;background:transparent;color:#f2f8ff;font-size:23px;letter-spacing:-.7px;font-weight:700;outline:none}.title-input::placeholder{color:#3f566c}.title-input:focus{border-bottom-color:#5ad9eb6b}.field-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.field-row .field-label{margin:0}.color-field{display:flex;align-items:center;gap:8px;color:#6b8399;font:8px var(--mono);letter-spacing:1px}.color-field select{background:#142336;border:1px solid var(--line);color:#9db2c7;padding:5px 6px;border-radius:6px;font:9px var(--sans);outline:none}.tags-input{width:100%;height:34px;border:1px solid #91b6d014;background:#0a1623;border-radius:7px;color:#c6deef;outline:none;padding:0 10px;font-size:10px;margin-top:8px}.tags-input:focus{border-color:#5ad9eb50}.tags-input::placeholder{color:#526981}.editor-tabs{display:flex;align-items:center;gap:4px;margin-top:18px;border-bottom:1px solid var(--line)}.editor-tab{padding:8px 10px 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:#7e94a9;font-size:9px}.editor-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.editor-hint{margin-left:auto;color:#647c93;font-size:8px}.editor-hint code,.editor-helper code{color:#86dbe7;font:8px var(--mono)}.note-body{display:block;width:100%;min-height:235px;max-height:45vh;resize:vertical;padding:15px 1px 5px;border:0;background:transparent;color:#d1dfef;line-height:1.8;font-size:11px;outline:none;font-family:var(--sans)}.note-body::placeholder{color:#50677c}.note-preview{min-height:235px;max-height:45vh;overflow:auto;padding:15px 1px 5px;color:#c5d8e8;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.note-preview h1,.note-preview h2,.note-preview h3{color:#eefaff}.note-preview h1{font-size:22px}.note-preview h2{font-size:18px}.note-preview h3{font-size:14px}.note-preview a{color:var(--cyan);text-decoration:underline}.note-preview code{font:10px var(--mono);color:#a9e8ef;background:#14283a;padding:2px 4px;border-radius:4px}.note-preview pre{white-space:pre-wrap;padding:10px;background:#08131f;border:1px solid var(--line);border-radius:8px}.note-preview blockquote{margin-left:0;padding-left:12px;border-left:2px solid var(--violet);color:#94a7bc}.note-preview ul{padding-left:20px}.editor-helper{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #a0c3dc0d;padding:10px 0;color:#647c91;font-size:8px}.editor-helper span:first-child{display:flex;align-items:center;gap:5px}.editor-helper b{color:#8fa7ba;font:8px var(--mono)}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 23px;border-top:1px solid var(--line);background:#0d1927}.editor-footer-right{display:flex;align-items:center;gap:8px}.save-status{color:#637b90;font-size:8px;margin-right:8px}.save-status.saving{color:var(--amber)}.save-status.saved{color:var(--mint)}.confirm-modal{width:min(390px,100%);border-radius:16px;border:1px solid var(--line-strong);background:#101d2b;padding:27px;box-shadow:0 30px 100px #000a}.confirm-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ff75851b;border:1px solid #ff75852d;color:#ff9cac;font-size:20px}.confirm-modal h2{font-size:17px;margin:17px 0 8px}.confirm-modal p{font-size:10px;color:#8299ae;line-height:1.8;margin:0}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#123049aa,transparent 50%),#070d16;padding:25px}.auth-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.orb-one{width:440px;height:440px;border:1px solid #64ddee19;top:-245px;left:-115px;box-shadow:0 0 90px #50d8ef0c,inset 0 0 70px #50d8ef08}.orb-two{width:520px;height:520px;border:1px solid #9f8aff13;right:-260px;bottom:-300px;box-shadow:0 0 100px #9f8aff0b}.auth-card{position:relative;width:min(430px,100%);padding:35px 37px 26px;border-radius:19px;border:1px solid #9ac9de22;background:linear-gradient(145deg,#101f30ed,#0b1522ed);box-shadow:0 27px 110px #0007;backdrop-filter:blur(25px)}.large-mark{width:46px;height:46px;border-radius:13px;font-size:25px;margin-bottom:26px}.auth-card .eyebrow{font-size:8px}.auth-card h1{font-size:26px;letter-spacing:-1px;margin:12px 0 7px}.auth-card>.muted{font-size:11px;margin:0 0 25px}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-form label{display:flex;flex-direction:column;gap:7px;color:#a2b5c8;font-size:10px;font-weight:700}.auth-form input{width:100%;height:42px;border:1px solid #829db719;background:#081421;border-radius:8px;color:#e6f3ff;padding:0 12px;font-size:11px;outline:none}.auth-form input:focus{border-color:#62dff06b;box-shadow:0 0 0 3px #62dff00a}.auth-form input::placeholder{color:#4f657b}.auth-form .btn{margin-top:6px;height:43px}.auth-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:25px;padding-top:17px;border-top:1px solid var(--line);color:#60778d;font:8px var(--mono);letter-spacing:.4px}.auth-foot .status-dot{width:4px;height:4px}.setup-link{display:block;text-align:center;color:#6e879d;font-size:9px;margin-top:14px}.setup-link:hover{color:var(--cyan)}.notice{padding:10px 12px;border-radius:8px;font-size:10px;line-height:1.6}.error-notice{color:#ffafbd;border:1px solid #ff7e921e;background:#ff7e920d}.label-hint{margin-left:auto;color:#6c8399;font-size:9px;font-weight:400}.setup-card .auth-form{margin-top:18px}
@media(max-width:1250px){.main-panel{padding:0 21px}.sidebar{width:220px}.main-panel{width:calc(100% - 220px);margin-left:220px}.content-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr)}.graph-layout{grid-template-columns:minmax(0,1fr) 230px}.graph-toolbar{align-items:flex-start;flex-direction:column}.graph-mode-group,.graph-actions{width:100%;flex-wrap:wrap}.graph-actions{justify-content:flex-end}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.sidebar{width:250px;transform:translateX(-105%);transition:transform .25s ease;box-shadow:15px 0 50px #0007}.sidebar.open{transform:translateX(0)}.sidebar-close{display:flex}.mobile-scrim{position:fixed;inset:0;background:#02060b9c;z-index:25;backdrop-filter:blur(2px)}.main-panel{margin-left:0;width:100%;padding:0 24px}.menu-toggle{display:flex}.topbar{height:68px}.content-grid{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:122px}.graph-layout{grid-template-columns:minmax(0,1fr)}.graph-inspector{min-height:0}.inspector-default{display:grid;grid-template-columns:110px 1fr;column-gap:14px;text-align:left;align-items:center}.inspector-art{grid-row:span 2;width:100px;height:100px;margin:0}.inspector-default>p{max-width:none;margin:6px 0}.inspector-tip{display:none}.inspector-footer{margin-top:14px}.graph-stage{min-height:480px}.tags-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:670px){.main-panel{padding:0 14px}.topbar{height:61px;gap:8px}.topbar-right{gap:7px}.topbar .breadcrumb{gap:7px;font-size:9px}.search-box{width:35px;padding:0;justify-content:center;border-color:transparent;background:transparent}.search-box .search-symbol{font-size:19px}.search-box input,.search-box kbd{display:none}.search-box.expanded{position:absolute;top:13px;left:51px;right:60px;width:auto;height:36px;z-index:10;padding:0 10px;background:#101d2b;border-color:#60d6e655;justify-content:flex-start}.search-box.expanded input{display:block}.search-box.expanded kbd{display:none}.header-create{width:35px;min-width:35px;height:34px;padding:0;font-size:0;gap:0}.header-create span{font-size:17px}.top-avatar{width:27px;height:27px}.view-panel{padding-top:24px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:19px}.page-heading h1{font-size:22px}.page-subtitle{font-size:10px;max-width:390px}.heading-actions{flex-direction:column;align-items:flex-end;gap:11px}.saved-indicator{font-size:7px}.heading-actions .btn,.compact-heading>.btn{padding:0 10px;min-height:34px;font-size:9px}.stats-grid{gap:9px;margin-bottom:12px}.stat-card{padding:13px;min-height:112px}.stat-label{font-size:7px;letter-spacing:.8px}.stat-icon{width:24px;height:24px}.stat-value{font-size:24px;margin-top:10px}.stat-foot{font-size:8px}.stat-spark{right:9px;bottom:10px;opacity:.32}.content-grid{grid-template-columns:1fr;gap:12px}.recent-panel,.topology-teaser{padding:15px}.panel-heading h2{font-size:14px}.mini-graph-wrap{height:155px}.topology-teaser .btn{min-height:35px}.app-footer{flex-wrap:wrap;padding:18px 0 13px;font-size:7px}.app-footer span:last-child{display:none}.notes-grid{grid-template-columns:1fr}.note-card{min-height:150px}.notes-grid.list-mode .note-card{grid-template-columns:1fr;gap:3px}.notes-grid.list-mode .note-card-bottom{margin-top:10px;padding-top:8px;border-top:1px solid #9bbdd00d}.tags-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tag-card{padding:13px;min-height:106px}.graph-heading-meta{display:none}.graph-toolbar{padding:10px}.graph-mode-group{gap:3px}.toolbar-label{width:100%;margin-bottom:3px}.mode-btn{padding:0 8px;font-size:8px}.graph-actions{gap:5px}.graph-search{flex:1;width:auto;min-width:100px}.tool-btn{padding:0 8px}.graph-stage{min-height:440px}.graph-legend{gap:9px;padding:0 8px;font-size:7px;flex-wrap:wrap;align-content:center}.graph-legend .legend-help{display:none}.graph-stage-top{padding:0 10px}.graph-stage-stats{font-size:7px}.graph-inspector{padding:13px}.inspector-head h3{font-size:13px}.inspector-detail .inspector-excerpt{font-size:9px}.editor-modal{max-height:calc(100dvh - 20px);border-radius:14px}.modal-overlay{padding:10px}.editor-header{padding:15px 15px}.editor-header h2{font-size:15px}.editor-main{padding:16px 15px 7px}.title-input{font-size:20px}.note-body,.note-preview{min-height:190px;max-height:35vh}.editor-hint{display:none}.editor-footer{align-items:flex-end;padding:11px 13px}.editor-footer-right{gap:5px;flex-wrap:wrap;justify-content:flex-end}.save-status{display:none}.editor-footer .btn{padding:0 10px;min-height:34px;font-size:9px}.editor-footer>.btn-danger-soft{margin-right:auto}.auth-card{padding:29px 24px 23px}.auth-card h1{font-size:23px}.toast-root{left:12px;right:12px;top:12px}.toast{min-width:0;width:100%;max-width:none}.recent-item-date{display:none}}
@media(max-width:390px){.main-panel{padding:0 10px}.stats-grid{gap:7px}.stat-card{padding:11px}.stat-value{font-size:22px}.stat-foot{font-size:7px}.heading-actions .saved-indicator{display:none}.page-heading h1{font-size:20px}.breadcrumb span:first-child{display:none}.graph-actions .tool-btn{font-size:0;gap:0}.graph-actions .tool-btn span{font-size:14px}.graph-stage{min-height:400px}.editor-helper span:first-child{max-width:70%;line-height:1.5}.tags-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.note-preview .wiki-ref{display:inline-flex;align-items:center;padding:1px 4px;border:1px solid #67e8f926;background:#67e8f90b;border-radius:4px;color:#7de5f2;font:10px var(--mono)}.note-preview .md-gap{height:7px}


/* Note editor layout fix: keep the editor, writing area, and save controls usable at every size. */
body.editor-open{overflow:hidden}
.modal-overlay{overflow-y:auto;overscroll-behavior:contain;padding:clamp(12px,3vh,24px)}
.editor-modal{width:min(860px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);min-height:0}
#note-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
.editor-header{flex:0 0 auto;gap:14px}
.editor-title-wrap{min-width:0}
.editor-header h2{overflow-wrap:anywhere}
.editor-header-actions{flex:0 0 auto}
.editor-main{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.editor-main>.field-label{flex:0 0 auto}
.title-input{flex:0 0 auto;min-width:0}
.field-row{flex:0 0 auto;gap:12px}
.color-field{flex:0 0 auto}
.tags-input{flex:0 0 auto;min-width:0}
.editor-tabs{flex:0 0 auto;min-width:0}
.note-body{flex:1 1 auto;width:100%;height:auto;min-height:260px;max-height:none;resize:vertical;font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.note-preview{flex:1 1 auto;min-height:260px;max-height:none;overflow-wrap:anywhere}
.editor-helper{flex:0 0 auto;flex-wrap:wrap;line-height:1.5}
.editor-helper span:first-child{min-width:0;max-width:100%;flex-wrap:wrap}
.editor-footer{flex:0 0 auto;flex-wrap:wrap}
.editor-footer-right{min-width:0;flex-wrap:wrap}
.save-status{max-width:min(340px,32vw);overflow-wrap:anywhere;line-height:1.45}
.save-status.error{color:var(--rose)}
.editor-footer .btn:focus-visible,.editor-header .icon-btn:focus-visible,.editor-tabs .editor-tab:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
#note-title,#note-tags,#note-body{scroll-margin-block:12px}

@media(max-width:670px){
  .modal-overlay{align-items:center;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}
  .editor-modal{width:100%;height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));max-height:none;border-radius:14px}
  .editor-header{padding:12px 13px;gap:8px}
  .editor-kicker{font-size:8px;letter-spacing:1px}
  .editor-header h2{font-size:15px;line-height:1.35;margin-top:5px}
  .editor-header-actions{gap:2px}
  .editor-main{padding:14px 13px 7px;gap:0}
  .editor-main>.field-label{font-size:9px;margin-bottom:7px}
  .title-input{font-size:20px;padding-bottom:11px}
  .field-row{margin-top:15px;align-items:center;flex-wrap:wrap;justify-content:space-between}
  .field-row .field-label{font-size:8px}
  .color-field{font-size:8px;gap:6px}
  .color-field select{font-size:11px;min-height:32px;padding:5px 7px}
  .tags-input{height:40px;font-size:13px;padding:0 10px}
  .editor-tabs{margin-top:13px;gap:4px}
  .editor-tab{min-height:39px;padding:8px 12px;font-size:11px}
  .editor-hint{display:none}
  .note-body,.note-preview{min-height:150px;font-size:14px;line-height:1.7;padding-top:13px}
  .editor-helper{padding:9px 0;gap:5px;font-size:9px}
  .editor-helper span:first-child{line-height:1.55;max-width:100%}
  .editor-helper code{font-size:9px}
  .editor-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px}
  .editor-footer-right{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;width:100%}
  .save-status{display:block;grid-column:1/-1;max-width:none;font-size:9px;margin:0;min-height:12px}
  .editor-footer .btn{min-width:0;width:100%;min-height:42px;padding:0 9px;font-size:11px;white-space:normal}
  #editor-delete{width:100%}
  .editor-footer-right .btn-primary{gap:5px}
  .editor-footer-right .btn-primary span{flex:0 0 auto}
}
@media(max-width:390px){
  .modal-overlay{padding-left:5px;padding-right:5px}
  .editor-modal{border-radius:12px}
  .editor-header{padding:10px 11px}
  .editor-header h2{font-size:14px}
  .editor-main{padding:12px 11px 5px}
  .title-input{font-size:18px}
  .editor-footer{padding:9px 10px}
  .editor-footer .btn{font-size:10px}
}
@media(max-height:520px) and (max-width:950px){
  .modal-overlay{align-items:center}
  .editor-modal{height:calc(100dvh - 16px)}
  .editor-header{padding-top:8px;padding-bottom:8px}
  .editor-main{padding-top:9px;padding-bottom:4px}
  .note-body,.note-preview{min-height:95px}
  .editor-footer{padding-top:7px;padding-bottom:7px;gap:5px}
}

/* MindMesh 1.1: hand-drawn connections and distraction-free topology mode. */
.connect-tool{border-color:#ffca8233;color:#ffd89d;background:#ffca820b}
.connect-tool:hover,.connect-tool.active{border-color:#ffca826e;color:#fff0cf;background:#ffca8218}
.connect-tool.active{box-shadow:0 0 0 1px #ffca8215,inset 0 0 18px #ffca8208}
.fullscreen-tool{border-color:#67e8f928;color:#8feaf5;background:#67e8f909}
.fullscreen-tool:hover{border-color:#67e8f966;background:#67e8f914;color:#dffcff}
.line-manual{height:0;border-top:2px dashed #ffca82;opacity:.9}
.graph-connect-hint{position:absolute;z-index:6;top:51px;left:12px;max-width:min(520px,calc(100% - 24px));padding:9px 12px;border-radius:9px;border:1px solid #ffca8245;background:#211c17ed;color:#ffe1ac;box-shadow:0 10px 35px #0004;font-size:10px;line-height:1.5;pointer-events:none;overflow-wrap:anywhere}
.neighbor-row{display:flex;align-items:center;gap:3px;min-width:0}
.neighbor-row .neighbor-item{flex:1;min-width:0;margin:0}
.neighbor-item small{margin-left:auto;flex:0 0 auto;font:7px var(--mono);letter-spacing:.25px;color:#758da4}
.neighbor-remove{width:25px;height:25px;flex:0 0 25px;border:1px solid #ffca8220;border-radius:6px;background:#ffca8208;color:#ffca82;font-size:16px;line-height:1}
.neighbor-remove:hover{background:#ffca821d;border-color:#ffca8266;color:#fff0cd}

/* A true app-level immersive view: only topology controls and the graph remain visible. */
body.topology-fullscreen{overflow:hidden;background:#07111d}
body.topology-fullscreen .sidebar,
body.topology-fullscreen .topbar,
body.topology-fullscreen .mobile-scrim,
body.topology-fullscreen .app-footer,
body.topology-fullscreen #view-overview,
body.topology-fullscreen #view-notes,
body.topology-fullscreen #view-tags,
body.topology-fullscreen #view-starred,
body.topology-fullscreen #view-trash{display:none!important}
body.topology-fullscreen .main-panel{width:100%;max-width:none;min-width:0;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden}
body.topology-fullscreen #view-topology{position:fixed;z-index:1000;inset:0;display:flex!important;flex-direction:column;gap:10px;min-width:0;min-height:0;height:100dvh;margin:0;padding:12px;background:#07111d;overflow:hidden;animation:none}
body.topology-fullscreen .topology-heading{display:none!important}
body.topology-fullscreen .graph-toolbar{display:flex;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px;border-radius:12px;background:#0c1827f5}
body.topology-fullscreen .graph-mode-group,
body.topology-fullscreen .graph-actions{display:flex;width:auto;min-width:0;flex-wrap:wrap;gap:6px}
body.topology-fullscreen .graph-actions{justify-content:flex-end}
body.topology-fullscreen .toolbar-label{font-size:8px;margin:0 5px 0 2px}
body.topology-fullscreen .mode-btn,
body.topology-fullscreen .tool-btn{min-height:34px;height:34px;font-size:10px;padding:0 10px}
body.topology-fullscreen .graph-search{width:min(210px,22vw);min-width:105px;height:34px}
body.topology-fullscreen .graph-search input{font-size:11px}
body.topology-fullscreen .graph-layout{display:block;flex:1 1 auto;min-height:0;height:auto;overflow:hidden}
body.topology-fullscreen .graph-stage{width:100%;height:100%;min-height:0;border-radius:12px;overflow:hidden;border-color:#9bc9de20}
body.topology-fullscreen .graph-stage:after{inset:43px 0 48px;background-size:35px 35px}
body.topology-fullscreen .graph-inspector,
body.topology-fullscreen .graph-note{display:none!important}
body.topology-fullscreen .graph-legend{gap:16px;padding:0 15px;height:48px}
body.topology-fullscreen .graph-legend .legend-help{margin-left:auto}
body.topology-fullscreen .graph-connect-hint{top:53px;left:14px}
body.topology-fullscreen .toast-root{z-index:1100}

@media(max-width:1100px){
  body.topology-fullscreen #view-topology{padding:9px;gap:8px}
  body.topology-fullscreen .graph-toolbar{align-items:flex-start;flex-direction:column}
  body.topology-fullscreen .graph-mode-group,body.topology-fullscreen .graph-actions{width:100%;justify-content:flex-start}
  body.topology-fullscreen .graph-search{width:160px;flex:1}
}
@media(max-width:670px){
  .graph-connect-hint{top:50px;left:8px;padding:8px 9px;font-size:9px}
  .neighbor-item small{display:none}
  body.topology-fullscreen #view-topology{padding:max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));gap:6px}
  body.topology-fullscreen .graph-toolbar{padding:7px;gap:7px;border-radius:9px}
  body.topology-fullscreen .graph-mode-group,body.topology-fullscreen .graph-actions{gap:4px;flex-wrap:wrap}
  body.topology-fullscreen .toolbar-label{width:100%;margin-bottom:0}
  body.topology-fullscreen .mode-btn{height:31px;min-height:31px;padding:0 7px;font-size:9px}
  body.topology-fullscreen .tool-btn{height:32px;min-height:32px;padding:0 8px;font-size:9px}
  body.topology-fullscreen .graph-search{height:32px;min-width:100px;width:auto;flex:1}
  body.topology-fullscreen .graph-stage{border-radius:8px}
  body.topology-fullscreen .graph-stage-top{height:37px}
  body.topology-fullscreen .graph-stage canvas{top:37px;height:calc(100% - 84px);inset:37px 0 47px}
  body.topology-fullscreen .graph-stage:after{inset:37px 0 47px;background-size:25px 25px}
  body.topology-fullscreen .graph-legend{height:47px;padding:0 7px;gap:8px;font-size:7px;justify-content:center}
  body.topology-fullscreen .graph-legend .legend-help{display:none}
  body.topology-fullscreen .graph-connect-hint{top:44px;left:7px;max-width:calc(100% - 14px);font-size:9px}
  body.topology-fullscreen .graph-stage-stats{font-size:7px}
}
@media(max-width:390px){
  body.topology-fullscreen .graph-actions .tool-btn{font-size:9px;gap:5px}
  body.topology-fullscreen .graph-mode-group{gap:2px}
  body.topology-fullscreen .mode-btn{padding:0 5px;font-size:8px}
}

@media(max-width:390px){
  .graph-actions .connect-tool,.graph-actions .fullscreen-tool{font-size:8px;gap:3px;padding:0 5px;white-space:nowrap}
}
body.topology-fullscreen .modal-overlay{z-index:1200}
