:root{--bg:#f5f7f4;--surface:#fff;--surface-soft:#f8faf7;--text:#34423d;--text-strong:#101816;--muted:#6f7f78;--border:#dfe7e1;--border-strong:#c7d5cd;--track:#e9efe9;--shadow:0 14px 34px #182b230f;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--text);background:linear-gradient(180deg, #d5ecdeb8, #f5f7f400 340px), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}@media (width>=1181px){html,body,#root{height:100%}body{overflow:hidden}}.codex-app{min-height:100vh;color:var(--text);grid-template-columns:292px minmax(520px,1fr) 380px;display:grid}.left-rail,.right-preview{background:var(--surface);min-width:0}.left-rail{border-right:1px solid var(--border);grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto;gap:14px;min-height:0;padding:18px;display:grid}.rail-top{gap:14px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#06251d;background:linear-gradient(135deg,#dff8ec,#72d9ad);border-radius:8px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.brand strong,.brand span{display:block}.brand strong{color:var(--text-strong);font-size:15px}.brand span{color:var(--muted);margin-top:2px;font-size:12px}.search-box{border:1px solid var(--border);min-height:38px;color:var(--muted);background:var(--surface-soft);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{width:100%;color:var(--text-strong);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.rail-section{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0;display:grid}.files-section{border-top:1px solid var(--border);min-height:0;padding-top:12px}.rail-heading{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.rail-heading button{min-height:26px;padding:0 9px;font-size:12px}.rail-list{overscroll-behavior:contain;align-content:start;gap:6px;min-width:0;min-height:0;display:grid;overflow-y:auto}.rail-item{text-align:left;background:0 0;border-color:#0000;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-width:0;min-height:54px;padding:9px 10px;display:flex}.rail-item:hover,.rail-item.active{border-color:var(--border);background:var(--surface-soft)}.rail-item.active{box-shadow:inset 3px 0 #37b486}.session-open{text-align:left;background:0 0;border:0;flex:1;justify-content:flex-start;gap:10px;min-width:0;min-height:auto;padding:0}.session-open:hover{background:0 0;border-color:#0000}.session-actions{opacity:0;align-items:center;gap:4px;transition:opacity .12s;display:flex}.rail-item:hover .session-actions,.rail-item:focus-within .session-actions,.rail-item.active .session-actions{opacity:1}.session-actions button{width:28px;min-height:28px;color:var(--muted);padding:0}.session-actions button:disabled svg{animation:1s linear infinite spin}.session-inline-form,.session-delete-confirm{z-index:2;grid-template-columns:minmax(0,1fr) 30px 30px;gap:6px;width:100%;padding-left:25px;display:grid;position:relative}.session-inline-form input{border:1px solid var(--border);min-width:0;min-height:30px;color:var(--text-strong);font:inherit;background:#fff;border-radius:8px;padding:0 8px;font-size:12px}.session-inline-form button,.session-delete-confirm button{min-height:30px;padding:0 8px;font-size:12px}.session-delete-confirm{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.session-delete-confirm span{color:#87422d;font-size:12px;font-weight:800}.rail-item span,.rail-item strong,.rail-item small{min-width:0;display:block}.rail-item strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.rail-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.rail-error{color:#87422d;background:#fff4ef;border:1px solid #efc9bc;border-radius:8px;margin:0;padding:10px;font-size:12px;line-height:1.5}.session-status{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.account-dock{min-width:0;position:relative}.account-button{background:var(--surface-soft);text-align:left;border-color:#0000;grid-template-columns:34px minmax(0,1fr) 22px;justify-content:stretch;align-items:center;gap:9px;width:100%;min-width:0;min-height:52px;padding:8px;display:grid}.account-button span,.account-menu-profile div{gap:2px;min-width:0;display:grid}.account-button strong,.account-button small,.account-menu-profile strong,.account-menu-profile span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-button strong,.account-menu-profile strong{color:var(--text-strong);font-size:13px}.account-button small,.account-menu-profile span{color:var(--muted);font-size:11px}.account-avatar{color:#fff;background:#263833;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.account-menu{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;right:0;box-shadow:0 18px 44px #1627212e}.account-menu-profile{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:5px 4px 10px;display:grid}.account-menu-row{text-align:left;background:0 0;border-color:#0000;grid-template-columns:22px minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 8px;display:grid}.account-menu-row span{justify-self:start;font-size:13px}.account-menu-row.danger{color:#8a2d1c}.account-status-row{color:var(--muted)}.account-status-row button{width:28px;min-height:28px;padding:0}.account-key-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:4px 0 8px;display:grid}.account-key-form input{border:1px solid var(--border);min-width:0;min-height:34px;color:var(--text-strong);background:var(--surface-soft);font:inherit;border-radius:8px;padding:0 9px;font-size:12px}.account-key-form button{min-height:34px;padding:0 9px;font-size:12px}.empty-rail{color:var(--muted);margin:0;padding:8px 2px;font-size:12px;line-height:1.5}.center-workspace{background:linear-gradient(180deg, #dbefe3c2, #f7f9f600 280px), var(--bg);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:14px 24px;display:flex}.workspace-header p,.preview-header p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.workspace-header h1,.preview-header h2{color:var(--text-strong);margin:4px 0 0;font-size:18px;line-height:1.2}.connection-pill{border:1px solid var(--border);min-height:32px;color:var(--muted);background:#fff;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.connection-pill.connected{color:#0c6a4c;background:#edf9f2;border-color:#37b4866b}.connection-pill.disconnected{color:#8a2d1c;background:#fff4ef;border-color:#c653385c}.chat-pane{grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:18px 24px 22px;display:grid;overflow:hidden}.message-stack{overscroll-behavior:contain;flex-direction:column;gap:14px;width:min(880px,100%);min-height:0;margin:0 auto;padding:4px 4px 24px;display:flex;overflow-y:auto}.message-row{grid-template-columns:34px minmax(0,1fr);gap:12px;display:grid}.message-avatar{color:#073f31;background:#dff8ec;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.message-row-user .message-avatar{color:#fff;background:#263833}.pending-row .message-avatar svg{animation:1s linear infinite spin}.message-body{min-width:0}.message-body span{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:800;display:block}.message-body p{white-space:pre-wrap;border:1px solid var(--border);color:var(--text);background:#ffffffe0;border-radius:8px;margin:0;padding:11px 13px;font-size:13px;line-height:1.66}.message-row-user .message-body p{color:#0b241c;background:#eaf9f1;border-color:#37b4866b}.message-markdown{overflow-wrap:anywhere;border:1px solid var(--border);color:var(--text);background:#ffffffe0;border-radius:8px;padding:11px 13px;font-size:13px;line-height:1.66}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown h1,.message-markdown h2,.message-markdown h3{color:var(--text-strong);margin:12px 0 7px;line-height:1.28}.message-markdown h1{font-size:17px}.message-markdown h2{font-size:15px}.message-markdown h3{font-size:14px}.message-markdown p,.message-markdown ul,.message-markdown ol,.message-markdown blockquote,.message-markdown pre,.message-markdown table{margin:8px 0}.message-markdown ul,.message-markdown ol{padding-left:20px}.message-markdown code{font-family:var(--mono);background:#edf4ef;border-radius:5px;padding:1px 4px;font-size:12px}.message-markdown pre{background:#101917;border-radius:8px;padding:10px;overflow-x:auto}.message-markdown pre code{color:#eef8f1;background:0 0;padding:0}.message-markdown table{border-collapse:collapse;width:100%;font-size:12px}.message-markdown th,.message-markdown td{border:1px solid var(--border);text-align:left;padding:6px 7px}.message-markdown blockquote{color:var(--muted);border-left:3px solid #9bd9c0;padding-left:10px}.message-markdown a{color:#0c6a4c}.message-actions,.message-attachments{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.message-actions button{width:28px;min-height:28px;color:var(--muted);padding:0}.message-attachment{border:1px solid var(--border);min-height:26px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.empty-chat-state{max-width:360px;color:var(--muted);text-align:center;gap:7px;margin:auto;padding:18px;display:grid}.empty-chat-state strong{color:var(--text-strong);font-size:15px}.empty-chat-state span{font-size:12px;line-height:1.55}.quick-commands{gap:8px;width:min(880px,100%);min-width:0;max-width:100%;margin:0 auto 10px;padding-bottom:2px;display:flex;overflow-x:auto}.quick-commands button{min-height:32px;color:var(--muted);flex:none;padding:0 11px;font-size:12px;font-weight:760}.composer{background:#fff;border:1px solid #37b48673;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:end;gap:10px;width:min(880px,100%);min-height:64px;margin:0 auto;padding:10px;display:grid;box-shadow:0 18px 48px #193e301f}.composer.dragging{background:#f3fff8;border-color:#15875f}.hidden-file-input{display:none}.attachment-tray{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.attachment-chip{border:1px solid var(--border);min-width:0;max-width:280px;min-height:38px;color:var(--text);background:#f9fcfa;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:5px 6px;display:grid}.attachment-chip.error{background:#fff4ef;border-color:#efc9bc}.attachment-chip img{object-fit:cover;border-radius:6px;width:30px;height:30px}.attachment-chip>svg{color:var(--muted);justify-self:center}.attachment-chip span{gap:2px;min-width:0;display:grid}.attachment-chip strong,.attachment-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-chip strong{color:var(--text-strong);font-size:12px}.attachment-chip small{color:var(--muted);font-size:11px}.attachment-chip button,.attach-button{width:34px;height:34px;min-height:34px;padding:0}.composer textarea{resize:none;width:100%;min-height:42px;max-height:150px;color:var(--text-strong);font:inherit;background:0 0;border:0;outline:0;padding:12px;font-size:13px;line-height:1.5;overflow-y:auto}.composer button{width:44px;height:44px;padding:0}.chat-status,.save-status{width:min(880px,100%);color:var(--muted);margin:8px auto 0;font-size:12px;line-height:1.5}.chat-status{color:#0c6a4c;font-weight:760}.attachment-status{color:var(--muted)}.right-preview{overscroll-behavior:contain;border-left:1px solid var(--border);flex-direction:column;gap:14px;min-height:0;max-height:100vh;padding:18px;display:flex;overflow-y:auto}.preview-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-header p{color:var(--muted);margin:0 0 3px;font-size:11px;font-weight:800}.preview-header h2{color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.35}.right-tabs{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.right-tabs button{min-width:0;min-height:30px;color:var(--muted);background:0 0;border-color:#0000;padding:0 8px;font-size:12px;font-weight:800}.right-tabs button:hover,.right-tabs button.active{border-color:var(--border);color:var(--text-strong);background:var(--surface-soft)}.right-tabs button.active{box-shadow:0 1px 2px #1b27210f}.preview-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;padding:14px}.doc-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.doc-title{align-items:center;gap:10px;min-width:0;display:flex}.doc-title strong,.doc-title span{display:block}.doc-title strong{overflow-wrap:anywhere;color:var(--text-strong);font-size:14px}.doc-title span{color:var(--muted);margin-top:2px;font-size:12px}.doc-actions{flex:none;align-items:center;gap:6px;display:flex}.doc-actions button{place-items:center;width:30px;height:30px;min-height:30px;padding:0;display:grid}.markdown-preview{max-height:340px;color:var(--text);font-family:var(--mono);white-space:pre-wrap;background:0 0;margin:0;padding-top:12px;font-size:12px;line-height:1.65;overflow:auto}.document-dirty-bar{border:1px solid var(--border);min-height:30px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;margin-top:12px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.document-dirty-bar.dirty{color:#8a5a00;background:#fff8e8;border-color:#cf972266}.document-editor{resize:vertical;border:1px solid var(--border);width:100%;min-height:340px;max-height:520px;color:var(--text-strong);font-family:var(--mono);background:#fff;border-radius:8px;outline:0;margin-top:12px;padding:12px;font-size:12px;line-height:1.65;overflow:auto}.document-editor:focus{border-color:#54b38e;box-shadow:0 0 0 3px #54b38e24}.document-status{color:var(--muted);margin:10px 0 0;font-size:12px}.preview-list-heading{color:var(--text-strong);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.derive-task-button{align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:12px;display:inline-flex}.answer-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.answer-actions button{justify-content:center;align-items:center;gap:6px;min-width:0;min-height:34px;padding:0 8px;font-size:12px;display:inline-flex}.answer-actions button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.changed-list{gap:9px;margin:12px 0 0;padding:0;list-style:none;display:grid}.changed-list.compact{color:var(--muted);gap:7px;margin-top:12px;font-size:12px}.output-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.output-search{margin-top:10px}.output-list li{min-width:0}.output-row{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:7px;display:grid}.output-list button{border:1px solid var(--border);text-align:left;width:100%;min-height:auto;font-weight:inherit;background:#fff;border-radius:8px;gap:3px;padding:10px;display:grid}.output-list .output-open:hover{background:#f7fffb;border-color:#37b486}.output-delete{place-items:center;padding:0}.output-list strong,.output-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.output-list strong{color:var(--text-strong);font-size:12px}.output-list span,.empty-output{color:var(--muted);font-size:11px;line-height:1.5}.output-delete-confirm{color:#8a2d1c;background:#fff7f3;border:1px solid #c6533842;border-radius:8px;align-items:center;gap:8px;margin-top:7px;padding:8px;font-size:12px;display:flex}.output-delete-confirm button{width:auto;min-height:26px;padding:0 9px}.empty-output{margin:12px 0 0}.attachment-library{gap:12px;display:grid}.attachment-library .preview-list-heading button{width:30px;height:30px;min-height:30px;padding:0}.attachment-library .preview-list-heading button:disabled svg{animation:1s linear infinite spin}.attachment-library-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:10px;display:grid}.attachment-library-list{align-content:start;gap:7px;min-width:0;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.attachment-library-list li{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;min-width:0;display:grid}.attachment-library-list li.active{border-color:#37b4868c;box-shadow:inset 3px 0 #37b486}.attachment-open{text-align:left;min-width:0;min-height:48px;font-weight:inherit;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr);justify-content:stretch;gap:8px;padding:8px 4px 8px 9px;display:grid}.attachment-open:hover{background:0 0;border-color:#0000}.attachment-open span,.attachment-open strong,.attachment-open small{min-width:0;display:block}.attachment-open strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.attachment-open small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;line-height:1.35;overflow:hidden}.attachment-library-actions{align-items:center;gap:3px;padding-right:6px;display:flex}.attachment-library-actions button{width:26px;min-height:26px;color:var(--muted);padding:0}.attachment-preview-panel{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:start;gap:10px;min-width:0;min-height:188px;max-height:300px;padding:10px;display:grid;overflow:auto}.attachment-preview-title{gap:3px;min-width:0;display:grid}.attachment-preview-title strong,.attachment-preview-title span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-preview-title strong{color:var(--text-strong);font-size:12px}.attachment-preview-title span{color:var(--muted);font-size:11px}.attachment-preview-panel img{object-fit:contain;background:var(--surface-soft);border-radius:8px;width:100%;max-height:230px}.attachment-preview-panel pre{color:var(--text);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.55}.attachment-preview-panel p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.changed-list li{color:var(--muted);padding-left:16px;font-size:12px;line-height:1.5;position:relative}.changed-list li:before{content:"";background:#37b486;border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:0}.task-card{gap:12px;display:grid}.task-list{gap:8px;display:grid}.task-item{gap:7px;min-width:0;display:grid}.task-row-wrap{grid-template-columns:minmax(0,1fr) 34px;gap:7px;min-width:0;display:grid}.task-row{text-align:left;width:100%;min-width:0;min-height:auto;font-weight:inherit;grid-template-columns:18px minmax(0,1fr) 16px;justify-content:stretch;align-items:center;gap:9px;padding:9px 10px;display:grid}.task-delete{width:34px;min-height:auto;padding:0}.task-delete-confirm{color:#8a2d1c;background:#fff7f3;border:1px solid #c6533842;border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.task-delete-confirm button{width:auto;min-height:26px;padding:0 9px}.task-checkbox{border:1px solid var(--border-strong);color:#fff;background:#fff;border-radius:5px;place-items:center;width:16px;height:16px;font-size:12px;font-weight:900;line-height:1;display:grid}.task-row.done .task-checkbox{background:#37b486;border-color:#37b486}.task-row span:not(.task-checkbox){min-width:0;color:var(--text-strong);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.task-row.done span:not(.task-checkbox){color:var(--muted);text-decoration:line-through}.task-row svg,.task-form button:disabled svg{animation:1s linear infinite spin}.task-form{grid-template-columns:minmax(0,1fr) 36px;gap:8px;display:grid}.task-form input{border:1px solid var(--border);min-width:0;min-height:36px;color:var(--text-strong);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-size:12px}.task-form button{width:36px;min-height:36px;padding:0}.task-status{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.compact-stats{gap:10px;display:grid}.compact-stats .preview-list-heading{margin-bottom:2px}.compact-stats .preview-list-heading button{width:30px;height:30px;min-height:30px;padding:0}.compact-stats div:not(.progress-track){justify-content:space-between;align-items:center;gap:10px;display:flex}.compact-stats span{color:var(--muted);font-size:12px}.compact-stats strong{color:var(--text-strong);text-align:right;overflow-wrap:anywhere;font-size:13px}.state-form{gap:10px;display:grid}.state-form label{gap:5px;min-width:0;display:grid}.state-form label span,.state-status{color:var(--muted);font-size:12px;line-height:1.5}.state-form input{border:1px solid var(--border);min-width:0;min-height:34px;color:var(--text-strong);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-size:12px}.state-form input:focus{border-color:#54b38e;outline:0;box-shadow:0 0 0 3px #54b38e24}.state-number-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.state-form>button{width:100%;min-height:34px}.state-form button:disabled svg{animation:1s linear infinite spin}.state-status{margin:0}.progress-track,.skill-track{background:var(--track);border-radius:999px;height:7px;overflow:hidden}.progress-track span,.skill-track span{border-radius:inherit;background:linear-gradient(90deg,#37b486,#8ac7e2);height:100%;display:block}.skill-card,.skill-list{gap:12px;display:grid}.skill-row{gap:6px;display:grid}.skill-row div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.skill-row strong{color:var(--text-strong);font-size:12px}.skill-row span{color:var(--muted);font-size:11px;font-weight:800}button{border:1px solid var(--border-strong);min-height:38px;color:var(--text-strong);font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:760;display:inline-flex}button:hover{background:#f0fbf6;border-color:#37b486}button:focus-visible,.composer textarea:focus-visible,.search-box:focus-within{outline-offset:2px;outline:3px solid #37b4863d}button:disabled{cursor:wait;opacity:.62}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1181px){.codex-app{height:100vh;min-height:0;overflow:hidden}.left-rail,.center-workspace,.right-preview{height:100vh;overflow:hidden}.left-rail{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto}.left-rail .rail-section{overflow:hidden}.left-rail .rail-list{max-height:100%}.right-preview{overflow-y:auto}}@media (width<=1180px){.codex-app{grid-template-columns:260px minmax(0,1fr);grid-template-areas:"left center""preview preview"}.left-rail{grid-area:left}.center-workspace{grid-area:center}.right-preview{border-top:1px solid var(--border);border-left:0;flex-direction:column;grid-area:preview;max-height:none;display:flex}}@media (width<=820px){.codex-app{grid-template-columns:1fr;grid-template-areas:"left""center""preview"}.left-rail{border-right:0;border-bottom:1px solid var(--border)}.workspace-header{flex-direction:column;align-items:flex-start;padding:16px}.connection-pill{align-self:flex-start}.chat-pane{padding:16px}.message-stack{min-height:360px}.quick-commands{padding-bottom:8px}.right-preview{grid-template-columns:1fr;padding:16px}.attachment-library-grid{grid-template-columns:1fr}.attachment-library-list,.attachment-preview-panel{max-height:none}}
