:root{--paper-top: #faf6ef;--paper-bottom: #f3ebdd;--surface: #fffdfa;--surface-2: #f6efe4;--surface-3: #efe7d9;--ink: #262019;--ink-2: #6e655a;--ink-3: #9a8f81;--faint: #bcb2a4;--clay: #bf5836;--clay-deep: #a5472a;--clay-soft: #d3795a;--clay-tint: #f5e6dd;--clay-tint-2: #eed8cc;--clay-ring: rgba(191, 88, 54, .18);--slate: #5c6580;--slate-tint: #eaecf2;--rose: #b06a86;--rose-tint: #f6e8ee;--plum: #7b6aa6;--plum-tint: #eee9f6;--teal: #3f8c80;--teal-tint: #e3f1ee;--amber: #b07d2e;--amber-tint: #f5ebd6;--border: #ece3d4;--border-2: #e1d6c4;--line: #f0e8da;--shadow-sm: 0 1px 2px rgba(70, 50, 28, .04), 0 2px 8px rgba(70, 50, 28, .04);--shadow-md: 0 4px 16px rgba(70, 50, 28, .06), 0 16px 40px rgba(70, 50, 28, .05);--r-card: 18px;--r-inner: 14px;--r-input: 12px;--r-pill: 999px;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(1000px 540px at 84% -8%,rgba(191,88,54,.06),transparent 62%),radial-gradient(760px 520px at 4% 2%,rgba(92,101,128,.045),transparent 58%),linear-gradient(180deg,var(--paper-top),var(--paper-bottom));background-attachment:fixed}.app{max-width:1140px;margin:0 auto;padding:38px 28px 72px}.topbar{margin-bottom:30px}.brand{display:flex;align-items:center;gap:15px}.brand-sigil{width:40px;height:40px;border-radius:50%;flex:none;font-size:0;background:radial-gradient(circle at 32% 28%,#f1cba6,var(--clay) 58%,var(--clay-deep));box-shadow:0 5px 16px #bf583652,inset 0 1px 2px #fff0e18c}.brand-title{margin:0;font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.015em;color:var(--ink)}.brand-tag{margin:3px 0 0;font-size:14px;color:var(--ink-2);font-weight:400;letter-spacing:.005em}.brand-built{color:var(--clay-deep);font-weight:600}.stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.journal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md);padding:24px 26px 22px;min-height:560px}.feed{display:flex;flex-direction:column;gap:14px;max-height:58vh;overflow-y:auto;padding:4px 8px 4px 2px;margin-bottom:20px}.feed::-webkit-scrollbar{width:8px}.feed::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px}.feed-system{text-align:center;font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:.01em;padding:4px 0}.feed-system p{margin:0}.entry{padding:15px 19px;border-radius:var(--r-inner);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:rise .42s cubic-bezier(.22,1,.36,1) both}.entry-date{display:block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--clay-deep);margin-bottom:7px}.entry-text{margin:0;font-family:var(--serif);font-weight:400;font-size:16.5px;line-height:1.6;color:#322c24;overflow-wrap:break-word}.reflection{padding:17px 20px 18px;border-radius:var(--r-inner);background:var(--clay-tint);border:1px solid var(--clay-tint-2);box-shadow:var(--shadow-sm);animation:rise .46s cubic-bezier(.22,1,.36,1) both}.reflection-by{display:flex;align-items:center;gap:9px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--clay-deep);margin-bottom:12px}.ember-mark{width:19px;height:19px;border-radius:50%;flex:none;font-size:0;background:radial-gradient(circle at 32% 28%,#f1cba6,var(--clay) 58%,var(--clay-deep));box-shadow:0 1px 4px #bf583666}.reflection-line{margin:0 0 10px;font-family:var(--serif);font-size:17.5px;line-height:1.56;color:#34291f;font-weight:400;overflow-wrap:break-word}.reflection-line:last-child{margin-bottom:0;color:var(--clay-deep);font-style:italic}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.drawing-on{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:13px;padding-bottom:13px;border-bottom:1px solid var(--clay-tint-2)}.drawing-label{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-right:2px}.recall-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border-2);color:var(--ink-2);cursor:help}.recall-glyph{font-size:10px;opacity:.75}.recall-theme{background:var(--amber-tint);border-color:transparent;color:#8a6320}.recall-person{background:var(--rose-tint);border-color:transparent;color:#8f4d68}.recall-thread{background:var(--plum-tint);border-color:transparent;color:#5d4d86}.recall-mood{background:var(--teal-tint);border-color:transparent;color:#2c6c62}.recall-entry{background:var(--surface-2);border-color:var(--border-2);color:var(--ink-2)}.thinking-row{background:var(--clay-tint)}.thinking{display:flex;gap:5px;padding:2px 0}.ember-dot{width:7px;height:7px;border-radius:50%;background:var(--clay);animation:emberPulse 1s ease-in-out infinite}.ember-dot:nth-child(2){animation-delay:.16s}.ember-dot:nth-child(3){animation-delay:.32s}@keyframes emberPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.composer{border-top:1px solid var(--line);padding-top:18px}.composer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.composer-label{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.demo-fill{font-family:var(--sans);font-size:12.5px;font-weight:500;color:var(--clay-deep);background:var(--clay-tint);border:1px solid var(--clay-tint-2);border-radius:var(--r-pill);padding:5px 12px;cursor:pointer;transition:background .18s,transform .18s}.demo-fill:hover:not(:disabled){background:var(--clay-tint-2);transform:translateY(-1px)}.demo-fill:disabled{opacity:.5;cursor:not-allowed}.composer-input{width:100%;resize:vertical;min-height:98px;padding:15px 17px;border-radius:var(--r-input);font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);transition:border-color .18s,box-shadow .18s,background .18s}.composer-input::placeholder{color:var(--faint);font-style:italic}.composer-input:focus{outline:none;background:var(--surface);border-color:var(--clay);box-shadow:0 0 0 4px var(--clay-ring)}.composer-input:disabled{opacity:.7}.composer-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.composer-hint{font-family:var(--sans);font-size:12.5px;color:var(--faint)}.reflect-btn{font-family:var(--sans);font-size:14.5px;font-weight:600;color:#fff;padding:11px 22px;border-radius:var(--r-pill);cursor:pointer;border:none;background:var(--clay);box-shadow:0 5px 16px #bf583642;transition:transform .16s,box-shadow .2s,background .2s}.reflect-btn:hover:not(:disabled){transform:translateY(-2px);background:var(--clay-deep);box-shadow:0 9px 22px #bf583657}.reflect-btn:active:not(:disabled){transform:translateY(0)}.reflect-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.ledger{position:sticky;top:22px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md);overflow:hidden;transition:opacity .25s}.ledger-muted{opacity:.74}.ledger-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 18px 15px;border-bottom:1px solid var(--line)}.ledger-brand{display:flex;align-items:center;gap:11px}.hydra-mark{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;font-size:14px;color:var(--slate);background:var(--slate-tint)}.ledger-title{font-family:var(--serif);font-weight:500;font-size:16.5px;color:var(--ink);letter-spacing:-.01em}.ledger-sub{font-family:var(--sans);font-size:11.5px;color:var(--ink-3);margin-top:2px}.backend-badge{font-family:var(--sans);font-weight:600;padding:1px 8px;border-radius:var(--r-pill);font-size:11px}.backend-hydradb{color:var(--slate);background:var(--slate-tint)}.backend-local{color:var(--amber);background:var(--amber-tint)}.ledger-count{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink-3);white-space:nowrap;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border)}.ledger-warn{margin:12px 14px 0;padding:9px 12px;font-family:var(--sans);font-size:12.5px;line-height:1.45;color:#8a6320;background:var(--amber-tint);border-radius:var(--r-inner)}.mem-toggle{display:flex;align-items:center;gap:12px;margin:14px 14px 8px;padding:13px 14px;border-radius:var(--r-inner);cursor:pointer;font-family:var(--sans);font-size:13.5px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);transition:border-color .2s,background .2s}.mem-toggle:hover:not(:disabled){border-color:var(--clay);background:var(--surface)}.mem-toggle:disabled{cursor:not-allowed;opacity:.7}.mem-toggle-track{position:relative;width:42px;height:24px;border-radius:var(--r-pill);flex:none;background:var(--border-2);transition:background .25s}.mem-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:transform .25s}.mem-toggle.on .mem-toggle-track{background:var(--clay)}.mem-toggle.on .mem-toggle-knob{transform:translate(18px)}.mem-toggle.off .mem-toggle-text{color:var(--ink-2)}.ledger-scroll{flex:1;max-height:50vh;overflow-y:auto;padding:8px 14px 4px}.ledger-scroll::-webkit-scrollbar{width:7px}.ledger-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:7px}.ledger-group{margin-bottom:16px}.ledger-group-title{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:4px 2px 9px}.record{padding:11px 13px;margin-bottom:8px;border-radius:var(--r-inner);background:var(--surface-2);border:1px solid var(--border);transition:border-color .25s,background .25s,box-shadow .25s}.record-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.record-key{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--ink-3);word-break:break-all}.record-value{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--clay-deep);background:var(--clay-tint);padding:1px 7px;border-radius:var(--r-pill);white-space:nowrap}.record-label{margin-top:5px;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--ink)}.record-detail{font-family:var(--serif);font-size:13.5px;color:var(--ink-2);margin-top:3px;line-height:1.45}.record-session{margin-top:7px;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.record-theme{border-left:3px solid var(--amber)}.record-person{border-left:3px solid var(--rose)}.record-thread{border-left:3px solid var(--plum)}.record-mood{border-left:3px solid var(--teal)}.record-new{border-color:var(--clay);background:var(--clay-tint);animation:ring 1.4s ease}@keyframes ring{0%{box-shadow:0 0 0 0 var(--clay-ring)}to{box-shadow:0 0 0 12px #bf583600}}.ledger-empty{padding:28px 8px;text-align:center;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-3)}.ledger-foot{display:flex;flex-direction:column;gap:8px;padding:13px 14px 16px;border-top:1px solid var(--line)}.ghost-btn{font-family:var(--sans);font-size:13px;font-weight:500;padding:9px 12px;border-radius:var(--r-pill);cursor:pointer;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);transition:border-color .18s,color .18s,background .18s}.ghost-btn:hover:not(:disabled){border-color:var(--clay);color:var(--clay-deep);background:var(--surface)}.ghost-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:920px){.stage{grid-template-columns:1fr}.ledger{position:relative;top:0}}@media(prefers-reduced-motion:reduce){.entry,.reflection{animation:none}.ember-dot{animation:none;opacity:.8}.record-new{animation:none}.reflect-btn:hover:not(:disabled),.demo-fill:hover:not(:disabled){transform:none}html{scroll-behavior:auto}}
