:root{color:#111827;background:#f7f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}body{min-width:320px}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto auto 1fr auto;max-width:860px;margin:0 auto;background:linear-gradient(180deg,#ffffffd1,#f7f7f4f2),radial-gradient(circle at top left,rgba(14,165,160,.18),transparent 30%),#f7f7f4}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(18px,env(safe-area-inset-top)) 18px 10px}.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;color:#f7f7f4;background:#111827;box-shadow:0 12px 24px #11182729}h1,h2,p{margin:0}h1{font-size:1.3rem;line-height:1.1;letter-spacing:0}.brand-lockup p{margin-top:4px;color:#667085;font-size:.84rem}.status-pill{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;padding:0 10px;border-radius:999px;color:#475467;background:#fffc;border:1px solid rgba(17,24,39,.08);font-size:.82rem}.status-pill.ready{color:#066b5d;background:#e5f7f3}.status-pill.setup{color:#8a5a00;background:#fff4d6}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 18px 12px}.mode-tabs.three{grid-template-columns:repeat(3,1fr)}.mode-tabs button{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(17,24,39,.08);border-radius:8px;color:#344054;background:#ffffffb3}.mode-tabs button.active{color:#f7f7f4;background:#111827}.workspace{min-height:0;padding:0 18px}.message-list{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:4px 0 16px;scrollbar-width:thin}.message{width:min(92%,720px);padding:12px 13px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid rgba(17,24,39,.08)}.message.user{align-self:flex-end;color:#fff;background:#2563eb}.message.assistant{align-self:flex-start;background:#ffffffe6}.message.system{align-self:center;width:100%;color:#8a2c0d;background:#fff0e8}.message-role{margin-bottom:7px;font-size:.75rem;font-weight:700;opacity:.72}.message p{line-height:1.55;font-size:.96rem}.pending{display:inline-flex;align-items:center;gap:8px;color:#475467}.pending svg,.spin{animation:spin 1s linear infinite}.empty-state{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;text-align:center;color:#475467;border:1px dashed rgba(17,24,39,.18);border-radius:8px;background:#ffffff8c}.empty-state h2{color:#111827;font-size:1.05rem;letter-spacing:0}.task-item{width:100%;padding:12px 13px;border-radius:8px;border:1px solid rgba(17,24,39,.08);background:#ffffffe6}.task-item.running{border-color:#2563eb42}.task-item.done{border-color:#0ea5a04d}.task-item.error{border-color:#dc262647}.task-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#667085;font-size:.78rem}.task-header span{color:#111827;font-weight:800;text-transform:uppercase}.task-prompt{line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere}.task-item pre{max-height:280px;overflow:auto;margin:12px 0 0;padding:11px;border-radius:8px;color:#f7f7f4;background:#111827;white-space:pre-wrap;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.45}.task-error{margin-top:10px;color:#b42318;white-space:pre-wrap;overflow-wrap:anywhere}.composer{display:flex;flex-direction:column;gap:10px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(17,24,39,.08);background:#f7f7f4f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.code-panel{display:flex;flex-direction:column;gap:10px}.control-grid{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(140px,1.15fr);gap:10px}label{display:flex;flex-direction:column;gap:5px;color:#667085;font-size:.78rem}.passcode-field span{display:inline-flex;align-items:center;gap:6px}select,input,textarea{width:100%;border:1px solid rgba(17,24,39,.12);border-radius:8px;color:#111827;background:#fff;outline:none}select,input{height:42px;padding:0 11px}textarea{resize:none}select:focus,input:focus,textarea:focus{border-color:#0ea5a0;box-shadow:0 0 0 3px #0ea5a029}.code-input{min-height:134px;max-height:240px;padding:11px;line-height:1.45;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem}.prompt-row{display:grid;grid-template-columns:1fr 48px;gap:10px;align-items:end}.prompt-input{height:54px;max-height:120px;padding:12px;line-height:1.35}.send-button{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;color:#fff;background:#0ea5a0}.send-button:disabled{cursor:wait;opacity:.72}.clear-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;padding:0 10px;border:1px solid rgba(17,24,39,.08);border-radius:8px;color:#475467;background:transparent;font-size:.84rem}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){.app-shell{min-height:calc(100vh - 24px);min-height:calc(100dvh - 24px);margin-top:12px;margin-bottom:12px;border:1px solid rgba(17,24,39,.08);border-radius:8px;box-shadow:0 30px 80px #1118271f}}@media(max-width:430px){.topbar,.mode-tabs,.workspace,.composer{padding-left:12px;padding-right:12px}.brand-lockup p,.status-pill{font-size:.76rem}.control-grid{grid-template-columns:1fr}}
