:root{--bubble:#00000014;--muted:#000000bf;--line:#00000026;--overlay:#00000073;--cite:#8a2535;--miss:#8f4a12;--ink:#000;--paper:#fff;--border:1px solid var(--line);--pad:16px;--pad-s:12px;--gap:8px;--fs-s:12px;--touch:44px}*,:before,:after{box-sizing:border-box}body,blockquote,h1,h2,h3,h4,h5,h6,p,ul,ol{margin:0;padding:0}body{font:15px/1.6 ui-monospace,monospace}button,input,textarea{font:inherit;color:inherit;margin:0}button{cursor:pointer;background:0 0;border:none;padding:0}:is(button,input,textarea):disabled{opacity:.4;cursor:not-allowed}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#chat-view{flex-direction:column;height:100dvh;display:flex}.chat-header{padding:var(--gap) var(--pad);border-bottom:var(--border);flex-shrink:0;align-items:center;display:flex}#quota{font-size:var(--fs-s);color:var(--muted);white-space:nowrap;margin-left:auto}#logout-btn{min-height:0;font-size:var(--fs-s);margin-left:var(--gap);padding-left:var(--gap);border-left:var(--border)}#messages{min-height:0;padding:var(--pad);flex:1;overflow-y:auto}.btn-ghost{padding:var(--gap);min-height:var(--touch);color:var(--muted)}.btn-send{padding:var(--gap) var(--pad-s);min-height:var(--touch);background:var(--ink);color:var(--paper);flex-shrink:0}.message-composer{align-items:flex-end;gap:var(--gap);padding:var(--gap) var(--pad);border-top:var(--border);flex-shrink:0;display:flex}#msg-input{resize:none;field-sizing:content;flex:1;max-height:140px}#msg-input,.field{padding:var(--gap) var(--pad-s);background:var(--bubble);box-shadow:inset 0 0 0 1px var(--line);min-height:var(--touch);border:none}#msg-input::placeholder{color:var(--muted);opacity:1}#msg-counter{text-align:right;padding:0 var(--pad) var(--gap);font-size:var(--fs-s);color:var(--muted)}.message{margin-bottom:var(--gap);width:fit-content;max-width:min(100%,80ch);padding:var(--gap) var(--pad-s);overflow-wrap:break-word;background:var(--bubble)}.message--user{background:var(--ink);color:var(--paper);margin-left:auto}.message--loading{color:var(--muted)}.message>:not(:first-child){margin-top:var(--gap)}.message :is(ul,ol){padding-left:var(--pad)}.message a[href^=cite\:]{color:var(--cite);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.message blockquote{margin:var(--gap) 0;border-left:3px solid var(--miss);padding:var(--gap) var(--pad-s);background:color-mix(in srgb, var(--miss) 15%, transparent)}dialog{border:none;flex-direction:column;width:min(720px,94vw);max-height:min(82vh,760px);padding:0}dialog[open]{display:flex}dialog::backdrop{background:var(--overlay)}.modal-header{padding:var(--pad-s) var(--pad);border-bottom:var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:1.25em}#modal-meta{padding:var(--pad-s) var(--pad) 0;font-size:var(--fs-s);color:var(--muted)}#modal-body{padding:var(--pad-s) var(--pad);white-space:pre-wrap;flex:1;overflow-y:auto}#auth-body{padding:var(--pad-s) var(--pad) var(--pad);gap:var(--gap);flex-direction:column;display:flex}#auth-body section{gap:var(--gap);flex-direction:column;display:flex}#auth-body section[hidden]{display:none}.field{width:100%}#auth-code-text{padding:var(--gap) var(--pad-s);background:var(--bubble);overflow-wrap:break-word;font-size:1.1em}#auth-error{color:var(--cite);font-size:var(--fs-s)}
