:root{--bg: #FDFBF1;--bg-raised: #e8e2d6;--bg-input: #ffffff;--border: #d4cfc5;--text: #2c2c2c;--text-muted: #6b6560;--gold: #c49a2d;--gold-hover: #d4ad45;--user-bubble: #3a3a3a;--user-bubble-text: #f0ebe1;--assistant-bubble: #e8e2d6;--assistant-text: #2c2c2c}[data-theme=dark]{--bg: #232321;--bg-raised: #242424;--bg-input: #1a1a1a;--border: #3a3a3a;--text: #e0ddd6;--text-muted: #9a9590;--gold: #c49a2d;--gold-hover: #d4ad45;--user-bubble: #c49a2d;--user-bubble-text: #1a1a1a;--assistant-bubble: #242424;--assistant-text: #e0ddd6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--gold)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);height:100dvh}#app{position:relative;height:100dvh}#app-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0;padding-right:1.5rem;z-index:10;pointer-events:none}#app-header>*{pointer-events:auto}#header-logo{height:3.12rem;width:auto;display:block}#header-actions{display:flex;align-items:center;gap:.25rem}.header-btn{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:.5rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.header-btn:hover{color:var(--gold);background:var(--bg-raised)}.header-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}#account-menu{position:relative}#account-dropdown{position:absolute;top:calc(100% + .4rem);right:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:10;min-width:120px;overflow:hidden}#account-dropdown.hidden{display:none}#account-dropdown button{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;background:none;color:var(--text);font-size:.9rem;cursor:pointer}#account-dropdown button:hover{background:var(--border)}#chat-messages{height:100dvh;overflow-y:auto;padding:1rem max(1.5rem,(100% - 900px) / 2);padding-bottom:5rem;display:flex;flex-direction:column;gap:1.7rem}.message{max-width:80%;padding:.75rem 1rem;border-radius:1rem;line-height:1.5;word-break:break-word}.message.user{align-self:flex-end;background:color-mix(in srgb,var(--user-bubble) 20%,transparent);color:var(--text);border-bottom-right-radius:.25rem;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:color-mix(in srgb,var(--assistant-bubble) 25%,transparent);color:var(--assistant-text);border-bottom-left-radius:.25rem}.message.assistant p{margin:.4em 0}.message.assistant p:first-child{margin-top:0}.message.assistant p:last-child{margin-bottom:0}.message.assistant ul,.message.assistant ol{margin:.4em 0;padding-left:1.5em}.message.assistant code{background:#00000014;padding:.1em .3em;border-radius:3px;font-size:.9em}.message.assistant pre{background:#00000014;padding:.6em .8em;border-radius:6px;overflow-x:auto;margin:.4em 0}.message.assistant pre code{background:none;padding:0}.message.assistant h1,.message.assistant h2,.message.assistant h3{margin:.6em 0 .3em;font-size:1.1em}.message.assistant blockquote{border-left:3px solid var(--gold);padding-left:.8em;margin:.4em 0;opacity:.85}.message.assistant strong{font-weight:600}.message.assistant table{border-collapse:collapse;margin:.4em 0;width:100%;font-size:.95em}.message.assistant th,.message.assistant td{border:1px solid var(--border);padding:.35em .6em;text-align:left}.message.assistant th{background:#0000000a;font-weight:600}[data-theme=dark] .message.assistant th{background:#ffffff0d}[data-theme=dark] .message.assistant code{background:#ffffff1a}[data-theme=dark] .message.assistant pre{background:#ffffff14}#chat-input-area{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-end;gap:.5rem;padding:.75rem max(1.5rem,(100% - 900px) / 2);padding-bottom:1rem;z-index:5}#chat-input-area:before{content:"";position:absolute;bottom:0;left:0;right:0;height:calc(100% + 20px);background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--bg) 60%,transparent) 20px,color-mix(in srgb,var(--bg) 80%,transparent) 50%,var(--bg) 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 20px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20px);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:-1}#chat-input{flex:1;resize:none;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--bg-input) 50%,transparent);color:var(--text);font-family:inherit;font-size:1rem;line-height:1.5;outline:none;max-height:150px;overflow:hidden}#chat-input:focus{border-color:var(--gold)}#chat-input:disabled{opacity:.5}#send-btn{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:.75rem;background:var(--gold);color:var(--bg);font-family:inherit;font-size:1rem;font-weight:600;line-height:1.5;cursor:pointer}#send-btn:hover{background:var(--gold-hover)}#send-btn:disabled{opacity:.5;cursor:not-allowed}.stream-indicator{margin-top:.3em}.typing-dots{display:flex;gap:4px;padding:4px 0}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.4;animation:dot-pulse 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}.message.assistant.streaming-cursor:after{content:"\2588";color:var(--gold);animation:cursor-blink .8s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.tool-hint{display:inline-flex;align-items:center;gap:.4em;font-size:.8em;color:var(--gold);padding:.3em .7em;margin-top:.4em;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:1em;background:color-mix(in srgb,var(--gold) 8%,transparent);font-style:italic}.tool-hint:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:dot-pulse 1.4s ease-in-out infinite}
