:root{--bg:#f7f6f3;--panel:#fff;--text:#22201c;--muted:#6b665d;--border:#e3e0d8;--accent:#6d5ce8;--accent-text:#fff;--danger:#c2413b;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--panel:#24221f;--text:#ece8e0;--muted:#a39d92;--border:#3a3732;--accent:#8f81ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.page{max-width:480px;margin:0 auto;padding:32px 16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:20px}h1{margin:0 0 8px;font-size:1.8rem}h2{margin:0 0 12px;font-size:1.15rem}.muted{color:var(--muted)}label{margin:12px 0 4px;font-weight:600;display:block}input[type=text],input[type=password],input:not([type]){border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem}button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 16px;font-size:1rem}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;padding:4px 0}button:disabled{opacity:.5;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.error{color:var(--danger)}.pin input{letter-spacing:.5em;text-align:center;font-size:1.4rem}.pin-dots{justify-content:center;gap:8px;margin-top:8px;display:flex}.pin-dots i{border:2px solid var(--muted);border-radius:50%;width:12px;height:12px}.pin-dots i.on{background:var(--accent);border-color:var(--accent)}.swatches{gap:8px;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:32px;height:32px;padding:0}.swatch[aria-checked=true]{border-color:var(--text)}.tiles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.tile{text-align:center;padding:16px}.avatar{border-radius:50%;width:40px;height:40px;margin-bottom:8px;display:inline-block}.code{letter-spacing:.08em;font-family:ui-monospace,monospace;font-size:1.2rem}.shell{grid-template-columns:1fr;gap:16px;max-width:960px;margin:0 auto;padding:16px;display:grid}@media (width>=800px){.shell{grid-template-columns:1fr 340px}}.topbar{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.person{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;display:flex}.qr-placeholder{background:var(--border);border-radius:8px;width:220px;height:220px}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);max-width:360px}.vault{flex-direction:column;min-height:100vh;display:flex}.topbar{flex-wrap:wrap;gap:12px}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:var(--panel);border:none;border-radius:0;padding:6px 12px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.person-chip{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.banner{margin:8px 16px 0}.settings{width:100%;max-width:640px;margin:0 auto;padding:16px}.notes{flex:1;grid-template-columns:260px 1fr;min-height:0;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--panel);padding:12px;overflow-y:auto}.drawer-toggle{display:none}.editor-area{min-width:0;padding:0 24px 48px;overflow-y:auto}.editor-area>*{max-width:760px}.tree{margin:0;padding-left:12px;list-style:none}.sidebar>nav>.tree{padding-left:0}.tree-actions{margin-bottom:8px}.tree-actions button{padding:6px 10px;font-size:.9rem}.tree-row{border-radius:6px;align-items:center;display:flex}.tree-row.active,.tree-row:hover{background:var(--bg)}.tree-item{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:5px 6px;font-size:.95rem;overflow:hidden}.tree-more{color:var(--muted);background:0 0;border:none;padding:2px 8px}.tree-menu{flex-direction:column;gap:4px;padding:6px 8px 8px 20px;display:flex}.tree-menu button{text-align:left;padding:4px 8px;font-size:.9rem}.tree-menu label{margin:0;font-size:.9rem;font-weight:400}.tree-input input{padding:4px 8px;font-size:.95rem}.tabs{border-bottom:1px solid var(--border);gap:2px;max-width:none;margin:0 -24px;padding:8px 24px 0;display:flex;overflow-x:auto}.tab{border:1px solid var(--border);background:var(--bg);border-bottom:none;border-radius:8px 8px 0 0;align-items:center;display:inline-flex}.tab.active{background:var(--panel)}.tab button{white-space:nowrap;background:0 0;border:none;padding:6px 10px;font-size:.9rem}.tab .tab-close{color:var(--muted);padding:6px 8px 6px 0}.note-title{margin:20px 0 4px}.note-bar{border-bottom:1px solid var(--border);padding:6px 0;font-size:.9rem}.note-bar .segmented button{padding:4px 10px;font-size:.85rem}.status-disconnected{color:var(--danger)}.note-reading{overflow-wrap:anywhere;padding:12px 0;line-height:1.65}.note-reading a{color:var(--accent)}.note-reading pre,.note-reading code{background:var(--bg);border-radius:4px;font-family:ui-monospace,monospace}.note-reading pre{padding:12px;overflow-x:auto}.note-reading blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0;padding-left:12px}.note-reading table{border-collapse:collapse}.note-reading td,.note-reading th{border:1px solid var(--border);padding:4px 8px}@media (width<=760px){.notes{grid-template-columns:1fr}.drawer-toggle{justify-self:start;margin:8px 16px 0;display:block}.sidebar{z-index:10;border-right:none;display:none;position:fixed;inset:56px 0 0}.sidebar.open{display:block}.editor-area{padding:0 16px 48px}.tabs{margin:0 -16px;padding:8px 16px 0}}.note-head{align-items:baseline;gap:12px}.pill{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:3px 10px;font-size:.85rem}button.pill{cursor:pointer}.sheet{z-index:20;width:min(420px,100vw - 32px);max-height:80vh;margin:0 auto;position:fixed;inset:10% 0 auto;overflow-y:auto;box-shadow:0 10px 40px #00000040}.sheet fieldset{border:1px solid var(--border);border-radius:8px;margin:0 0 12px;padding:8px 12px}.sheet legend{padding:0 4px;font-weight:600}.choice,.people-pick label{margin:6px 0;font-weight:400}.people-pick{padding-left:24px}.reveal-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.reveal-row select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:4px 6px}.hidden-item>span:first-child{opacity:.55}.rule{margin:8px 0}.rule label{margin:0;font-weight:400}.rule-hint{margin:2px 0 0 24px;font-size:.85rem}.banner-inline{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:.9rem}.notes{grid-template-columns:260px 1fr 260px}.connections{border-left:1px solid var(--border);background:var(--panel);padding:12px;font-size:.92rem;overflow-y:auto}.connections h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px;font-size:.85rem}.connections ul{margin:0;padding:0;list-style:none}.connections li button{text-align:left;padding:3px 0}button.link.unresolved,.wikilink.unresolved{color:var(--muted);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wikilink{color:var(--accent);cursor:pointer;text-decoration:none}.note-reading a.wikilink:hover{text-decoration:underline}.map-canvas{border:1px solid var(--border);background:var(--bg);touch-action:none;border-radius:8px;margin-top:8px;display:block}.map-view{padding:12px 16px}.map-bar{justify-content:space-between}.embed{border-left:3px solid var(--accent);background:var(--bg);border-radius:0 8px 8px 0;margin:8px 0;padding:4px 12px}.embed-title{margin-top:4px;font-size:.85rem}.hover-preview{z-index:30;background:var(--panel);border:1px solid var(--border);pointer-events:none;border-radius:10px;width:320px;max-height:280px;padding:8px 14px;font-size:.9rem;position:fixed;overflow:hidden;box-shadow:0 8px 30px #0003}.toasts{z-index:40;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--accent);color:var(--accent-text);text-align:left;border:none;border-radius:10px;max-width:320px;padding:12px 16px;box-shadow:0 8px 30px #00000040}@media (width<=1100px){.notes{grid-template-columns:260px 1fr}.connections{border-left:none;border-top:1px solid var(--border);grid-column:2}}@media (width<=760px){.notes{grid-template-columns:1fr}.connections{grid-column:1}}
