:root{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;color:#242424;background:#f7f7fb}body{margin:0}.app-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr auto}header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e1e1e1;background:#fff}.status{font-size:12px;padding:3px 8px;border-radius:99px;background:#eee}.status.connected{background:#dff6dd;color:#107c10}.status.error{background:#fde7e9;color:#a80000}.connect-card{padding:16px;background:#fffbe6;border-bottom:1px solid #f0d97a}.connect-card pre{white-space:pre-wrap;color:#a80000}.chat-window{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:10px}.bubble{max-width:78%;padding:10px 12px;border-radius:12px;line-height:1.45;box-shadow:0 1px 2px #0000000d}.bubble p{margin:.25em 0}.bubble.user{align-self:flex-end;background:#e8ebfa}.bubble.assistant{align-self:flex-start;background:#fff;border:1px solid #e1e1e1}.bubble.system{align-self:center;background:transparent;color:#666;box-shadow:none;font-size:12px}.composer{display:flex;flex-direction:column;gap:8px;padding:10px 16px 12px;border-top:1px solid #f0f0f0;background:#fff}.composer-shell{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 12px 0 16px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;box-shadow:0 1px 2px #00000008;transition:border-color .16s ease,box-shadow .16s ease}.composer-shell:focus-within{border-color:#8b8fdc;box-shadow:0 0 0 3px #5b5fc71f}.composer textarea{width:100%;min-height:38px;max-height:120px;resize:none;padding:8px 0;border:0;outline:0;background:transparent;color:#242424;font:inherit;font-size:16px;line-height:22px}.composer textarea::placeholder{color:#555}.composer-tools{display:flex;align-items:center;gap:6px;height:100%}.composer .tool-btn,.composer .send-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:0;border-radius:7px;background:transparent;color:#222;font-size:18px;font-weight:500;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.composer .tool-btn:hover:not(:disabled),.composer .send-btn:hover:not(:disabled){background:#f3f3f3}.composer .tool-btn:active:not(:disabled),.composer .send-btn:active:not(:disabled){transform:scale(.96)}.composer .tool-btn:disabled,.composer .send-btn:disabled{opacity:.32;cursor:not-allowed}.composer .tool-btn.mic-on{color:#c4314b;background:transparent}.composer .tool-btn.stop-output{color:#222}.composer .tool-btn.has-pending{color:#5b5fc7;background:#f0f0ff}.composer .tool-icon{transform:translateY(-1px)}.composer .mic-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.composer .stop-square{width:13px;height:13px;display:block;border:2px solid currentColor;border-radius:2px;box-sizing:border-box}.composer .plus-btn{font-size:26px;font-weight:300}.composer-divider{width:1px;height:28px;margin:0 3px;background:#d9d9d9}.composer .send-btn{font-size:22px;color:#1f1f1f}.composer .send-btn:not(:disabled){color:#111}.composer .pending-attachment{display:flex;align-items:center;gap:10px;align-self:flex-start;max-width:min(560px,100%);padding:6px 8px;background:#f7f7fb;border:1px solid #e5e5ef;border-radius:10px;color:#424242;font-size:13px}.composer .pending-attachment img{width:42px;height:42px;object-fit:cover;border-radius:7px}.composer .pending-attachment .link{background:none;border:none;color:#5b5fc7;cursor:pointer;padding:0;font:inherit}button{border:0;border-radius:8px;padding:8px 12px;background:#5b5fc7;color:#fff;font-weight:600;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}
