:root{--color-header-bg: #466b63;--color-accent-dark: #2d4a44;--color-bg-light: #eaf0ee;--color-border: #cddbd7;--color-page-tint: #f7f9f8;--color-muted: #6b7570;--color-danger: #b14a3d;--color-white: #ffffff;--color-text: #1f2724;--font-body: Arial, Helvetica, sans-serif;--font-heading: Georgia, "Times New Roman", serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--content-max-width: 1180px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-page-tint)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-accent-dark);margin:0 0 var(--space-3)}a{color:var(--color-accent-dark)}button{font-family:var(--font-body);font-size:14px;cursor:pointer}.btn-primary{background:var(--color-header-bg);color:var(--color-white);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4)}.btn-primary:hover:not(:disabled){background:var(--color-accent-dark)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-quiet{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);color:var(--color-muted)}.btn-quiet:hover{background:var(--color-bg-light);color:var(--color-accent-dark)}.btn-danger{background:var(--color-danger);color:var(--color-white);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4)}.btn-danger:hover:not(:disabled){background:#96392f}.btn-danger:disabled{opacity:.55;cursor:default}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.muted{color:var(--color-muted)}.error{color:var(--color-danger)}.app{display:flex;flex-direction:column;height:100vh}.app-header{flex:0 0 auto;background:var(--color-header-bg);border-bottom:4px solid var(--color-accent-dark);color:var(--color-white);display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5)}.wordmark{font-family:var(--font-heading);font-size:18px;letter-spacing:.15em;text-transform:uppercase}.app-header .session{display:flex;align-items:center;gap:var(--space-4);font-size:13px}.app-header .session button{background:transparent;border:1px solid rgba(255,255,255,.5);color:var(--color-white);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3)}.app-header .session button:hover{background:#ffffff1f}.nav-tabs{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--space-5);background:var(--color-white);border-bottom:1px solid var(--color-border)}.nav-tabs-links{display:flex;gap:var(--space-5)}.nav-tabs-links a{padding:var(--space-3) 0;text-decoration:none;color:var(--color-muted);border-bottom:2px solid transparent}.nav-tabs-links a.active{color:var(--color-accent-dark);border-bottom-color:var(--color-header-bg)}.nav-tabs-label{justify-self:center;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.app-shell{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--space-5);flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.login-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-7)}.login-card{max-width:380px;width:100%;text-align:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}.login-card .wordmark{color:var(--color-accent-dark);margin-bottom:var(--space-5)}.login-card h1{font-size:22px}.login-card p{color:var(--color-muted);margin-bottom:var(--space-5)}.login-card .btn-primary{width:100%;padding:var(--space-3)}.state-note{padding:var(--space-6);text-align:center;color:var(--color-muted)}.chat{display:flex;gap:var(--space-5);flex:1;min-height:0}.conversations{width:250px;flex:0 0 250px;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto}.conversations h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.conversation-item{display:flex;align-items:stretch;gap:4px}.conversation-open{flex:1;min-width:0;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text);line-height:1.35}.conversation-open:hover{background:var(--color-bg-light)}.conversation-item.active .conversation-open{background:var(--color-bg-light);border-color:var(--color-border)}.conversation-open .meta{display:block;font-size:11px;color:var(--color-muted);margin-top:2px}.conversation-delete{flex:0 0 auto;background:transparent;border:none;color:var(--color-muted);font-size:15px;line-height:1;padding:0 var(--space-2);border-radius:var(--radius-sm)}.conversation-delete:hover{color:var(--color-danger);background:var(--color-bg-light)}.transcript{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md)}.messages{flex:1;overflow-y:auto;padding:var(--space-5)}.messages[data-streaming=true]{overflow-anchor:none}.message{display:flex;margin-bottom:var(--space-5)}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.bubble{max-width:48rem;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4)}.message.user .bubble{background:var(--color-accent-dark);color:var(--color-white);white-space:pre-wrap}.message.assistant .bubble{background:var(--color-bg-light);line-height:1.75}.md p{font-size:15px;line-height:1.6;margin:0 0 1rem}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--font-heading);font-weight:700;margin:1.1rem 0 .35rem}.md h1{font-size:26px;color:var(--color-accent-dark);border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.md h2{font-size:22px;color:var(--color-accent-dark);background:var(--color-bg-light);padding:.5rem;padding-left:0;border-radius:.5rem}.md h3{font-size:18px;color:var(--color-header-bg)}.md h4{font-size:16px;color:var(--color-header-bg)}.md h5{font-size:15px;color:var(--color-muted)}.md h6{font-size:13px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.md h1+p,.md h2+p,.md h3+p,.md h4+p,.md h5+p,.md h6+p{margin-top:.5rem}.md table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:13px;line-height:1.5;border:1px solid var(--color-border)}.md th,.md td{padding:.5rem;text-align:left;border:1px solid var(--color-border);vertical-align:top;white-space:nowrap}.md th:last-child,.md td:last-child{white-space:normal;width:100%}.md th{font-weight:600;background:var(--color-bg-light)}.md tr:nth-child(2n){background:var(--color-page-tint)}.md .table-scroll{overflow-x:auto}.md ul,.md ol{font-size:15px;margin:0 0 1rem;padding-left:1.4rem}.md ul{list-style:disc}.md ol{list-style:decimal}.md li{padding-bottom:.35rem}.md code{font-family:Courier New,monospace;font-size:13px;background:var(--color-page-tint);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 4px}.md pre{background:var(--color-page-tint);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);overflow-x:auto}.md pre code{border:none;background:none;padding:0}.md blockquote{margin:0 0 1rem;padding-left:var(--space-4);border-left:3px solid var(--color-border);color:var(--color-muted)}.status-line{font-size:13px;color:var(--color-muted);font-style:italic;margin-bottom:var(--space-2)}.cursor{display:inline-block;width:6px;height:15px;margin-left:2px;background:var(--color-muted);vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.cite-ref{display:inline-block;background:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-header-bg);font-size:11px;font-weight:600;line-height:1;padding:1px 5px;margin:0 1px;border-radius:999px;vertical-align:super}.cite-ref:hover{background:var(--color-header-bg);color:var(--color-white);border-color:var(--color-header-bg)}.citations{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-2)}.citation-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:var(--color-white);border:1px solid var(--color-border);border-radius:999px;padding:2px var(--space-3);color:var(--color-muted)}.citation-chip:hover{background:var(--color-bg-light);border-color:var(--color-header-bg);color:var(--color-text)}.citation-chip .kind{color:var(--color-header-bg);font-weight:600}.composer{border-top:1px solid var(--color-border);padding:var(--space-3);display:flex;gap:var(--space-3)}.composer textarea{flex:1;resize:none;font-family:var(--font-body);font-size:14px;line-height:1.5;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:46px;max-height:160px}.composer textarea:focus{outline:2px solid var(--color-bg-light);border-color:var(--color-header-bg)}.empty-state{text-align:center;color:var(--color-muted);padding:var(--space-7) var(--space-5)}.empty-state h2{color:var(--color-accent-dark)}.suggestions{display:flex;flex-direction:column;gap:var(--space-2);max-width:520px;margin:var(--space-5) auto 0}.suggestions button{text-align:left}.modal-backdrop{position:fixed;inset:0;background:#1f272473;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-5)}.modal-panel{background:var(--color-white);border-radius:var(--radius-md);max-width:640px;width:100%;max-height:85vh;overflow-y:auto;padding:var(--space-5);position:relative}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;font-size:22px;line-height:1;color:var(--color-muted);padding:var(--space-1)}.modal-close:hover{color:var(--color-accent-dark)}.record-kind{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-light);color:var(--color-header-bg);padding:2px 8px;border-radius:999px;margin-bottom:var(--space-2)}.modal-panel h2{font-size:20px;margin-bottom:var(--space-3);padding-right:var(--space-6)}.modal-panel h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-top:var(--space-5)}.record-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-page-tint);border-radius:var(--radius-sm);font-size:13px}.record-meta>div{display:contents}.record-meta dt{color:var(--color-muted);margin:0}.record-meta dd{margin:0;font-weight:600}.record-rationale{font-size:13px;color:var(--color-muted);background:var(--color-bg-light);border-radius:var(--radius-sm);padding:var(--space-3);margin:0 0 var(--space-4)}.record-content{white-space:pre-wrap;font-size:14px;line-height:1.6;border-top:1px solid var(--color-border);padding-top:var(--space-3)}.confirm-panel{background:var(--color-white);border-radius:var(--radius-md);max-width:380px;width:100%;padding:var(--space-5)}.confirm-panel h2{font-size:18px;margin-bottom:var(--space-2)}.confirm-panel p{color:var(--color-muted);font-size:14px;margin-bottom:var(--space-5)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}
