:root{--paper: #f7f5f0;--paper-raised: #fffdf8;--paper-sunken: #efece4;--ink: #1a1814;--ink-soft: #4f4a42;--ink-faint: #7a7367;--rule: #d9d4c9;--rule-strong: #b8b1a2;--accent: #1f5c46;--accent-soft: #e3ede7;--alert: #8c3520;--alert-soft: #f3e2dc;--cite: #8a6a14;--cite-soft: #f6edd6;--radius: 3px;--shadow: 0 1px 2px rgba(26, 24, 20, .06), 0 4px 16px rgba(26, 24, 20, .05);--shadow-lift: 0 2px 6px rgba(26, 24, 20, .1), 0 12px 32px rgba(26, 24, 20, .12);--font-display: "Newsreader", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 36px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.55}#root{min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:2px}a.mono-link{font-family:var(--font-mono);font-size:11px}.dim{color:var(--ink-faint)}.masthead{display:flex;align-items:baseline;gap:var(--s5);padding:14px 28px 12px;border-bottom:1px solid var(--rule);background:var(--paper-raised);position:sticky;top:0;z-index:30}.masthead h1{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.01em;margin:0}.masthead nav{display:flex;gap:18px}.masthead nav a{color:var(--ink-soft);text-decoration:none;font-size:13px;border-bottom:2px solid transparent;padding-bottom:2px;position:relative}.masthead nav a:hover{color:var(--ink)}.masthead nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.masthead .session{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);display:flex;align-items:center;gap:var(--s2)}.nav-count{display:inline-block;min-width:17px;text-align:center;font-family:var(--font-mono);font-size:10px;font-weight:600;background:var(--alert);color:var(--paper);border-radius:9px;padding:1px 5px;margin-left:5px;position:relative;top:-1px}.kbd{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);border:1px solid var(--rule);border-bottom-width:2px;border-radius:3px;padding:0 5px;background:var(--paper)}main{flex:1;width:min(1080px,calc(100% - 56px));margin:0 auto;padding:var(--s6) 0 80px}@media(max-width:720px){.masthead{flex-wrap:wrap;gap:var(--s3);padding:10px 16px}.masthead .session{display:none}main{width:calc(100% - 32px);padding-top:var(--s5)}}h2{font-family:var(--font-display);font-size:26px;font-weight:500;margin:0 0 4px}.subtitle{color:var(--ink-soft);font-size:13px;margin-bottom:var(--s5)}.command-bar{display:flex;gap:0;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper-raised);overflow:hidden;box-shadow:var(--shadow)}.command-bar input{flex:1;border:0;padding:14px 16px;font-family:var(--font-display);font-size:17px;background:transparent;color:var(--ink);outline:none;min-width:0}.command-bar input::placeholder{color:var(--ink-faint)}.command-bar button{border:0;background:var(--ink);color:var(--paper);font-family:var(--font-body);font-weight:600;font-size:13px;padding:0 22px;cursor:pointer}.command-bar button:disabled{opacity:.4;cursor:wait}.starter-chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.chip{border:1px solid var(--rule);background:var(--paper-raised);border-radius:14px;padding:5px 13px;font-size:12px;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);transition:border-color .15s}.chip:hover{border-color:var(--ink);color:var(--ink)}.exchange{margin-top:28px;display:flex;flex-direction:column;gap:var(--s5)}.turn-user{font-family:var(--font-display);font-size:16px;color:var(--ink-soft)}.turn-user:before{content:"» ";color:var(--accent)}.turn-agent{white-space:pre-wrap;max-width:74ch}.thinking{display:flex;align-items:center;gap:var(--s2);color:var(--ink-faint);font-size:13px}.thinking .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.thinking .dot:nth-child(2){animation-delay:.2s}.thinking .dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.receipt{margin-top:var(--s2);font-size:12px}.receipt summary{cursor:pointer;color:var(--ink-faint);font-family:var(--font-mono);font-size:11px;-webkit-user-select:none;user-select:none}.receipt summary:hover{color:var(--ink-soft)}.receipt code{display:block;margin-top:var(--s2);padding:var(--s3);background:var(--paper-sunken);border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--font-mono);font-size:11.5px;white-space:pre-wrap}.tool-trace{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);margin-top:var(--s1)}.action-receipts{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}.receipt-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--ok, #2e7d32);border-radius:999px;font-size:12px;text-decoration:none;color:inherit}.receipt-chip:hover{background:color-mix(in srgb,var(--ok, #2e7d32) 8%,transparent)}.receipt-chip .hint{color:var(--ink-faint);font-size:11px}.turn-agent.degraded{border-left:3px solid var(--warn, #b26a00);padding-left:var(--s2)}table.data{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px;margin-top:10px;background:var(--paper-raised);border:1px solid var(--rule)}table.data th{text-align:left;font-weight:500;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:10px;padding:8px 12px;border-bottom:1px solid var(--ink);white-space:nowrap}table.data td{padding:7px 12px;border-bottom:1px solid var(--rule);vertical-align:top}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:var(--accent-soft)}.record-head{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}.record-head h2{margin:0}.entity-id{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);cursor:pointer;border:0;background:none;padding:0}.entity-id:hover{color:var(--ink-soft)}.memory{font-family:var(--font-display);font-size:18px;line-height:1.75;max-width:68ch}.memory .cited{border-bottom:1px dotted var(--cite);cursor:help;position:relative}.memory .cited:hover,.memory .cited:focus{background:var(--cite-soft);outline:none}.memory .cited .citation{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:10;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:10.5px;line-height:1.6;padding:8px 12px;border-radius:var(--radius);min-width:220px;max-width:360px;box-shadow:var(--shadow-lift)}.memory .cited:hover .citation,.memory .cited:focus .citation{display:block}.citation .cite-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citation .cite-src{color:#b8b1a2}.memory-stale{color:var(--alert);font-size:12px;font-family:var(--font-mono);margin:0 0 var(--s2)}.section-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);border-top:1px solid var(--rule);padding-top:10px;margin:var(--s6) 0 var(--s3)}.badge{display:inline-block;font-family:var(--font-mono);font-size:10px;padding:1px 7px;border-radius:10px;border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap}.badge.accepted,.badge.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.badge.proposed,.badge.shadow{background:var(--cite-soft);color:var(--cite);border-color:var(--cite)}.badge.superseded,.badge.retired{text-decoration:line-through}.badge.contested{background:var(--alert-soft);color:var(--alert);border-color:var(--alert)}.timeline{border-left:2px solid var(--rule);padding-left:var(--s4);margin-left:3px}.timeline-item{position:relative;padding:3px 0;font-size:13px}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--s4) - 5px);top:10px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.timeline-item .when{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-left:var(--s2)}.inbox-item{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s4) 18px;margin-bottom:var(--s3);display:flex;align-items:flex-start;gap:var(--s4);transition:border-color .12s,box-shadow .12s}.inbox-item.selected{border-color:var(--ink);box-shadow:var(--shadow)}.inbox-item .what{flex:1;min-width:0}.inbox-item .kind{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:3px}.inbox-item .actions{display:flex;gap:var(--s2);flex-shrink:0}button.ghost,.inbox-item button{border:1px solid var(--rule-strong);background:transparent;border-radius:var(--radius);padding:6px 14px;font-size:12px;cursor:pointer;font-family:var(--font-body);color:var(--ink)}button.ghost:hover,.inbox-item button:hover{border-color:var(--ink)}.inbox-item button.approve,button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}button:disabled{opacity:.45;cursor:default}.draft-card{border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--paper);border-radius:var(--radius);padding:var(--s3) var(--s4);margin-top:var(--s2);max-width:62ch}.draft-card .draft-subject{font-family:var(--font-display);font-weight:600;font-size:15px}.draft-card .draft-body{white-space:pre-wrap;font-size:13px;color:var(--ink-soft);margin-top:var(--s2)}.evidence-chips{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s2)}.evidence-chips .badge{background:var(--paper)}.score-meter{display:inline-block;width:60px;height:5px;border-radius:3px;background:var(--paper-sunken);overflow:hidden;vertical-align:middle;margin:0 6px}.score-meter>span{display:block;height:100%;background:var(--cite)}.triage-hint{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);margin-bottom:var(--s3)}.today-strip{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5)}.stat-chip{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s3) var(--s4);min-width:128px;text-decoration:none;color:inherit}.stat-chip .n{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1.1}.stat-chip .label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}.stat-chip.alert .n{color:var(--alert)}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--s4)}.panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:baseline;gap:var(--s2);margin-bottom:10px}.panel-head strong{font-family:var(--font-display);font-size:16px}.panel-head .spacer{margin-left:auto}.icon-button{border:0;background:none;color:var(--ink-faint);cursor:pointer;font-size:13px;padding:2px 5px;border-radius:var(--radius)}.icon-button:hover{color:var(--ink);background:var(--paper-sunken)}.palette-scrim{position:fixed;inset:0;background:#1a181452;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;animation:fade-in .12s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.palette{width:min(640px,calc(100vw - 40px));background:var(--paper-raised);border:1px solid var(--ink);border-radius:6px;box-shadow:var(--shadow-lift);overflow:hidden;animation:palette-in .14s ease-out}@keyframes palette-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.palette input{width:100%;border:0;border-bottom:1px solid var(--rule);padding:16px 18px;font-family:var(--font-display);font-size:18px;background:transparent;color:var(--ink);outline:none}.palette-options{max-height:320px;overflow-y:auto;padding:var(--s2) 0}.palette-option{display:flex;align-items:baseline;gap:var(--s3);width:100%;text-align:left;padding:9px 18px;border:0;background:none;cursor:pointer;font-size:13.5px;font-family:var(--font-body);color:var(--ink)}.palette-option.active{background:var(--accent-soft)}.palette-option .hint{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.palette-footer{border-top:1px solid var(--rule);padding:var(--s2) 18px;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);display:flex;gap:var(--s4)}.toasts{position:fixed;top:60px;right:20px;z-index:60;display:flex;flex-direction:column;gap:var(--s2);pointer-events:none}.toast{pointer-events:auto;background:var(--ink);color:var(--paper);font-size:13px;padding:10px 16px;border-radius:var(--radius);box-shadow:var(--shadow-lift);max-width:380px;animation:toast-in .18s ease-out}.toast.error{background:var(--alert)}.toast-action{color:var(--paper);font-weight:600;margin-left:var(--s2)}@keyframes toast-in{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}.skeleton{padding:var(--s3) 0}.skeleton-line{height:13px;border-radius:3px;background:linear-gradient(90deg,var(--paper-sunken) 25%,var(--rule) 50%,var(--paper-sunken) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;margin-bottom:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.connect{max-width:460px;margin:10vh auto;background:var(--paper-raised);border:1px solid var(--rule);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}.connect label{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:var(--s4) 0 var(--s1)}.connect input{width:100%;border:1px solid var(--rule);padding:9px 12px;font-family:var(--font-mono);font-size:13px;background:var(--paper);border-radius:var(--radius)}.connect input:focus{border-color:var(--accent);outline:none}.connect button:not(.input-affix){margin-top:var(--s5);width:100%;border:0;background:var(--ink);color:var(--paper);padding:12px;font-weight:600;border-radius:var(--radius);cursor:pointer;font-size:14px}.connect button:disabled{opacity:.45}.input-group{position:relative}.input-group input{padding-right:56px}.input-affix{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--ink-faint);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:4px 6px}.input-affix:hover{color:var(--ink)}.field-hint{color:var(--ink-faint);font-size:12px;margin:var(--s1) 0 0}.notice{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-top:var(--s3)}.secret-reveal{position:relative;background:var(--paper-sunken);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:10px 56px 10px 12px;margin-top:var(--s3)}.secret-reveal code{font-family:var(--font-mono);font-size:12px;word-break:break-all}.boot{min-height:60vh;display:flex;align-items:center;justify-content:center}.boot h2{font-family:var(--font-display);font-weight:600;color:var(--ink-faint);animation:boot-pulse 1.6s ease-in-out infinite}@keyframes boot-pulse{0%,to{opacity:.35}50%{opacity:.9}}.workspace-switcher{border:1px solid transparent;background:none;font:inherit;color:inherit;border-radius:var(--radius);padding:2px 4px;cursor:pointer;max-width:180px}.workspace-switcher:hover{border-color:var(--rule);background:var(--paper)}.error{color:var(--alert);background:var(--alert-soft);border:1px solid var(--alert);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-top:var(--s3)}.empty{color:var(--ink-faint);font-style:italic;padding:30px 0}.empty-state{border:1px dashed var(--rule-strong);border-radius:var(--radius);padding:var(--s6);text-align:center;color:var(--ink-soft)}.empty-state h3{font-family:var(--font-display);font-weight:500;font-size:19px;margin:0 0 var(--s2);color:var(--ink)}.overlay-scrim{position:fixed;inset:0;background:#1a181452;z-index:40;display:flex;justify-content:center;align-items:center;padding:5vh 20px}.overlay-panel{background:var(--paper-raised);border:1px solid var(--ink);border-radius:6px;box-shadow:var(--shadow-lift);width:min(760px,100%);max-height:88vh;overflow-y:auto;padding:var(--s5)}pre.diff{background:var(--paper-sunken);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s4);font-family:var(--font-mono);font-size:12px;overflow-x:auto;white-space:pre-wrap}
