:root{--text:#475569;--text-h:#0f172a;--muted:#64748b;--bg:#fff7ed;--border:#94a3b847;--surface:#ffffffb8;--surface-strong:#ffedd5eb;--shadow:0 24px 48px #94a3b829, 0 10px 24px #0f172a0f;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#fb923c29,#0000 32%),linear-gradient(#fff7ed 0%,#fffbf5 100%);font-family:Satoshi,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body,button,textarea{font:inherit}button,textarea{border:0}img{max-width:100%;display:block}a{color:inherit}#root{min-height:100vh}h1,h2,h3,p,ul{margin:0}.app-shell{box-sizing:border-box;min-height:100svh;padding:1rem}.chat-panel-full{grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1100px,100%);min-height:calc(100svh - 2rem);margin:0 auto;display:grid}.chat-panel{border:1px solid var(--border);min-height:0;box-shadow:var(--shadow);background:radial-gradient(circle at top,#ffb1411a,#0000 28%),linear-gradient(#fff8f0fa,#fffffff5);border-radius:28px;padding:1.5rem;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.72rem;font-weight:700}.chat-header{justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.5rem 1rem;display:flex}.chat-header h2{margin:.25rem 0 0}.status-pill{background:var(--surface-strong);color:var(--text-h);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.status-pill.busy{color:#c2410c;background:#f9731626}.prompt-row{gap:.75rem;padding:0 1.5rem 1rem;display:flex;overflow-x:auto}.prompt-chip{border:1px solid var(--border);color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:.7rem 1rem;transition:transform .18s,border-color .18s,box-shadow .18s}.prompt-chip:hover{border-color:#f9731673;transform:translateY(-1px);box-shadow:0 10px 20px #f9731614}.chat-thread{align-content:start;gap:1rem;padding:0 1.5rem 1.5rem;display:grid;overflow-y:auto}.message{border:1px solid #0000;border-radius:20px;gap:.45rem;max-width:min(78ch,100%);padding:1rem 1.1rem;display:grid}.message p{white-space:pre-wrap}.message-role{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.message-user{color:#fff7ed;background:linear-gradient(135deg,#f97316,#fb923c);justify-self:end}.message-user .message-role{color:#fff7edbd}.message-assistant{background:#fff;border-color:#94a3b83d}.message.pending{color:var(--muted);border-style:dashed}.composer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border-top:1px solid #94a3b82e;gap:.85rem;padding:1rem 1.5rem 1.5rem;display:grid}.composer textarea{resize:vertical;box-sizing:border-box;width:100%;font:inherit;color:var(--text-h);background:#fffffff0;border:1px solid #94a3b852;border-radius:20px;min-height:7rem;padding:1rem 1.1rem}.composer textarea:focus{border-color:#f9731675;outline:2px solid #f973162e}.composer-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.composer-footer p{color:var(--muted);font-size:.9rem}.composer button,.prompt-chip{font-family:inherit}.composer button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ea580c,#fb923c);border:0;border-radius:999px;padding:.9rem 1.25rem;font-size:.98rem;font-weight:700;transition:transform .18s,opacity .18s,box-shadow .18s;box-shadow:0 14px 30px #f9731647}.composer button:hover:not(:disabled){transform:translateY(-1px)}.composer button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.error-text{color:#b91c1c;font-size:.92rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=960px){.app-shell{padding:1rem}}@media (width<=640px){.chat-header,.prompt-row,.chat-thread,.composer{padding-left:1rem;padding-right:1rem}.composer-footer{flex-direction:column;align-items:stretch}.composer button{width:100%}}
