:root{--codex-ink: #1a1c1f;--codex-surface: #ffffff;--codex-sidebar-bg: #f6f6f6;--codex-accent: #339cff;--border-default: rgba(26, 28, 31, .078);--border-heavy: rgba(26, 28, 31, .117);--border-light: rgba(26, 28, 31, .049);--text-primary: #1a1c1f;--text-secondary: color-mix(in srgb, #1a1c1f 65%, transparent);--text-tertiary: rgba(26, 28, 31, .495);--bg-elevated: rgba(255, 255, 255, .96);--bg-hover: rgba(26, 28, 31, .053);--bg-active: rgba(26, 28, 31, .049);--bg-fog: color-mix(in oklab, #1a1c1f 2.5%, transparent);--height-toolbar: 46px;--height-chat-top-safe: 52px;--sidebar-width: clamp(240px, 300px, min(520px, calc(100vw - 320px) ));--sidebar-collapsed-width: 64px;--chat-surface-width: 820px;--conversation-scrollbar-half-width: 3px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-base: 14px;--font-size-sm: 13px;--font-size-xs: 12px;--font-weight-normal: 445;--elevation-prominent: 0 0 0 .5px color-mix(in oklab, #1a1c1f 12%, transparent), 0 3px 7.5px #0000000a, 0 0 20px #0000000d;--elevation-stroke: 0 0 0 .5px color-mix(in oklab, #1a1c1f 12%, transparent);--radius-sm: .46875rem ;--radius-md: .625rem ;--radius-lg: .78125rem ;--radius-xl: .9375rem ;--radius-2xl: 1.25rem ;--radius-3xl: 1.5625rem ;--radius-full: 9999px;--conversation-block-gap: 12px;--chat-font-size: 14px;--chat-code-font-size: 12px;--color-success: #00a240;--color-error: #e02e2a;--color-warning: #e25507}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background:var(--codex-sidebar-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}button{border:0;background:transparent;cursor:pointer;font:inherit;color:inherit}textarea{font:inherit}a{color:var(--codex-accent);text-decoration:none}.codex-app{display:flex;width:100%;height:100%;position:relative;--chat-left-offset: calc(var(--conversation-scrollbar-half-width) - (var(--sidebar-width) / 2))}.codex-app.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width);--chat-left-offset: calc(var(--conversation-scrollbar-half-width) - (var(--sidebar-width) / 2))}.sidebar{position:relative;display:flex;flex-direction:column;width:var(--sidebar-width);min-width:0;height:100%;background:color-mix(in srgb,var(--codex-surface) 55%,transparent);overflow:visible;flex-shrink:0;transition:width .18s ease}.sidebar-content{display:flex;flex-direction:column;width:100%;height:100%;max-width:100%;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;height:var(--height-toolbar);flex-shrink:0}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.sidebar.collapsed .sidebar-title,.sidebar.collapsed .sidebar-nav-btn:first-child{display:none}.sidebar-nav-btns{display:flex;align-items:center;gap:4px}.sidebar-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md)}.sidebar-nav-btn:hover{background:var(--bg-hover)}.sidebar.collapsed .sidebar-nav-btn[aria-pressed=true] svg{transform:rotate(180deg)}.quick-nav{display:flex;flex-direction:column;gap:1px;padding:4px 8px 12px}.sidebar.collapsed .quick-nav{align-items:center;padding:8px 8px 12px}.quick-nav-btn{display:flex;align-items:center;gap:10px;height:29px;padding:0 8px;border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary)}.sidebar.collapsed .quick-nav-btn{width:40px;height:40px;justify-content:center;gap:0;padding:0;border-radius:var(--radius-lg)}.sidebar.collapsed .quick-nav-btn span{display:none}.quick-nav-btn:hover{background:var(--bg-hover)}.quick-nav-btn svg{flex-shrink:0;width:16px;height:16px}.section-title{padding:12px 16px 6px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-tertiary);letter-spacing:.01em}.sidebar.collapsed .section-title,.sidebar.collapsed .thread-list{display:none}.thread-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 8px 12px}.thread-list::-webkit-scrollbar{width:6px}.thread-list::-webkit-scrollbar-thumb{background:#1a1c1f14;border-radius:var(--radius-full)}.thread-empty{padding:8px;font-size:var(--font-size-sm);color:var(--text-tertiary)}.thread-group{margin-bottom:4px}.group-header{display:flex;align-items:center;gap:8px;height:29px;padding:0 8px;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary)}.group-header svg{flex-shrink:0;width:16px;height:16px;color:var(--text-secondary)}.thread-row{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 4px 0 8px;border-radius:var(--radius-md)}.thread-row:hover{background:var(--bg-hover)}.thread-row.active{background:var(--bg-active)}.thread-item{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;height:100%;text-align:left}.thread-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary)}.thread-row.active .thread-item-title{font-weight:590}.thread-item-age{flex-shrink:0;font-size:var(--font-size-sm);color:var(--text-tertiary)}.thread-delete-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-md);color:var(--text-tertiary);opacity:0}.thread-row:hover .thread-delete-btn,.thread-row.active .thread-delete-btn,.thread-delete-btn.confirming{opacity:1}.thread-delete-btn:hover{background:var(--bg-hover);color:var(--color-error)}.thread-delete-btn.confirming{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 8%,transparent)}.expand-link{display:block;padding:4px 8px 4px 32px;font-size:var(--font-size-sm);color:var(--text-tertiary);cursor:pointer}.expand-link:hover{color:var(--text-secondary)}.conversation-section-title{padding:12px 16px 4px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-tertiary)}.account-footer{display:flex;width:100%;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--border-default);color:inherit;text-align:left;cursor:pointer}.sidebar.collapsed .account-footer{justify-content:center;gap:0;padding:12px 0}.account-footer:hover{background:var(--bg-hover)}.account-footer:focus-visible{outline:2px solid color-mix(in srgb,var(--codex-ink) 28%,transparent);outline-offset:-2px}.avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:#df6a9c;color:#fff;font-size:13px;font-weight:500;flex-shrink:0}.account-info{display:flex;flex:1;min-width:0}.sidebar.collapsed .avatar,.sidebar.collapsed .account-info{display:none}.account-name{display:block;font-size:var(--font-size-base);font-weight:590;color:var(--text-primary)}.account-plan{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;color:var(--text-tertiary)}.sidebar.collapsed .account-action{width:40px;height:40px}.account-footer:hover .account-action{color:var(--text-secondary)}.main{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--codex-surface);isolation:isolate}.app-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:var(--height-toolbar);min-width:0;padding:0 12px;pointer-events:none;isolation:isolate}.app-header>*{position:relative;z-index:1;pointer-events:auto}.app-header:before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:-2px;left:var(--sidebar-width);background:linear-gradient(to bottom,rgba(255,255,255,.92) 0,rgba(255,255,255,.9) var(--height-toolbar),rgba(255,255,255,0) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}.header-left{display:flex;align-items:center;gap:4px;min-width:0;margin-left:calc(var(--sidebar-width) - 12px)}.header-title-area{display:flex;align-items:center;gap:4px;height:28px;min-width:0;max-width:min(520px,calc(100vw - var(--sidebar-width) - 280px));margin-left:10px}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md)}.header-icon-btn:hover{background:var(--bg-hover)}.header-title{min-width:0;overflow:hidden;font-size:var(--font-size-base);font-weight:590;line-height:20px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.header-dots{font-size:16px;color:var(--text-tertiary);letter-spacing:2px;line-height:20px;cursor:pointer}.header-right{display:flex;align-items:center;gap:4px}.header-round-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);color:var(--text-tertiary)}.header-round-btn:hover{background:var(--bg-hover)}.runtime-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-active)}.runtime-pill.running,.runtime-pill.waiting{color:#0b7a3b;background:#00a2401a}.runtime-pill.failed{color:var(--color-error);background:#e02e2a1a}.conversation-area{position:relative;flex:1;min-height:0;overflow:hidden;display:flex}.conversation-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:var(--height-chat-top-safe);scrollbar-gutter:stable}.conversation-scroll::-webkit-scrollbar{width:6px}.conversation-scroll::-webkit-scrollbar-thumb{background:#1a1c1f14;border-radius:var(--radius-full)}.conversation-inner{width:min(var(--chat-surface-width),calc(100% - 64px));max-width:none;margin:0 auto;padding:10px 0 0;transform:translate(var(--chat-left-offset))}.empty-state,.error-banner{display:flex;align-items:center;gap:8px;margin:72px auto 18px;width:fit-content;max-width:100%;padding:10px 14px;border-radius:var(--radius-2xl);font-size:var(--font-size-sm);color:var(--text-tertiary);background:var(--codex-sidebar-bg)}.error-banner{margin-top:16px;color:var(--color-error);border:1px solid rgba(224,46,42,.18);background:#e02e2a0f}.history-load-row{display:flex;justify-content:center;margin:8px 0 24px}.history-load-btn{height:30px;padding:0 14px;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--color-surface);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer}.history-load-btn:hover:not(:disabled){background:var(--codex-sidebar-bg);color:var(--text-primary)}.history-load-btn:disabled{cursor:default;opacity:.62}.user-message{display:flex;flex-direction:column;align-items:flex-end;gap:var(--conversation-block-gap);margin-bottom:16px}.image-thumbs{display:flex;gap:6px;margin-bottom:4px}.image-thumb{width:64px;height:64px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--codex-sidebar-bg);flex-shrink:0}.user-bubble{display:inline-block;max-width:min(72%,640px);padding:8px 14px;background:var(--codex-sidebar-bg);border-radius:var(--radius-3xl);font-size:var(--chat-font-size);line-height:1.5;color:var(--text-primary);word-break:break-word}.message-attachments{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:min(72%,640px)}.message-attachment{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:260px;height:30px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--font-size-xs)}.message-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-row{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-size:var(--font-size-sm);color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.status-row small{color:var(--text-tertiary)}.status-row:hover{color:var(--text-secondary)}.status-row+.assistant-reply,.process-timeline+.assistant-reply{margin-top:12px}.thinking-block{margin:8px 0 16px}.thinking-row{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:3px 0;color:var(--text-tertiary);font-size:var(--font-size-base);-webkit-user-select:none;user-select:none}.thinking-row small{font-size:var(--font-size-sm);color:var(--text-tertiary)}.thinking-row:hover{color:var(--text-secondary)}.thinking-spinner{animation:spin 1.2s linear infinite}.process-timeline{margin-top:4px;margin-bottom:12px}.process-message-output{margin:8px 0 12px}.action-logs{margin:4px 0 8px;padding:0;background:transparent;border:0;display:flex;flex-direction:column;gap:6px}.action-log-item{width:auto;display:flex;align-items:center;gap:8px;min-width:0;min-height:28px;padding:2px 0;font-size:var(--font-size-base);color:var(--text-tertiary);text-align:left}.action-log-entry{min-width:0}.action-log-item.expandable{cursor:pointer}.action-log-item.expandable:hover .log-text{color:var(--text-secondary)}.action-log-item.expandable>svg:last-child{margin-left:auto;flex-shrink:0}.log-icon{color:var(--text-tertiary);flex-shrink:0}.log-text{flex-shrink:0;color:var(--text-tertiary);font-weight:500}.log-detail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary)}.log-payload{margin:8px 0 0 24px;display:flex;flex-direction:column;gap:8px}.log-payload-section{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-elevated);overflow:hidden}.log-payload-section summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.payload-copy-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:500;flex-shrink:0}.payload-copy-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.log-payload-section pre{margin:0;padding:9px;max-height:220px;overflow:auto;border-top:1px solid var(--border-light);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word}.assistant-reply{margin-bottom:var(--conversation-block-gap)}.assistant-reply p{margin-bottom:12px;font-size:var(--chat-font-size);line-height:1.5;color:var(--text-primary)}.assistant-reply h1,.assistant-reply h2,.assistant-reply h3{color:var(--text-primary);font-weight:650;line-height:1.35;margin:16px 0 8px}.assistant-reply h1{font-size:20px}.assistant-reply h2{font-size:17px}.assistant-reply h3{font-size:15px}.assistant-reply ul,.assistant-reply ol{margin-bottom:12px;padding-left:22px}.assistant-reply li{font-size:var(--chat-font-size);line-height:1.5;color:var(--text-primary);margin-bottom:2px}.assistant-reply li::marker{color:var(--text-tertiary)}.assistant-reply blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid var(--border-strong);color:var(--text-secondary);background:var(--codex-sidebar-bg);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--chat-font-size);line-height:1.5}.assistant-reply strong{font-weight:650}.assistant-reply code{font-family:var(--font-mono);font-size:var(--chat-code-font-size);background:#1a1c1f14;border-radius:4px;padding:1px 5px}.assistant-reply a{color:var(--codex-accent);text-decoration:none}.assistant-reply a:hover{text-decoration:underline}.code-block{position:relative;margin:12px 0;border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--codex-sidebar-bg);font-size:var(--font-size-xs);color:var(--text-tertiary);border-bottom:1px solid var(--border-default)}.code-block-body{padding:8px 12px;background:var(--codex-surface)}.code-block-body code{font-family:var(--font-mono);font-size:var(--chat-code-font-size);line-height:1.8;color:var(--text-primary);background:none;padding:0}.code-block-actions{display:flex;gap:4px}.code-block-actions button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary);border-radius:var(--radius-sm)}.code-block-actions button:hover{background:var(--bg-hover)}.change-card{border:1px solid var(--border-default);border-radius:var(--radius-2xl);overflow:hidden;margin:12px 0}.change-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}.change-card-title{display:flex;align-items:center;gap:10px}.change-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-tertiary);flex-shrink:0}.change-card-label strong{display:block;font-size:var(--font-size-base);font-weight:590}.change-card-label small{display:block;margin-top:2px;font-size:var(--font-size-sm);color:var(--color-success);font-weight:600}.change-card-actions{display:flex;align-items:center;gap:8px}.change-card-actions button{display:flex;align-items:center;gap:5px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.change-card-actions .btn-review{height:30px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);font-weight:500}.change-card-actions .btn-review:hover{background:var(--bg-hover)}.change-card-files{border-top:1px solid var(--border-default)}.change-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}.change-file-row+.change-file-row{border-top:1px solid var(--border-default)}.change-file-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--text-secondary)}.change-file-delta{display:flex;gap:6px;font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.delta-add{color:var(--color-success)}.delta-remove{color:var(--color-error)}.reply-actions{display:flex;align-items:center;gap:8px;padding:4px 0;margin-bottom:8px}.reply-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md)}.reply-action-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.composer-spacer{height:120px}.composer-spacer.proposal-open{height:390px}.output-card{position:fixed;top:56px;right:16px;width:264px;z-index:20;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:0 10px 30px #14181f14;overflow:hidden}.output-section{padding:12px}.output-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-tertiary);margin-bottom:10px}.output-empty{font-size:var(--font-size-sm);color:var(--text-tertiary)}.artifact-list{display:flex;flex-direction:column;gap:6px;min-width:0}.artifact-row{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:38px;padding:4px 2px;color:var(--text-secondary)}.artifact-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:1px solid transparent;border-radius:7px;color:var(--text-tertiary);background:transparent}.artifact-type-image .artifact-icon{color:var(--text-primary);background:#f2f2f2;border-color:#dedede}.artifact-type-video .artifact-icon{color:var(--text-primary);background:#eee;border-color:#d2d2d2}.artifact-type-markdown .artifact-icon,.artifact-type-html .artifact-icon{color:#4f4f4f;background:#f7f7f7;border-color:#e2e2e2}.artifact-type-pdf .artifact-icon,.artifact-type-pptx .artifact-icon{color:#303030;background:#eee;border-color:#cfcfcf}.artifact-type-docx .artifact-icon,.artifact-type-text .artifact-icon,.artifact-type-xlsx .artifact-icon{color:#5f5f5f;background:#fafafa;border-color:#e4e4e4}.artifact-main{display:flex;flex-direction:column;min-width:0}.artifact-title{overflow:hidden;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:560;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.artifact-meta{overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-xs);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.artifact-row.failed .artifact-meta,.artifact-error{color:var(--color-error)}.artifact-download{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);color:var(--text-tertiary)}.artifact-download:hover{color:var(--text-primary);background:var(--bg-hover)}.artifact-error{padding:4px 2px 0;font-size:var(--font-size-xs);line-height:1.4}.composer{position:absolute;bottom:16px;left:50%;transform:translate(calc(-50% + var(--chat-left-offset) - var(--conversation-scrollbar-half-width)));width:min(var(--chat-surface-width),calc(100% - 64px));z-index:10;border:1px solid var(--border-heavy);border-radius:var(--radius-3xl);background:var(--bg-elevated);box-shadow:var(--elevation-prominent)}.composer.proposal-mode{overflow:visible;width:min(var(--chat-surface-width),calc(100% - 64px));isolation:isolate;border-color:#1d1f222e;box-shadow:0 18px 54px #10111321,0 0 0 1px #ffffffd1}.skill-picker-panel{padding:10px 16px 8px;border-bottom:1px solid var(--border-default)}.skill-picker-title{margin-bottom:4px;color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:600}.skill-picker-list{display:grid;max-height:280px;overflow-y:auto;gap:2px}.skill-picker-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;padding:3px 0;border-radius:var(--radius-md);color:var(--text-secondary);text-align:left}.skill-picker-row:hover,.skill-picker-row.highlighted{background:var(--bg-hover)}.skill-picker-row.selected .skill-picker-name{color:#1471c5}.skill-picker-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.skill-picker-main{display:flex;min-width:0;align-items:baseline;gap:8px}.skill-picker-name{flex-shrink:0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.skill-picker-desc{min-width:0;overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.skill-picker-meta{color:var(--text-tertiary);font-size:var(--font-size-sm)}.composer-inner{padding:14px 16px 8px}.hidden-file-input{display:none}.composer-attachments,.composer-selected-skills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.composer-selected-skill{display:inline-flex;max-width:260px;height:30px;align-items:center;gap:6px;padding:0 9px;border:1px solid rgba(20,113,197,.24);border-radius:var(--radius-full);background:#1471c514;color:#1471c5;font-size:var(--font-size-sm);font-weight:600}.composer-selected-skill:hover{background:#1471c51f}.composer-selected-skill:disabled{cursor:not-allowed;opacity:.62}.composer-selected-skill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:260px;height:30px;padding:0 6px 0 10px;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--codex-sidebar-bg);color:var(--text-secondary);font-size:var(--font-size-xs)}.attachment-chip.succeeded{color:#0b7a3b;border-color:#00a24033;background:#00a2400f}.attachment-chip.failed{color:var(--color-error);border-color:#e02e2a38;background:#e02e2a0f}.attachment-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip-meta{flex-shrink:0;color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px}.attachment-chip-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-full);color:var(--text-tertiary)}.attachment-chip-remove:hover{background:var(--bg-hover);color:var(--text-primary)}.composer textarea{width:100%;min-height:33px;max-height:160px;resize:none;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:var(--chat-font-size);line-height:1.5}.composer textarea::placeholder{color:var(--text-tertiary)}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 12px 8px}.composer-left,.composer-right{display:flex;align-items:center;gap:4px}.composer-left{min-width:0;flex:1;flex-wrap:wrap}.composer-right{flex-shrink:0}.composer-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md)}.composer-btn:hover{background:var(--bg-hover)}.approval-btn{display:flex;align-items:center;gap:4px;height:28px;padding:0 8px;font-size:var(--font-size-sm);color:var(--text-tertiary);border-radius:var(--radius-md)}.approval-btn:hover{background:var(--bg-hover)}.approval-btn svg{opacity:.6}.model-selector{display:flex;align-items:center;gap:4px;height:28px;padding:0 8px;font-size:var(--font-size-sm);color:var(--text-tertiary);border-radius:var(--radius-md)}.model-selector:hover{background:var(--bg-hover)}.spinner-indicator{width:14px;height:14px;border:1.5px solid var(--border-heavy);border-top-color:var(--text-tertiary);border-radius:var(--radius-full)}.spinner-indicator.active{animation:spin .9s linear infinite}.send-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--codex-ink);color:#fff}.send-btn:hover{background:#1a1c1fd9}.send-btn:disabled{cursor:default;opacity:.42}.send-btn.stop{background:var(--text-tertiary)}.image-proposal-composer{position:relative;z-index:1;padding:14px 16px 16px}.proposal-attention-ring{position:absolute;z-index:0;top:-2px;right:-2px;bottom:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);overflow:visible;pointer-events:none}.proposal-attention-dot{fill:none;stroke:#fffffffa;stroke-width:5.6;stroke-linecap:round;stroke-dasharray:.13 .87;stroke-dashoffset:0;filter:drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 12px rgba(255,255,255,.9)) drop-shadow(0 0 18px rgba(17,18,20,.42));vector-effect:non-scaling-stroke;animation:proposal-border-sweep 2.4s linear infinite}.proposal-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.proposal-heading{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text-tertiary)}.proposal-heading strong{font-size:var(--font-size-sm);font-weight:590;color:var(--text-secondary)}.proposal-heading small{font-size:var(--font-size-xs);color:var(--text-tertiary)}.proposal-countdown{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:590}.proposal-countdown svg{width:20px;height:20px;transform:rotate(-90deg)}.proposal-countdown-track,.proposal-countdown-value{fill:none;stroke-width:2.2}.proposal-countdown-track{stroke:#191b1e1a}.proposal-countdown-value{stroke:#111214;stroke-linecap:round;transition:stroke-dashoffset .35s linear}.proposal-countdown.expired{color:var(--color-error)}.proposal-countdown.expired .proposal-countdown-value{stroke:var(--color-error)}.proposal-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(112px,1fr));gap:10px 18px;align-items:end}.proposal-field{display:flex;flex-direction:column;gap:6px;min-width:0}.proposal-prompt-field{grid-column:1 / -1}.proposal-field span{font-size:var(--font-size-xs);color:var(--text-tertiary)}.proposal-field textarea{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--codex-sidebar-bg);color:var(--text-primary);font-size:var(--font-size-base);outline:none}.proposal-field textarea{min-height:84px;resize:vertical;padding:12px 14px;line-height:1.45}.proposal-option-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:0 2px}.proposal-option-field span{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:590;white-space:nowrap}.proposal-field textarea:focus,.proposal-toolbar input:focus{border-color:#191b1e5c;box-shadow:0 0 0 3px #191b1e14}.proposal-select{position:relative;min-width:0}.proposal-select-button{display:inline-flex;width:100%;min-width:0;height:30px;align-items:center;justify-content:flex-start;gap:6px;padding:0 7px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:650;text-align:left}.proposal-select-button:hover,.proposal-select.open .proposal-select-button{background:#191b1e0f}.proposal-select-button svg{flex-shrink:0;color:var(--text-tertiary)}.proposal-select-value{min-width:0;overflow:hidden;color:inherit;font:inherit;text-overflow:ellipsis;white-space:nowrap}.proposal-select-menu{position:absolute;top:calc(100% + 8px);left:-8px;z-index:60;min-width:max(100%,168px);max-height:260px;overflow-y:auto;padding:7px;border:1px solid rgba(25,27,30,.12);border-radius:16px;background:#fffffff5;box-shadow:0 18px 45px #10111329,0 1px 2px #1011130f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.proposal-option-field:nth-last-child(-n+2) .proposal-select-menu{right:-8px;left:auto}.proposal-select-option{display:flex;width:100%;height:34px;align-items:center;justify-content:space-between;gap:12px;padding:0 9px;border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:520;text-align:left}.proposal-select-option:hover,.proposal-select-option.selected{background:#191b1e12}.proposal-select-option.selected{font-weight:650}.proposal-select-option span{min-width:0;overflow:hidden;color:inherit;font:inherit;text-overflow:ellipsis;white-space:nowrap}.proposal-select-check{flex-shrink:0;color:#111214}.proposal-toolbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;margin-top:12px;border-top:1px solid var(--border-default)}.proposal-toolbar input{flex:1;min-width:0;height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-2xl);background:transparent;color:var(--text-primary);font-size:var(--font-size-base);outline:none}.proposal-toolbar input::placeholder{color:var(--text-tertiary)}.proposal-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.proposal-reject,.proposal-approve{height:40px;padding:0 18px;border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:650}.proposal-reject{color:var(--text-secondary);background:var(--codex-sidebar-bg)}.proposal-reject:hover{background:var(--bg-hover)}.proposal-approve{color:#fff;background:#111214}.proposal-approve:hover{background:#000}.proposal-approve:disabled{cursor:default;opacity:.5}.proposal-comment-send{width:40px;height:40px}.interrupt-card{background:#00a2400a}.interrupt-description{padding:0 16px 14px;font-size:var(--font-size-sm);color:var(--text-secondary)}.event-mini-list{display:flex;flex-direction:column;gap:6px;min-width:0}.event-mini-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.event-mini-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-mini-row small{flex-shrink:0;color:var(--text-tertiary)}.settings-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#1a1c1f2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-dialog{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);width:min(980px,calc(100vw - 48px));min-height:min(560px,calc(100vh - 48px));max-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--border-heavy);border-radius:var(--radius-2xl);background:var(--bg-elevated);box-shadow:var(--elevation-prominent)}.settings-sidebar{display:flex;flex-direction:column;gap:14px;padding:16px 12px;border-right:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-muted) 68%,transparent)}.settings-title{display:flex;align-items:center;gap:8px;padding:0 4px 4px;font-size:15px;font-weight:650;color:var(--text-primary)}.settings-close{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary)}.settings-close:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-nav{display:flex;flex-direction:column;gap:4px}.settings-nav-item{display:flex;height:34px;align-items:center;gap:8px;padding:0 10px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:left}.settings-nav-item:hover,.settings-nav-item.active{color:var(--text-primary);background:var(--bg-hover)}.settings-panel{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:auto;padding:26px 72px 26px 28px}.settings-panel-header{display:flex;min-height:30px;align-items:center;gap:8px;margin-bottom:8px}.settings-panel-header h2{margin:0;font-size:16px;font-weight:650}.settings-panel-header p{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--text-tertiary)}.settings-field{display:flex;flex-direction:column;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary)}.settings-field input{height:34px;padding:0 10px;border:1px solid var(--border-heavy);border-radius:var(--radius-lg);outline:0;font:inherit;color:var(--text-primary);background:var(--bg-elevated)}.model-instructions-field{min-height:0;flex:1}.settings-textarea-wrap{position:relative;min-height:260px;flex:1}.settings-textarea-wrap textarea{width:100%;height:100%;min-height:260px;resize:vertical;padding:12px;border:1px solid var(--border-heavy);border-radius:var(--radius-xl);outline:0;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text-primary);background:var(--bg-elevated)}.settings-field input:focus,.settings-textarea-wrap textarea:focus{border-color:color-mix(in srgb,var(--codex-ink) 36%,var(--border-heavy));box-shadow:0 0 0 3px #1717170f}.settings-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);color:var(--text-secondary);font-size:var(--font-size-sm)}.settings-loading svg{animation:spin .9s linear infinite}.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.settings-actions button{height:32px;padding:0 12px;border-radius:var(--radius-lg);color:var(--text-secondary)}.settings-actions button:hover{background:var(--bg-hover)}.settings-actions button:disabled{cursor:not-allowed;opacity:.55}.settings-actions .primary{color:#fff;background:var(--codex-ink)}.settings-primary-btn{height:32px;padding:0 13px;border-radius:var(--radius-lg);color:#fff;background:var(--codex-ink);font-size:var(--font-size-sm);font-weight:600}.settings-primary-btn:disabled{cursor:not-allowed;opacity:.55}.skill-upload-box{display:flex;flex-direction:column;gap:12px;padding:0}.skill-page-title{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:4px}.skill-page-title.compact{margin-bottom:12px}.skill-page-title>div{display:flex;min-width:0;flex-direction:column;gap:3px}.skill-page-title strong{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:650}.skill-page-title span{color:var(--text-tertiary);font-size:var(--font-size-xs)}.skill-page-title .settings-primary-btn{display:inline-flex;flex-shrink:0;align-items:center;gap:5px}.skill-title-back-btn,.skill-back-btn{display:inline-flex;width:30px;height:30px;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--text-secondary)}.skill-title-back-btn{margin-left:-6px}.skill-title-back-btn:hover,.skill-back-btn:hover{background:var(--bg-hover)}.skill-title-back-btn:disabled,.skill-back-btn:disabled{cursor:not-allowed;opacity:.5}.skill-upload-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}.skill-file-picker{position:relative;display:flex;height:34px;min-width:0;align-items:center;gap:10px;padding:0 6px 0 10px;border:1px solid var(--border-heavy);border-radius:var(--radius-lg);color:var(--text-secondary);background:var(--bg-elevated);cursor:pointer}.skill-file-picker:hover{border-color:color-mix(in srgb,var(--codex-ink) 30%,var(--border-heavy));background:var(--bg-hover)}.skill-file-picker.has-file{color:var(--text-primary)}.skill-file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.skill-file-main{display:flex;min-width:0;flex:1;align-items:baseline;gap:8px}.skill-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.skill-file-main small{flex-shrink:0;color:var(--text-tertiary);font-size:var(--font-size-xs)}.skill-file-button{display:inline-flex;height:24px;flex-shrink:0;align-items:center;padding:0 9px;border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-muted);font-size:var(--font-size-xs);font-weight:600}.skill-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-checkbox{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:var(--font-size-sm)}.skill-list-box{display:flex;flex-direction:column;gap:10px}.skill-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 32px auto;gap:8px;align-items:center}.skill-list-toolbar input{height:32px;min-width:0;padding:0 9px;border:1px solid var(--border-heavy);border-radius:var(--radius-lg);color:var(--text-primary);background:var(--bg-elevated);font-size:var(--font-size-sm)}.skill-row-action,.skill-version-row button{height:30px;padding:0 10px;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-xs)}.skill-row-action:hover,.skill-version-row button:hover{background:var(--bg-hover)}.skill-row-action:disabled,.skill-version-row button:disabled{cursor:not-allowed;opacity:.5}.skill-list-toolbar .settings-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px}.skill-icon-btn{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--border-heavy);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-elevated)}.skill-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.skill-icon-btn .spinning{animation:spin .9s linear infinite}.skill-rows{display:flex;flex-direction:column;gap:8px}.skill-row-card{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated)}.skill-row-main{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px}.skill-expand-btn{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary)}.skill-expand-btn:hover{background:var(--bg-hover)}.skill-row-info,.skill-version-info{min-width:0}.skill-row-title{display:flex;min-width:0;align-items:center;gap:8px}.skill-row-title strong,.skill-version-info strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.skill-row-title code{flex-shrink:0;padding:2px 5px;border-radius:var(--radius-sm);color:var(--text-tertiary);background:var(--bg-muted);font-size:11px}.skill-row-sub{display:flex;min-width:0;gap:10px;margin-top:3px;color:var(--text-tertiary);font-size:var(--font-size-xs)}.skill-row-sub span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-status{display:inline-flex;height:22px;align-items:center;padding:0 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:capitalize}.skill-status.enabled{color:#087443;background:#0a7c451a}.skill-status.disabled{color:var(--text-tertiary);background:var(--bg-muted)}.skill-version-list{display:flex;flex-direction:column;gap:6px;padding:8px 9px 10px 43px;border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-muted) 48%,transparent)}.skill-version-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;align-items:center;gap:10px;padding:7px;border-radius:var(--radius-md);background:var(--bg-elevated)}.skill-version-info{display:flex;min-width:0;align-items:center;gap:8px}.skill-version-info strong{flex:0 0 auto;min-width:64px;overflow:visible;text-overflow:clip}.skill-version-info small{min-width:0;flex:1;overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.skill-current-badge{display:inline-flex;flex-shrink:0;align-items:center;gap:3px;color:#087443;font-size:var(--font-size-xs)}.skill-empty{padding:12px;color:var(--text-tertiary);font-size:var(--font-size-sm)}.settings-message{margin-top:10px;font-size:var(--font-size-xs);color:var(--text-secondary)}.settings-message.error{color:#b42318}@keyframes spin{to{transform:rotate(360deg)}}@keyframes proposal-border-sweep{to{stroke-dashoffset:-1}}@media(max-width:900px){.sidebar{display:none}.header-left{margin-left:0}.app-header:before{left:0}.header-title-area{max-width:calc(100vw - 180px)}.output-card{display:none}.conversation-inner{width:min(680px,calc(100% - 24px));transform:none}.composer,.composer.proposal-mode{transform:translate(-50%);width:min(680px,calc(100% - 24px))}.proposal-grid{grid-template-columns:1fr 1fr}.settings-dialog{grid-template-columns:1fr;width:min(720px,calc(100vw - 24px));min-height:min(560px,calc(100vh - 24px));max-height:calc(100vh - 24px)}.settings-sidebar{border-right:0;border-bottom:1px solid var(--border-subtle)}.settings-nav{flex-direction:row}.settings-panel{padding:18px 18px 22px}.skill-version-row{grid-template-columns:minmax(0,1fr) auto}.skill-version-row button{justify-self:end}.proposal-prompt-field{grid-column:1 / -1}.proposal-toolbar{align-items:stretch;flex-direction:column}.proposal-actions{justify-content:flex-end}}
