@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;600&display=swap";:root{color-scheme:dark;--ink: #e9f2f3;--muted: #8fa1a6;--surface: #0a0f14;--surface-strong: #111922;--surface-soft: #0d151d;--accent: #37f1c6;--accent-deep: #168a73;--highlight: #f0b35a;--danger: #ff6b5a;--stroke: #1f2b34;--shadow: 0 16px 32px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,sans-serif;color:var(--ink);background-color:var(--surface);background-image:radial-gradient(circle at 10% 20%,rgba(55,241,198,.15),transparent 45%),radial-gradient(circle at 85% 15%,rgba(240,179,90,.16),transparent 40%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,auto,32px 32px,32px 32px;min-height:100vh}input,textarea,select,button{font-family:inherit;color:inherit}button{border:none;border-radius:8px;padding:.4rem .9rem;cursor:pointer;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000059}.icon-only{background:transparent;border:none;padding:0;box-shadow:none}.icon-only:hover{transform:none;box-shadow:none}.ghost.icon-only{border:none;background:transparent}button.primary{background:var(--accent);color:#051513}button.ghost{background:#0f171d99;border:1px solid var(--stroke);color:var(--ink)}button.danger{background:#ff6b5a33;color:var(--danger);border:1px solid rgba(255,107,90,.35)}button.compact{padding:.3rem .75rem;font-size:.8rem}.collapse-button{min-width:2rem;padding:.3rem .4rem;font-family:IBM Plex Mono,monospace}.add-child-button{min-width:.8rem;height:.8rem;padding:0;font-family:IBM Plex Mono,monospace;border-radius:8px}.add-child-button--label{height:auto;padding:.3rem .75rem}.collapse-button svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 4rem}.topbar{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;justify-content:space-between;margin-bottom:1.6rem;padding:1rem 1.2rem;background:#0b1117d9;border:1px solid var(--stroke);border-radius:16px;box-shadow:var(--shadow)}.brand{display:flex;gap:.8rem;align-items:center}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(140deg,var(--accent),#1a3f40);display:grid;place-items:center;font-size:.95rem;font-weight:700;letter-spacing:.08em;color:#02110f}.brand-title{font-weight:700;font-size:1.1rem}.brand-subtitle{font-size:.85rem;color:var(--muted)}.filters{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end;padding:.6rem .8rem;border-radius:12px;background:#080c1080;border:1px solid rgba(255,255,255,.06)}.top-actions{display:flex;gap:.6rem;align-items:center}.view-tabs{display:inline-flex;gap:.4rem;padding:.35rem;border:1px solid var(--stroke);border-radius:10px;background:#080c1099;align-self:flex-end}.view-tabs .ghost.is-active{background:#37f1c626;border-color:#37f1c666}label{display:grid;gap:.35rem;font-weight:600;font-size:.75rem;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}input,textarea,select{border-radius:8px;border:1px solid var(--stroke);padding:.45rem .6rem;font-size:.9rem;background:var(--surface-soft)}textarea{min-height:90px;resize:vertical}.tree-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tree-header h2{margin:0}.subtle{margin:.4rem 0 0;color:var(--muted);font-size:.9rem}.tree{background:#0b1117c7;border:1px solid var(--stroke);border-radius:18px;padding:1.2rem;box-shadow:var(--shadow)}.tree-view--mindmap .node{margin-left:0!important}.mindmap-row{margin-bottom:.6rem;animation:fadeUp .35s ease both;animation-delay:var(--row-delay, 0ms)}.mindmap-node{background:#0e161de6;border:1px solid var(--stroke);border-radius:999px;padding:.6rem 1rem;display:inline-flex;flex-direction:column;gap:.4rem;box-shadow:0 10px 20px #00000040}.mindmap-title{display:flex;align-items:center;gap:.5rem}.mindmap-text{font-weight:600}.mindmap-desc{color:var(--muted);font-size:.85rem}.mindmap-footer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mindmap-actions{display:inline-flex;gap:.4rem;align-items:center}.mindmap-actions .status-toggle{font-size:.65rem}.tree-view--mindmap .node-children{border-left:none;padding-left:0;display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem}.tree-view--mindmap .node-children>.node{margin-top:0}.tree-view--diagram .node{margin-left:0!important}.diagram-row{margin-bottom:.8rem;animation:fadeUp .35s ease both;animation-delay:var(--row-delay, 0ms)}.diagram-card{background:#0d141bf2;border:1px solid var(--stroke);border-radius:12px;padding:.8rem 1rem;box-shadow:0 14px 24px #0000004d}.diagram-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.diagram-title{font-weight:700}.diagram-body{margin-top:.5rem;color:var(--muted);font-size:.9rem}.diagram-footer{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}.diagram-actions{margin-left:auto;display:inline-flex;gap:.4rem;align-items:center}.node{background:transparent;border-radius:10px;padding:0;margin-bottom:.4rem;box-shadow:none;border:none;position:relative}.node.is-active{outline:none}.node-row{display:grid;gap:.4rem;align-items:center}.node-title h3{margin:0;font-size:.98rem;font-weight:600;white-space:nowrap}.node-summary{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.85rem}.type-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 8px #37f1c680;display:inline-block}.type-dot.type-spike{background:var(--accent)}.type-dot.type-task{background:#f9c288}.type-dot.type-story{background:#ff9e93}.status-dot{width:8px;height:8px;border-radius:999px;background:#8b9aa0;display:inline-block}.status-dot.status-todo{background:#ff6b5a}.status-dot.status-in-progress{background:#5fd3ff}.status-dot.status-done{background:#7bf3a6}.meta-chip{font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:6px;background:#080c10d9;border:1px solid var(--stroke);color:var(--muted)}.meta-chip.status-todo{color:#ff6b5a}.meta-chip.status-in-progress{color:#5fd3ff}.meta-chip.status-done{color:#7bf3a6}.explorer-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.35rem .2rem;border-bottom:1px dashed rgba(255,255,255,.08);animation:fadeUp .35s ease both;animation-delay:var(--row-delay, 0ms)}.explorer-main{display:flex;align-items:center;gap:.5rem;min-width:0}.explorer-title{font-weight:600}.explorer-summary{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explorer-meta{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap}.explorer-actions{display:inline-flex;gap:.4rem;align-items:center}.meta-date{font-size:.7rem;letter-spacing:.02em;color:var(--muted)}.meta-action{font-size:.75rem;color:var(--muted);min-width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0}.meta-chip.progress-done{color:#7bf3a6;border-color:#7bf3a659}.meta-chip.progress-active{color:#5fd3ff;border-color:#5fd3ff59}.meta-chip.progress-todo{color:#ff6b5a;border-color:#ff6b5a59}.type-pill,.status-pill,.node-growth,.node-progress{font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .5rem;border-radius:6px;background:#080c10d9;border:1px solid var(--stroke)}.type-spike{background:#2be4d61f;color:var(--accent)}.type-task{background:#f2a14a26;color:#f9c288}.type-story{background:#ff6b5a2e;color:#ff9e93}.status-todo{color:#ff6b5a;background:#ff6b5a29}.status-in-progress{color:#5fd3ff;background:#2be4d61f}.status-done{color:#7bf3a6;background:#3cb37124}.node-body{margin-top:.65rem;display:grid;gap:.7rem}.node-description{color:var(--muted);margin:0}.row{display:flex;gap:1rem;flex-wrap:wrap}.node-children{margin-top:.4rem;padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.12);overflow:hidden;max-height:2000px;opacity:1;transform:translateY(0);transition:max-height .28s ease,opacity .2s ease,transform .2s ease}.node-children>.node{margin-top:.35rem}.node-children.is-collapsed{max-height:0;opacity:0;transform:translateY(-6px);margin-top:0;padding-left:1.2rem;border-left-color:transparent;pointer-events:none}.empty{padding:1rem;background:var(--surface-soft);border-radius:12px;border:1px dashed var(--stroke);color:var(--muted)}.warning{border:1px solid rgba(240,179,90,.45);background:#f0b35a1f;color:#f0b35a;padding:.5rem .7rem;border-radius:8px;font-size:.85rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#03090cb8;display:grid;place-items:center;z-index:10;padding:1.5rem}.modal{background:var(--surface-strong);border-radius:18px;padding:1.2rem 1.4rem;max-width:560px;width:100%;box-shadow:var(--shadow);border:1px solid var(--stroke)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-body{display:grid;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.stat{border:1px solid var(--stroke);border-radius:12px;padding:.7rem;background:#121b22cc}.stat-label{display:block;color:var(--muted);font-size:.82rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.8rem}.file-input{display:inline-flex;align-items:center;gap:.6rem;border:1px dashed var(--stroke);border-radius:999px;padding:.35rem .9rem;font-weight:600;cursor:pointer}.file-input input{display:none}@media (max-width: 720px){.topbar{flex-direction:column;align-items:flex-start}.node{margin-left:0!important}.node-header{flex-direction:column;align-items:flex-start}}.status-toggle{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--stroke);border-radius:999px;padding:.2rem .6rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:#080c10d9;color:var(--muted)}.status-toggle--icon{padding:.2rem .4rem}.status-toggle .status-label{line-height:1}.status-toggle .status-indicator{width:8px;height:8px;border-radius:999px;background:currentColor}.status-toggle.status-todo{color:#ff6b5a}.status-toggle.status-in-progress{color:#5fd3ff}.status-toggle.status-done{color:#7bf3a6}
