:root{--bubble:#00000014;--muted:#0000008c;--line:#00000026;--overlay:#00000073;--cite:#8a2535;--miss:#bd6324;--pad:16px;--pad-sm:12px;--gap:8px;--gap-sm:4px;--text-sm:12px;--mono:ui-monospace, monospace}*,:before,:after{box-sizing:border-box}body,h3,p,ul,ol{margin:0;padding:0}body{font:15px/1.6 system-ui,sans-serif}input,button,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}#chat-view{flex-direction:column;height:100dvh;display:flex}.chat-nav{padding:var(--gap) var(--pad);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}#messages{padding:var(--pad);flex:1;overflow-y:auto}#msg-input,.message-bubble,#modal-body{font-family:var(--mono)}.btn-ghost{padding:var(--gap);color:var(--muted)}.btn-send{padding:var(--pad-sm);color:#fff;background:#000;flex-shrink:0}.btn-send:disabled{opacity:.35;cursor:default}.btn-copy{padding:var(--gap-sm)}.message-composer{align-items:flex-end;gap:var(--gap);padding:var(--gap) var(--pad);flex-shrink:0;display:flex}#msg-input{padding:var(--gap) var(--pad-sm);border:1px solid var(--line);resize:none;flex:1;max-height:140px;overflow-y:auto}#msg-input:focus{border-color:#000;outline:none}#msg-input:disabled{opacity:.5}#msg-counter{text-align:right;padding:0 var(--pad) var(--gap);font-size:var(--text-sm);color:var(--muted);display:block}.message{margin-bottom:var(--gap);background:var(--bubble);width:fit-content;max-width:100%}.message--user{color:#fff;background:#000;margin-left:auto}.message-bubble{padding:var(--gap) var(--pad-sm);overflow-wrap:break-word}.message-bubble p+p{margin-top:.5em}.message-bubble ul,.message-bubble ol{padding-left:var(--pad)}.message-bubble--loading{color:var(--muted)}.message-footer{text-align:right;padding:var(--gap-sm)}.citation,.citation-miss{border-bottom:1px solid}.citation{color:var(--cite);cursor:pointer}.citation-miss{color:var(--miss)}dialog{border:none;width:min(720px,94vw);max-height:min(82vh,760px);padding:0}dialog::backdrop{background:var(--overlay)}.modal__content{max-height:inherit;flex-direction:column;display:flex}.modal__header{padding:var(--pad-sm) var(--pad);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.modal__header h3{font-size:inherit}#modal-meta{padding:var(--pad-sm) var(--pad) 0;font-size:var(--text-sm);color:var(--cite)}#modal-body{padding:var(--pad-sm) var(--pad);white-space:pre-wrap;flex:1;overflow-y:auto}
