:root{--bg: #0b1020;--bg-soft: #131932;--bg-card: #1a2142;--border: #2a3258;--fg: #e6edf3;--fg-muted: #8b94b8;--accent: #7c9eff;--accent-strong: #4f7cff;--ok: #22c55e;--err: #ef4444;--warn: #f59e0b;--type-text: #10b981;--type-json: #f59e0b;--type-markdown: #3b82f6}@media (prefers-color-scheme: light){:root{--bg: #f6f8fc;--bg-soft: #ffffff;--bg-card: #ffffff;--border: #d8dde8;--fg: #0f172a;--fg-muted: #64748b;--accent: #2563eb;--accent-strong: #1d4ed8}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font:inherit;color:inherit}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.92em;background:#ffffff0f;padding:1px 6px;border-radius:4px}@media (prefers-color-scheme: light){code{background:#0000000d}}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-soft);flex-wrap:wrap}.title-block{display:flex;flex-direction:column;margin-right:auto}.title-block h1{font-size:18px;margin:0;letter-spacing:-.01em}.subtitle{font-size:12px;color:var(--fg-muted)}.header-right{display:flex;align-items:center;gap:12px}.vault-meter{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-variant-numeric:tabular-nums}.meter-primary{font-size:16px;font-weight:600;color:var(--fg)}.meter-secondary,.meter-divider{color:var(--fg-muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:var(--bg-card);border:1px solid var(--border)}.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--fg-muted)}.badge-loading .badge-dot{background:var(--warn);animation:pulse 1.4s ease-in-out infinite}.badge-ready .badge-dot{background:var(--ok)}.badge-error .badge-dot,.badge-unsupported .badge-dot{background:var(--err)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.demo-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--accent-strong);background:var(--accent-strong);color:#fff;cursor:pointer;font-weight:500}.demo-btn:hover:not(:disabled){background:var(--accent)}.demo-btn:disabled{opacity:.6;cursor:progress}.banner{padding:10px 16px;font-size:13px}.banner-unsupported{background:#ef44441f;color:#fecaca;border-bottom:1px solid rgba(239,68,68,.4)}@media (prefers-color-scheme: light){.banner-unsupported{color:#7f1d1d}}.banner-detail{color:var(--fg-muted);margin-left:6px}.layout{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:16px;padding:16px;min-height:0}@media (max-width: 900px){.layout{grid-template-columns:1fr}}.treemap-col{display:flex;flex-direction:column;gap:8px;min-height:320px}.side-col{display:flex;flex-direction:column;gap:16px;min-height:0}.treemap{position:relative;flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:320px}.treemap-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--fg-muted);padding:24px;text-align:center}.tile{position:absolute;border:1px solid rgba(0,0,0,.25);padding:6px 8px;cursor:pointer;text-align:left;overflow:hidden;transition:filter .12s ease,transform .12s ease;color:#000000d9;font-size:11px;line-height:1.25}.tile:hover{filter:brightness(1.08);z-index:2}.tile-selected{outline:2px solid white;outline-offset:-3px;z-index:3}.tile-label{display:flex;flex-direction:column;gap:2px}.tile-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-size{font-variant-numeric:tabular-nums;opacity:.75}.legend{display:flex;align-items:center;gap:16px;padding:6px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--fg-muted)}.legend-spacer{flex:1}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:2px}.legend-text{background:var(--type-text)}.legend-json{background:var(--type-json)}.legend-markdown{background:var(--type-markdown)}.legend-hint{font-style:italic}.pane{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-height:0}.pane-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.pane-header h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:0}.pane-byte{color:var(--fg-muted);font-size:12px;font-variant-numeric:tabular-nums}.title-input,.tags-input{background:var(--bg-soft);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:inherit}.title-input:focus,.tags-input:focus,.body-input:focus{outline:none;border-color:var(--accent)}.body-input{background:var(--bg-soft);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;resize:vertical;min-height:140px}.capture-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auto-type{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-muted);cursor:pointer}.type-picker{display:flex;gap:6px}.type-picker[aria-disabled=true] .chip{opacity:.65}.chip{padding:4px 10px;font-size:12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg);cursor:pointer}.chip-active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.chip-auto{font-size:10px;text-transform:uppercase;opacity:.75;margin-left:4px}.hint{padding:8px 10px;border-radius:6px;font-size:12.5px}.hint-info{background:#7c9eff1f;color:var(--accent);border:1px solid rgba(124,158,255,.25)}.hint-error{background:#ef444424;color:#fecaca;border:1px solid rgba(239,68,68,.3)}@media (prefers-color-scheme: light){.hint-error{color:#7f1d1d}}.hint-ok{background:#22c55e24;color:#bbf7d0;border:1px solid rgba(34,197,94,.3)}@media (prefers-color-scheme: light){.hint-ok{color:#14532d}}.save-btn{margin-top:4px;padding:10px 14px;border-radius:8px;background:var(--accent-strong);color:#fff;border:1px solid var(--accent-strong);cursor:pointer;font-weight:600}.save-btn:hover:not(:disabled){background:var(--accent)}.save-btn:disabled{opacity:.55;cursor:not-allowed}.wipe-btn{background:transparent;color:var(--fg-muted);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.wipe-btn:hover{border-color:var(--err);color:var(--err)}.filter-bar{display:flex;flex-direction:column;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--border)}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.muted{color:var(--fg-muted);font-size:13px}.triage-list{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:100%;flex:1}.triage-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--border)}.triage-row-selected{background:#7c9eff14}.triage-row-main{background:transparent;border:0;padding:0;text-align:left;display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;color:inherit}.type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.type-dot-text{background:var(--type-text)}.type-dot-json{background:var(--type-json)}.type-dot-markdown{background:var(--type-markdown)}.triage-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.triage-meta{color:var(--fg-muted);font-size:11px;font-variant-numeric:tabular-nums;flex-shrink:0}.tags-display{background:transparent;border:0;padding:0;display:flex;gap:4px;flex-wrap:wrap;cursor:text;max-width:200px}.tag-pill{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg-muted)}.tags-edit{background:var(--bg-soft);color:var(--fg);border:1px solid var(--accent);border-radius:4px;padding:2px 6px;font-size:11px;width:200px}.row-delete{background:transparent;border:0;color:var(--fg-muted);font-size:18px;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer}.row-delete:hover{background:#ef444426;color:var(--err)}.modal-backdrop,.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:380px;width:calc(100% - 40px)}.modal h3{margin:0 0 8px}.modal p{color:var(--fg-muted);margin:0 0 16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--fg);padding:6px 14px;border-radius:6px;cursor:pointer}.btn-danger{background:var(--err);border:1px solid var(--err);color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:600}.detail{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:min(640px,calc(100% - 32px));max-height:calc(100% - 80px);display:flex;flex-direction:column}.detail-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.detail-header h3{margin:0;flex:1;font-size:15px}.detail-meta{color:var(--fg-muted);font-size:12px}.detail-close{background:transparent;border:0;color:var(--fg-muted);font-size:22px;cursor:pointer;width:28px;height:28px;border-radius:50%}.detail-close:hover{background:#ffffff14}.detail-body{margin:0;padding:16px;overflow:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.app-footer{padding:10px 20px;font-size:12px;color:var(--fg-muted);border-top:1px solid var(--border);background:var(--bg-soft);text-align:center}
