@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper:#fbf6ec;--paper-2:#f5eedd;--paper-3:#ede3cc;--ink:#2a241d;--ink-2:#5c5247;--ink-3:#8b7f70;--sand-50:#f2ebd9;--sand-100:#e7ddc4;--sand-200:#d6c9ab;--sand-300:#bdac8c;--sand-400:#998970;--sand-500:#756857;--sand-700:#4a4239;--sand-900:#2a241d;--terracotta:#c8623e;--terracotta-deep:#a84e2d;--terracotta-soft:#e89a7c;--terracotta-wash:#f6e2d6;--moss:#6b7f4f;--moss-deep:#54663c;--moss-soft:#a4b585;--moss-wash:#e4e9d5;--ochre:#d4a24c;--ochre-deep:#b5852e;--ochre-soft:#e8c57f;--ochre-wash:#f5e6c2;--clay:#b4593e;--clay-wash:#f0d6cb;--garnet:#b0271c;--garnet-wash:#f3d6cf;--petrol:#2d5c6f;--petrol-wash:#c9dde3;--plum:#6f4a6e;--plum-wash:#e5d6e4;--bg:var(--paper);--bg-sunken:var(--paper-2);--bg-deep:var(--paper-3);--surface:var(--paper);--surface-2:var(--paper-2);--fg:var(--ink);--fg-muted:var(--ink-2);--fg-subtle:var(--ink-3);--fg-on-accent:var(--paper);--border:var(--sand-200);--border-strong:var(--sand-300);--border-subtle:var(--sand-100);--accent:var(--terracotta);--accent-hover:var(--terracotta-deep);--accent-wash:var(--terracotta-wash);--accent-fg:var(--paper);--success:var(--moss);--success-wash:var(--moss-wash);--warning:var(--ochre-deep);--warning-wash:var(--ochre-wash);--danger:var(--garnet);--danger-wash:var(--garnet-wash);--focus-ring:color-mix(in oklch, var(--terracotta) 40%, transparent);--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Google Sans Flex", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-serif:var(--font-display);--font-sans:var(--font-body);--text-xs:12px;--text-sm:13.5px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:25px;--text-2xl:31px;--text-3xl:39px;--text-4xl:49px;--text-5xl:61px;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-loose:1.7;--weight-regular:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--sidebar-w:248px;--rail-w:56px;--detail-w:380px;--content-max:780px;--content-max-wide:1040px;--radius-xs:4px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-soft:0 1px 2px oklch(30% .04 60/.06), 0 4px 12px oklch(30% .04 60/.06);--shadow-lifted:0 4px 8px oklch(30% .04 60/.08), 0 16px 32px oklch(30% .04 60/.1);--shadow-deep:0 8px 16px oklch(30% .04 60/.12), 0 24px 48px oklch(30% .04 60/.14);--shadow-popover:0 12px 30px #3c281424, 0 1px 2px #3c281414;--scrim:oklch(20% .01 60/.45);--scrim-light:oklch(20% .01 60/.4);--ease:cubic-bezier(.32, .72, 0, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--duration-slower:.48s}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,.h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:-.005em;color:var(--fg);margin:0}h2,.h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semi);line-height:var(--leading-snug);color:var(--fg);margin:0}h3,.h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--fg);margin:0}h4,.h4{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semi);line-height:var(--leading-snug);color:var(--fg);margin:0}p,.body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg);margin:0}.body-sm{font-size:var(--text-sm);color:var(--fg-muted)}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle)}code,.code,kbd{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--fg);padding:1px 6px;font-size:.92em}a{color:var(--accent);border-bottom:1px solid color-mix(in oklch, var(--accent) 40%, transparent);transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);text-decoration:none}a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}::selection{background:var(--terracotta-wash);color:var(--ink)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.lucide{stroke-width:1.75px;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);color:var(--ink);transition:all .12s var(--ease);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;line-height:1.2;display:inline-flex}.btn:active{transform:scale(.98)}.btn.btn-primary{background:var(--terracotta);color:var(--paper)}.btn.btn-primary:hover{background:var(--terracotta-deep)}.btn.btn-secondary{background:var(--paper);border-color:var(--border);color:var(--ink)}.btn.btn-secondary:hover{background:var(--paper-2);border-color:var(--border-strong)}.btn.btn-ghost{color:var(--fg-muted)}.btn.btn-ghost:hover{background:var(--sand-50);color:var(--ink)}.btn.btn-danger{background:var(--garnet);color:var(--paper)}.btn.btn-danger:hover{background:color-mix(in oklch, var(--garnet) 85%, black)}.btn .icon{width:15px;height:15px}.btn.sm{padding:4px 10px;font-size:12.5px}.btn.icon-only{padding:4px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:active{transform:none}.btn.btn-block{width:100%;transition:all .15s var(--ease);justify-content:center;gap:8px;padding:11px 16px;font-size:14.5px}.btn.btn-block.btn-primary{font-weight:600;box-shadow:0 1px 2px oklch(40% .08 40/.18)}.btn.btn-block:active{transform:scale(.99)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--fg-muted);letter-spacing:.01em;font-size:12px;font-weight:500}.field .input-wrap{border:1px solid var(--border);background:var(--paper-2);border-radius:var(--radius-sm);transition:all .12s var(--ease);align-items:center;gap:8px;padding:0 12px;display:flex}.field .input-wrap:focus-within{border-color:var(--terracotta);background:var(--paper);box-shadow:0 0 0 3px var(--terracotta-wash)}.field .input-wrap.error{border-color:var(--clay)}.field input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:11px 0;font-family:inherit;font-size:14.5px}.field input::placeholder{color:var(--fg-subtle)}.field .input-suffix{color:var(--fg-subtle);font-size:12px;font-family:var(--font-mono)}.field .show-pwd{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:500}.field .show-pwd:hover{color:var(--terracotta)}.field .helper{color:var(--fg-subtle);font-size:12px;line-height:1.4}.field .helper.error{color:var(--clay)}.field .helper.success{color:var(--moss-deep)}.field-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.field-row .field{margin-bottom:0}.seg-tabs{background:var(--paper-2);border:1px solid var(--border-subtle);border-radius:10px;gap:4px;width:fit-content;padding:4px;display:flex}.seg-tab{font-family:var(--font-body);color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s;display:inline-flex}.seg-tab:hover{color:var(--fg)}.seg-tab.active{background:var(--paper);color:var(--terracotta-deep);box-shadow:0 1px 2px #0000000a}.seg-tab .count{font-family:var(--font-mono);color:var(--fg-subtle);background:var(--sand-50);border-radius:8px;padding:1px 6px;font-size:11px}.seg-tab.active .count{color:var(--terracotta);background:var(--terracotta-wash)}.seg-tabs.block{width:100%}.seg-tabs.block .seg-tab{flex:1;justify-content:center;min-height:40px}.field textarea{color:var(--ink);resize:vertical;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:11px 0;font-family:inherit;font-size:15px;line-height:1.5}.field textarea::placeholder{color:var(--fg-subtle)}.field .input-wrap.multiline{align-items:flex-start}.chip{letter-spacing:.005em;white-space:nowrap;border:1px solid var(--border-subtle);font-size:11px;font-weight:500;line-height:1.5;font-family:var(--font-body);border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.chip.muted{opacity:.7}.chip .swatch{border-radius:50%;flex-shrink:0;width:6px;height:6px}.chip-neutral{background:var(--paper-2);color:var(--fg-muted)}.chip-accent{background:var(--terracotta-wash);color:var(--terracotta-deep)}.chip-success{background:var(--moss-wash);color:var(--moss-deep)}.chip-warning{background:var(--ochre-wash);color:var(--ochre-deep)}.chip-danger{background:var(--clay-wash);color:var(--clay)}.chip-info{background:var(--petrol-wash);color:var(--petrol)}.chip-solid{background:var(--terracotta);color:var(--paper);border-color:#0000}.chip-dashed{background:var(--paper-2);color:var(--fg-muted);border:1px dashed var(--border-strong)}.chip>strong{margin-right:4px;font-weight:600}.kick{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--fg-subtle);font-size:10px}.kick-rule{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;display:flex}.addr{font-family:var(--font-mono);letter-spacing:.02em;color:var(--terracotta-deep);white-space:nowrap;flex:none;font-size:11.5px;line-height:1.35}.addr--insert{color:var(--petrol)}.addr--muted{color:var(--ink-3)}.addr--md{font-size:13px}.addr--lg{font-size:20px}.addr--xl{letter-spacing:-.01em;font-size:34px}button.addr{cursor:pointer;background:0 0;border:none;padding:0}.card-head{flex-direction:column;gap:6px;display:flex}.card-head .card-title{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);text-wrap:pretty;margin:0;font-size:20px;font-weight:600;line-height:1.25}.card-head .card-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.crumbs{color:var(--fg-subtle);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.crumbs .crumb{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.crumbs .crumb:hover,.crumbs .crumb.current{color:var(--ink)}.crumbs .back{width:28px;height:28px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:-6px 0 -6px -6px;display:inline-flex}.tree-list{flex-direction:column;display:flex}.tree-row{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:9px;width:100%;margin:0 -8px;padding:6px 8px;font-family:inherit;display:flex}.tree-row:hover{background:var(--sand-50)}.tree-row .tw{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;line-height:1.35;overflow:hidden}.tree-row .caret{color:var(--fg-subtle);flex:none;display:flex}.tree-row.selected{background:var(--terracotta-wash);box-shadow:inset 2px 0 0 var(--terracotta)}.tree-row.selected .tw{color:var(--terracotta-deep)}.tree-gutter{border-left:1px solid var(--sand-200);margin-left:5px;padding-left:11px}.guidance{border-left:2px solid var(--terracotta);color:var(--fg-muted);max-width:60ch;padding:1px 0 1px 11px;font-size:12px;line-height:1.5}.bibcard{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;flex-direction:column;gap:5px;width:100%;padding:11px 12px;font-family:inherit;display:flex}.bibcard.focused{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.bibcard-head{align-items:baseline;gap:8px;display:flex}.bibcard-term{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.bibcard-note{color:var(--ink);font-size:13.5px;line-height:1.5}.bibcard-actions{gap:8px;padding-top:4px;display:flex}.source-row{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;width:100%;min-height:44px;margin:0 -8px;padding:9px 8px;font-family:inherit;display:flex}.source-row:hover{background:var(--sand-50)}.source-row .radio{border:1.5px solid var(--sand-300);border-radius:50%;flex:none;justify-content:center;align-items:center;width:17px;height:17px;margin-top:2px;display:flex}.source-row.selected .radio{border-color:var(--terracotta)}.source-row.selected .radio:after{content:"";background:var(--terracotta);border-radius:50%;width:9px;height:9px}.source-row .src-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.source-row .src-title{color:var(--ink);font-size:14px;line-height:1.35}.source-row .src-meta{color:var(--fg-subtle);font-size:12px}.link-row{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;flex-direction:column;gap:3px;width:100%;padding:10px 12px;font-family:inherit;display:flex}.link-row:hover{border-color:var(--border-strong)}.link-row .link-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.link-row .link-title{color:var(--ink);font-size:13.5px;line-height:1.35}.link-row .link-why{color:var(--fg-subtle);font-size:12px;line-height:1.4}.index-row{border:none;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:baseline;gap:12px;width:100%;min-height:44px;margin:0 -8px;padding:10px 8px;font-family:inherit;display:flex}.index-row:hover{background:var(--sand-50)}.index-row .term{color:var(--ink);flex:1;min-width:0;font-size:14px}.steps{align-items:center;gap:10px;display:flex}.steps .step{color:var(--fg-subtle);align-items:center;gap:7px;font-size:12px;display:flex}.steps .dot{border:1.5px solid var(--sand-300);width:18px;height:18px;font-family:var(--font-mono);color:var(--fg-subtle);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;display:flex}.steps .step.current .dot{border-color:var(--terracotta);color:var(--terracotta-deep)}.steps .step.current{color:var(--ink)}.steps .step.done .dot{background:var(--terracotta);border-color:var(--terracotta);color:var(--paper)}.steps .rule{background:var(--border-subtle);flex:1;height:1px}.tabbar{border-top:1px solid var(--border-subtle);background:var(--paper);display:flex}.tabbar .tab{min-height:56px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:9px 0 12px;font-family:inherit;font-size:10.5px;display:flex}.tabbar .tab.active{color:var(--terracotta-deep)}.sheet-scrim{z-index:100;background:oklch(20% .01 60/.35);align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;box-shadow:var(--shadow-deep);flex-direction:column;gap:12px;max-height:88%;padding:12px 18px 26px;display:flex;overflow-y:auto}.sheet .grab{background:var(--sand-300);border-radius:2px;align-self:center;width:34px;height:3px;margin-bottom:2px}.sheet .sheet-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;font-size:17px;font-weight:600}@keyframes bonsaiToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin:28px 0 8px;padding-bottom:8px;display:flex}.section-head:first-child{margin-top:4px}.section-head h2{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;margin:0;font-size:18px;font-weight:600}.section-head .meta{color:var(--fg-subtle);font-size:11px;font-family:var(--font-mono);letter-spacing:.02em}.evening-divider{font-family:var(--font-display);color:var(--ochre-deep);align-items:center;gap:12px;margin:36px 0 8px;font-size:16px;font-weight:500;display:flex}.evening-divider:before,.evening-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.evening-divider .moon{color:var(--ochre-deep);display:flex}.project-heading{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:8px;margin:28px 0 4px;padding-bottom:6px;font-size:16px;font-weight:600;display:flex}.project-heading .count{font-family:var(--font-mono);color:var(--fg-subtle);letter-spacing:.02em;font-size:11px;font-weight:400}.project-heading.muted{color:var(--fg-subtle)}.empty{text-align:center;color:var(--fg-muted);flex-direction:column;align-items:center;padding:64px 32px;display:flex}.empty img{opacity:.85;width:88px;height:88px;margin-bottom:20px}.empty h3{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:500}.empty p{max-width:320px;margin:0;font-size:14px;line-height:1.5}.empty-soft{color:var(--fg-subtle);border:1px dashed var(--border-subtle);text-align:center;background:var(--paper-2);border-radius:12px;padding:32px 0;font-size:14px;font-style:italic}.page-hint{color:var(--fg-muted);max-width:600px;padding:0 0 18px;font-size:13px;line-height:1.5}.toast{background:var(--terracotta-deep);color:var(--paper);border-radius:var(--radius-md);box-shadow:var(--shadow-deep);z-index:150;animation:bonsaiToastIn .24s var(--ease);align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:500;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast--default{background:var(--terracotta-deep)}.toast--success{background:var(--moss-deep)}.toast--warning{background:var(--ochre-deep)}.toast--danger{background:var(--danger)}.toast .toast-dot{background:#ffffffb3;border-radius:50%;flex:none;width:8px;height:8px}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;display:flex;position:relative}.screen{padding:var(--space-6) var(--space-6) var(--space-8);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{-webkit-font-smoothing:antialiased;margin:0}#root{min-height:100svh}
