:root{--bg: var(--theme-primary);--bg-2: var(--theme-secondary);--panel: var(--theme-primary);--panel-2: var(--theme-secondary);--line: var(--theme-accent);--text: var(--theme-text);--muted: var(--theme-text-secondary);--accent: var(--theme-accent);--accent-2: var(--theme-accent);--warn:#f6e05e;--danger:#ef4444;--ok:#22c55e;--shadow:0 10px 30px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Oxanium,system-ui,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(1200px 800px at 30% -10%,rgba(17,179,183,.06),transparent 60%),radial-gradient(800px 600px at 100% 10%,rgba(103,232,249,.05),transparent 50%),var(--bg)}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px 16px;background:linear-gradient(180deg,#020a10cc,#020a1080),linear-gradient(90deg,var(--theme-primary),var(--theme-secondary));border-bottom:1px solid var(--theme-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{letter-spacing:.06em;font-weight:600;font-size:1.05rem}.brand .glow{color:var(--accent);text-shadow:0 0 10px rgba(17,179,183,.6)}.header-right{margin-left:auto;color:var(--muted);font-family:Share Tech Mono,monospace;font-size:.9rem}main{height:calc(100% - 60px);display:grid;grid-template-columns:340px 1fr;gap:12px;padding:12px}.panel{background:linear-gradient(180deg,#12202d66,#12202d33),linear-gradient(180deg,var(--theme-primary) 0%,var(--theme-secondary) 100%);border:1px solid var(--theme-accent);border-radius:12px;padding:12px;box-shadow:var(--shadow)}.section-title{margin:0 0 10px;font-size:.95rem;color:#cfe3f5;letter-spacing:.02em}.list{display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow:auto;padding-right:6px}.item{display:flex;justify-content:space-between;align-items:center;padding:8px;border:1px solid var(--theme-accent);border-radius:10px;background:var(--theme-primary)}.small{color:var(--muted);font-size:.85rem}input,select,button,textarea{background:var(--theme-primary);color:var(--text);border:1px solid var(--theme-accent);border-radius:10px;padding:8px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 2px #11b3b740}button{cursor:pointer;transition:transform .05s ease,background .2s ease,border-color .2s;-webkit-user-select:none;user-select:none}button:hover{transform:translateY(-1px)}.btn{background:linear-gradient(180deg,var(--theme-secondary),var(--theme-primary));border:1px solid var(--theme-accent)}.btn.primary{background:linear-gradient(180deg,#11b3b740,#11b3b71f);border-color:#11b3b799;color:#dffbff;text-shadow:0 0 6px rgba(17,179,183,.6)}.btn.warn{background:linear-gradient(180deg,#f6e05e24,#f6e05e14);border-color:#f6e05e59;color:#fffbea}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:#0a141c;color:var(--muted);font-size:.75rem}.graph-shell{height:calc(100% - 62px);margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative;background:radial-gradient(600px 400px at 70% 20%,rgba(17,179,183,.05),transparent 60%),linear-gradient(180deg,#071119,#081118)}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000000b3,#0003);mask-image:linear-gradient(180deg,#000000b3,#0003)}.sec-chip{width:10px;height:10px;border-radius:2px;display:inline-block;margin-right:6px}.sec-hs{background:#2dd4bf}.sec-ls{background:#f59e0b}.sec-ns{background:#ef4444}.sec-wh{background:#93c5fd}hr{border:0;border-top:1px solid var(--line);margin:12px 0}.search-wrap{position:relative}.search-input{min-width:260px}.search-dropdown{position:absolute;top:40px;left:0;right:0;z-index:20;background:linear-gradient(180deg,#0a141c,#0b1722);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:300px;overflow:auto}.search-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03)}.search-item:last-child{border-bottom:0}.sec-square{width:10px;height:10px;display:inline-block;border-radius:2px}.search-item .name{flex:1}.search-item .meta{color:var(--muted);font-size:.8rem}.search-item:hover,.search-item.active{background:#11b3b71f}:root{--bg: var(--theme-primary);--panel: var(--theme-primary);--panel-2: var(--theme-secondary);--text: var(--theme-text);--muted: var(--theme-text-secondary);--accent: var(--theme-accent);--danger: var(--theme-accent)}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Oxanium,system-ui,Segoe UI,Roboto,sans-serif}main{display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px}.panel,.sidebar{background:var(--theme-primary);border:1px solid var(--theme-accent);border-radius:12px;color:var(--theme-text)}.sidebar{padding:12px}.sidebar .header,.section-title{margin:6px 0 10px;font-weight:700;color:var(--theme-text-secondary)}.input{width:100%;background:var(--theme-primary);border:1px solid var(--theme-accent);color:var(--theme-text);border-radius:8px;padding:8px 10px;outline:none}.input::placeholder{color:var(--theme-text-secondary)}.btn{background:linear-gradient(var(--theme-secondary),var(--theme-primary));border:1px solid var(--theme-accent);color:var(--theme-text);padding:6px 10px;border-radius:8px;cursor:pointer;transition:filter .15s ease}.btn:hover{filter:brightness(1.1)}.btn-danger{border-color:#ff6b6b80;color:#ffb3b3}.btn.active{background:linear-gradient(180deg,#11b3b752,#11b3b726);border-color:#11b3b7e6;color:#eaffff;box-shadow:0 6px 18px #11b3b72e,inset 0 0 0 2px #ffffff05;transform:translateY(-1px)}.btn.active:hover{filter:none}.hovertip{background:var(--theme-secondary);color:var(--theme-text);border:1px solid var(--theme-accent);border-radius:8px;padding:8px 10px;font-size:12px;max-width:360px;white-space:normal;box-shadow:0 8px 24px #0009}.hovertip a,.note-content a,.input[contenteditable] a,.input a{color:#b9f7ff;text-decoration:underline}.input[contenteditable] a{outline:none}.map-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:8px}.map-row.active,.hover-row:hover,.map-row:hover{background:var(--theme-secondary)}.muted{color:var(--theme-text-secondary)}.small{color:var(--theme-text-secondary);font-size:12px}
