:root{--color-primary:#fca23b;--color-primary-dark:#e07700;--color-primary-light:#ff880014;--color-primary-muted:#ff880026}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#2d2d2d;background-color:#f5f0eb;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.chat-input{background-color:#fff;border-top:1px solid #e0dbd5;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-input textarea{resize:none;border:1px solid #d5cfc8;border-radius:.5rem;outline:none;flex:1;min-height:40px;max-height:120px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem}.chat-input textarea:focus{border-color:var(--color-primary)}.chat-input button{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.chat-input button:hover:not(:disabled){background-color:var(--color-primary-dark)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.header{background-color:var(--color-primary);color:#fff;padding:.75rem 1.5rem}.header-content{justify-content:space-between;align-items:center;display:flex}.header h1{font-size:1.25rem;font-weight:600}.header p{opacity:.85;margin-top:.15rem;font-size:.8rem}.user-info{align-items:center;gap:.5rem;display:flex}.user-avatar{border-radius:50%;width:28px;height:28px}.user-email{opacity:.9;font-size:.8rem}.sign-out-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:.35rem;padding:.3rem .6rem;font-size:.75rem;transition:background .2s}.sign-out-btn:hover{background:#ffffff40}.sign-in-link{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:.35rem;padding:.3rem .75rem;font-size:.8rem;transition:background .2s}.sign-in-link:hover{background:#ffffff40}.header-right{align-items:center;gap:.75rem;display:flex}.settings-menu{position:relative}.settings-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-right:-4px;padding:0;transition:background .2s;display:flex}.settings-btn:hover{background:#ffffff40}.settings-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:.4rem;min-width:140px;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 4px 12px #0000001f}.settings-item{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:.4rem;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.875rem;display:flex}.settings-item:hover{background:#f3f4f6}.about-page{background-color:#f5f0eb;justify-content:center;min-height:100vh;padding:3rem 1.5rem;display:flex}.about-content{flex-direction:column;gap:1.25rem;width:100%;max-width:560px;display:flex}.about-back{color:#888;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;margin-bottom:.75rem;padding:0;font-size:.85rem;transition:color .15s;display:inline-flex}.about-back:hover{color:#444}.about-content h2{color:#1a1a1a;font-size:1.5rem;font-weight:700}.about-content h3{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin-top:.5rem;font-size:.8rem;font-weight:600}.about-content p{color:#555;font-size:.9rem;line-height:1.7}.app{flex-direction:column;width:100%;max-width:800px;height:100vh;margin:0 auto;display:flex}.chat-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.message{border-radius:1rem;max-width:80%;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}.message p{margin:0}.message p+p{margin-top:.5em}.message ul,.message ol{margin:.25em 0;padding-left:1.5em}.message code{background-color:#0000000f;border-radius:.25em;padding:.15em .35em;font-size:.88em}.message pre{background-color:#0000000f;border-radius:.5em;margin:.5em 0;padding:.6em .8em;overflow-x:auto}.message pre code{background:0 0;padding:0}.message.user code,.message.user pre{background-color:#ffffff26}.message strong{font-weight:600}.message h1,.message h2,.message h3{margin:.5em 0 .25em;line-height:1.3}.message h1{font-size:1.2em}.message h2{font-size:1.1em}.message h3{font-size:1em}.message blockquote{border-left:3px solid #00000026;margin:.5em 0;padding-left:.75em}.message.user blockquote{border-left-color:#ffffff4d}.message table{border-collapse:collapse;margin:.5em 0;font-size:.9em}.message th,.message td{border:1px solid #0000001f;padding:.3em .6em}.message.user th,.message.user td{border-color:#fff3}.message.user{background-color:var(--color-primary);color:#fff;border-bottom-right-radius:.25rem;align-self:flex-end}.message.assistant{color:#2d2d2d;background-color:#fff;border-bottom-left-radius:.25rem;align-self:flex-start;box-shadow:0 1px 3px #00000014}.typing-indicator{gap:4px;padding:4px 0;display:flex}.typing-indicator span{background-color:#999;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.loading{color:#888;flex:1;justify-content:center;align-items:center;font-size:.95rem;display:flex}.presets{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:.5rem;max-width:80%;margin-top:.25rem;display:flex}.preset-btn{border:1.5px dashed var(--color-primary);color:var(--color-primary);cursor:pointer;text-align:right;background-color:#0000;border-radius:1rem;padding:.5rem 1rem;font-size:.88rem;transition:background-color .15s,border-style .15s}.preset-btn:hover{background-color:var(--color-primary-light);border-style:solid}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.sign-in-nudge{background:var(--color-primary-light);border:1.5px solid var(--color-primary);border-radius:.75rem;align-items:center;gap:1rem;margin:.5rem 1rem 1rem;padding:1rem 1.25rem;display:flex}.sign-in-nudge p{color:#333;flex:1;margin:0;font-size:.9rem}.nudge-sign-in-btn{background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.4rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:opacity .2s}.nudge-sign-in-btn:hover{opacity:.85}
