:root{color-scheme:dark;--bg:#090d12;--panel:#0f151d;--panel2:#151d27;--panel3:#1a2430;--line:#253140;--line2:#334155;--text:#e6edf3;--muted:#8b98a7;--faint:#657180;--green:#37c991;--red:#ff6b75;--amber:#e6b450;--blue:#6ea8fe;--accent:#10a37f;--accent2:#0d8065;--shadow:0 18px 60px #0007;font:13px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{width:100%;max-width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);color:var(--text);background:#192330;padding:7px 12px;border-radius:7px;cursor:pointer}button:hover{filter:brightness(1.14)}button:disabled{opacity:.42;cursor:not-allowed}.primary{background:var(--accent2);border-color:#159476;color:#fff;font-weight:700}input,textarea,select{width:100%;min-width:0;color:var(--text);background:#090f16;border:1px solid var(--line);border-radius:7px;outline:none}input:focus,textarea:focus,select:focus{border-color:#3f7f71;box-shadow:0 0 0 3px #10a37f16}[hidden]{display:none!important}

/* Login is intentionally the same structure and visual treatment as /funding/. */
.auth-screen{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-panel{width:min(360px,100%);padding:22px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.auth-panel h2{font-size:18px;margin:0 0 6px}.auth-panel p{margin:0 0 16px;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form input{height:38px;padding:7px}.auth-form button{height:38px}.auth-captcha{display:grid;grid-template-columns:1fr 132px;gap:8px}.auth-captcha img{width:132px;height:46px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;cursor:pointer}.auth-error{min-height:20px;color:var(--red)}

.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);width:100%;max-width:100vw;height:100dvh;overflow:hidden}.app-shell>*{min-width:0}.sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;height:100dvh;overflow:hidden;background:#0c1118;border-right:1px solid var(--line)}.brand-row{height:66px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid #1c2632}.brand-row strong{display:block;letter-spacing:.12em;font-size:14px}.brand-row small{display:block;color:var(--muted);font:9px/1.2 Consolas,monospace;letter-spacing:.16em}.brand-mark,.empty-logo{display:grid;place-items:center;color:var(--green);font:bold 18px Consolas,monospace}.brand-mark{width:32px;height:32px;border:1px solid #2d4d44;border-radius:8px;background:#11211e}.icon-btn{display:grid;place-items:center;width:34px;height:34px;padding:0;background:transparent}.brand-row .icon-btn{margin-left:auto}.new-thread{margin:14px 14px 10px;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;background:#15221f;border-color:#28584c;color:#d8fff3;font-weight:700}.new-thread span{font-size:17px}.search-box{display:flex;align-items:center;gap:7px;margin:0 14px 11px;padding:0 9px;height:36px;border:1px solid var(--line);border-radius:7px;background:#090f16;color:var(--muted)}.search-box input{height:32px;border:0;padding:0;background:transparent;box-shadow:none}.thread-section-label{display:flex;align-items:center;justify-content:space-between;padding:2px 15px 7px;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.text-btn{border:0;background:transparent;padding:3px;color:var(--muted);font-size:11px}.thread-list{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#506276 #090f16;padding:0 8px 12px}.thread-list::-webkit-scrollbar{width:10px}.thread-list::-webkit-scrollbar-track{background:#090f16}.thread-list::-webkit-scrollbar-thumb{min-height:36px;border:2px solid #090f16;border-radius:8px;background:#506276}.thread-list::-webkit-scrollbar-thumb:hover{background:#687d92}.thread-item{position:relative;width:100%;display:block;padding:10px 11px;margin:2px 0;text-align:left;border-color:transparent;background:transparent;touch-action:pan-y;-webkit-touch-callout:none;user-select:none}.thread-item:hover{background:#121a23}.thread-item.active{background:#17231f;border-color:#274a40}.thread-item-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#dce6ed}.thread-item-meta{display:flex;align-items:center;gap:7px;margin-top:4px;color:var(--faint);font:10px/1.2 Consolas,monospace}.thread-item-source{padding:2px 4px;border:1px solid #2c3947;border-radius:4px;text-transform:uppercase}.thread-item .status-dot{position:absolute;right:9px;top:12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#46515e;box-shadow:0 0 0 3px #46515e18}.status-dot.online,.status-dot.active{background:var(--green);box-shadow:0 0 0 3px #37c9911f}.status-dot.waiting{background:var(--amber)}.status-dot.error{background:var(--red)}.sidebar-footer{border-top:1px solid #1c2632;padding:11px 14px;color:var(--muted);font-size:11px}.local-status,.user-line{display:flex;align-items:center;gap:8px;min-height:25px}.user-line{justify-content:space-between}.user-line .text-btn{color:#a7b2bf}

.workspace{display:grid;grid-template-rows:66px minmax(0,1fr) auto;min-width:0;width:100%;max-width:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 65% -20%,#12201e 0,transparent 38%),var(--bg)}.session-header{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;padding:0 18px;overflow:hidden;border-bottom:1px solid var(--line);background:#0c1118dd;backdrop-filter:blur(12px)}.session-title-wrap{min-width:0;flex:1}.session-title-line{display:flex;align-items:center;gap:8px;min-width:0}.session-title-line h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.session-meta{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font:10px Consolas,monospace}.source-badge{padding:2px 5px;border:1px solid #314151;border-radius:4px;color:#9fb0c0;font:9px Consolas,monospace}.header-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}.header-actions select{height:34px;padding:0 7px;background:#111923;font-size:12px}.header-actions .model-picker{width:130px}.header-actions .effort-picker{width:92px}.header-actions .tier-picker{width:88px}.header-actions .approval-picker{width:112px}

.chat-region{position:relative;min-width:0;min-height:0;width:100%;max-width:100%;overflow:hidden}.chat-scroll{position:relative;min-width:0;width:100%;max-width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.scroll-bottom{position:absolute;right:16px;bottom:16px;z-index:25;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #405064;border-radius:50%;background:#172330e8;color:#dce6ed;box-shadow:0 8px 24px #0008;backdrop-filter:blur(8px);font-size:17px;line-height:1;transition:transform .15s ease,background .15s ease}.scroll-bottom:hover{transform:translateY(1px);background:#213044}.scroll-bottom:focus-visible{outline:2px solid var(--green);outline-offset:2px}.messages{width:min(900px,calc(100% - 36px));max-width:100%;min-width:0;margin:0 auto;padding:28px 0 24px}.message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;min-width:0;max-width:100%;margin:0 0 24px}.message>div:last-child{min-width:0;max-width:100%;overflow:hidden}.message-avatar{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#141d27;color:#aeb9c5;font:bold 11px Consolas,monospace}.message.user .message-avatar{border-color:#28584c;background:#12211e;color:#68deb9}.message-head{display:flex;align-items:center;gap:8px;height:26px;margin-bottom:4px}.message-role{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.message-time{color:var(--faint);font-size:10px}.message-text{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#dbe4ec;font:13px/1.65 Consolas,"SFMono-Regular",monospace}.message.user .message-text{color:#f0f6fc}.tool-card{width:100%;max-width:100%;min-width:0;margin:9px 0;border:1px solid var(--line);border-radius:8px;background:#0c1219;overflow:hidden}.tool-head{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 10px;overflow:hidden;background:#121a23;color:#9eabb8;font:10px Consolas,monospace}.tool-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ccd6df}.tool-status{flex:0 0 auto;margin-left:auto}.tool-body{width:100%;max-width:100%;min-width:0;margin:0;padding:10px;max-height:380px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#b7c1cb;font:11px/1.55 Consolas,monospace}.reasoning-card{max-width:100%;margin:5px 0;padding:8px 10px;border-left:2px solid #37495a;color:#8996a4;background:#0d131a;font:11px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.plan-list{margin:0;padding:9px 10px 9px 28px;color:#b9c4ce;font:11px/1.55 Consolas,monospace}.plan-list li.done{color:#6f7d89;text-decoration:line-through}.typing-cursor::after{content:"▋";color:var(--green);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}
.inline-state,.empty-state-inline{padding:24px;text-align:center;color:var(--muted)}.inline-state.error{color:var(--red)}

.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-state .empty-logo{width:64px;height:64px;margin-bottom:18px;border:1px solid #28584c;border-radius:17px;background:#10201d;font-size:27px;box-shadow:0 20px 60px #0008}.empty-state h2{margin:0 0 8px;font-size:18px}.empty-state p{max-width:500px;margin:0 0 20px;color:var(--muted)}

.approval-dock{width:min(900px,calc(100% - 36px));max-width:100%;min-width:0;margin:0 auto 20px}.approval-card{max-width:100%;min-width:0;margin:10px 0;padding:13px;border:1px solid #6c5730;border-radius:9px;background:#201a10;box-shadow:0 10px 40px #0005}.approval-title{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:#f0cf87;font-weight:700}.approval-detail{max-width:100%;max-height:180px;overflow:auto;padding:9px;border:1px solid #4f4128;border-radius:6px;background:#12100c;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:11px/1.5 Consolas,monospace}.approval-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.approval-actions .approve{background:#166a55;border-color:#26886f}.approval-question{margin:10px 0}.approval-question label{display:block;margin-bottom:5px;color:#e1c98f}.approval-options{display:grid;gap:6px}.approval-option{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid #493e29;border-radius:6px}.approval-option input{width:auto;margin-top:3px}.approval-option small{display:block;color:#9f9274}

.composer-shell{min-width:0;width:100%;max-width:100%;padding:10px max(18px,calc((100% - 900px)/2));overflow:hidden;border-top:1px solid #1b2631;background:#0b1017e8;backdrop-filter:blur(12px)}.composer-context{height:19px;padding:0 4px;color:var(--faint);font:10px Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer{display:flex;align-items:flex-end;gap:10px;min-width:0;width:100%;max-width:100%;padding:9px 10px;overflow:hidden;border:1px solid var(--line2);border-radius:11px;background:#111923;box-shadow:0 8px 30px #0004}.composer:focus-within{border-color:#356c60}.composer textarea{flex:1 1 0;width:0;min-width:0;max-width:100%;max-height:180px;min-height:28px;padding:4px 3px;resize:none;border:0;background:transparent;box-shadow:none;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.composer-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}.send-btn,.stop-btn{display:grid;flex:0 0 31px;place-items:center;width:31px;height:31px;padding:0;border-radius:8px}.send-btn{background:var(--accent2);border-color:#1b977a;font-size:17px}.stop-btn{background:#5e2930;border-color:#8b3e48;color:#ffbac0}

.modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:#000b;backdrop-filter:blur(5px)}.modal-card{width:min(500px,100%);padding:18px;border:1px solid var(--line2);border-radius:11px;background:var(--panel);box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:16px}.modal-card label{display:block;margin:11px 0;color:var(--muted);font-size:11px}.modal-card input,.modal-card select{height:38px;margin-top:5px;padding:7px;color:var(--text)}.modal-card p{color:var(--muted);font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.toast{position:fixed;right:18px;top:18px;z-index:200;max-width:min(480px,calc(100vw - 36px));padding:10px 13px;border:1px solid #425063;border-radius:8px;background:#17202b;color:#e9f1f7;box-shadow:var(--shadow);white-space:pre-line;line-height:1.55}.toast.error{border-color:#74353d;color:#ffc0c5}.mobile-only{display:none}

.context-menu{position:fixed;z-index:180;width:156px;padding:5px;border:1px solid var(--line2);border-radius:9px;background:#111923;box-shadow:var(--shadow)}.context-menu button{display:block;width:100%;padding:8px 10px;text-align:left;border:0;background:transparent}.context-menu button:hover,.context-menu button:focus-visible{outline:0;background:#1b2734}.context-menu .danger{color:#ff9aa2}.context-menu .danger:hover,.context-menu .danger:focus-visible{background:#371c22}

@media(max-width:760px){input,textarea,select{font-size:16px}.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:80;width:min(310px,88vw);height:100dvh;max-height:100dvh;overflow:hidden;transform:translateX(-102%);transition:transform .2s ease;box-shadow:20px 0 60px #000b}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:70;background:#0008}.mobile-only{display:grid}.workspace{grid-template-rows:auto minmax(0,1fr) auto}.session-header{width:100%;min-height:66px;flex-wrap:wrap;gap:6px;padding:7px 10px}.header-actions{order:3;display:grid;grid-template-columns:1.25fr .9fr .9fr 1.05fr;flex:1 0 100%;width:100%;gap:5px}.header-actions select,.header-actions .model-picker,.header-actions .effort-picker,.header-actions .tier-picker,.header-actions .approval-picker{width:100%;height:32px;padding:0 4px;font-size:12px}.header-actions .icon-btn{display:none}.session-title-line h1{max-width:52vw}.messages,.approval-dock{width:calc(100% - 22px);max-width:calc(100% - 22px)}.messages{padding-top:20px}.message{grid-template-columns:30px minmax(0,1fr);gap:8px}.message-avatar{width:27px;height:27px}.scroll-bottom{right:10px;bottom:10px}.composer-shell{width:100%;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.composer textarea{font-size:16px;line-height:1.4}.empty-state{padding:20px}.auth-screen{padding:16px}}

.source-badge.readonly{border-color:#6c5730;color:#e6b450;background:#201a10}

/* Unified CodexWeb controls: compact history, explicit menu and composer settings. */
.desktop-only{display:grid}.brand-row .desktop-only{margin-left:auto}.system-metrics{width:auto;min-width:62px;height:34px;padding:0 10px;background:#111923;color:#aebbc8;font:11px/1.2 Consolas,monospace;white-space:nowrap}.system-metrics.warn{border-color:#775b30;color:#f0c879}.system-metrics.off{color:var(--faint)}

.thread-item{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 14px 30px;align-items:center;padding:0;margin:2px 0;border:1px solid transparent;border-radius:7px;background:transparent;touch-action:pan-y}.thread-item:hover{background:#121a23}.thread-item.active{background:#17231f;border-color:#274a40}.thread-item-main{display:block;width:100%;min-width:0;padding:10px 7px 10px 11px;text-align:left;border:0;background:transparent}.thread-item-main:hover{filter:none}.thread-more{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#7f8c99;font-size:18px;line-height:1}.thread-more:hover,.thread-more[aria-expanded="true"]{background:#253140;color:#e6edf3}.thread-item .status-dot{position:static;margin-left:auto}.thread-item-meta{padding-right:2px}.history-loader{display:block;width:calc(100% - 12px);margin:2px auto 9px;padding:7px;border:1px dashed #334155;background:#0d141d;color:#91a0af;font-size:11px}.history-loader:disabled{cursor:wait;opacity:.7}

body.sidebar-collapsed .app-shell{grid-template-columns:64px minmax(0,1fr)}body.sidebar-collapsed .sidebar{width:64px}body.sidebar-collapsed .brand-row{justify-content:center;padding:0}body.sidebar-collapsed .brand-mark,body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .search-box,body.sidebar-collapsed .thread-section-label,body.sidebar-collapsed .thread-list,body.sidebar-collapsed .sidebar-footer{display:none}body.sidebar-collapsed .brand-row .desktop-only{margin:0}body.sidebar-collapsed .new-thread{width:40px;margin:14px 12px 10px;padding:0}body.sidebar-collapsed .new-thread .sidebar-label{display:none}

.composer-shell{overflow:visible}.composer{overflow:visible}.settings-wrap{position:relative;flex:0 0 auto}.settings-button{height:31px;padding:0 9px;border-radius:8px;background:#172330;color:#cbd6df;font-size:11px}.settings-menu{position:absolute;right:0;bottom:40px;z-index:60;width:min(340px,calc(100vw - 24px));padding:12px;border:1px solid #394858;border-radius:12px;background:#111923;box-shadow:0 20px 60px #000b}.settings-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.settings-title strong{font-size:13px}.settings-title span{color:var(--faint);font-size:10px}.settings-field{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:7px;margin:8px 0;color:#aeb9c5;font-size:11px}.settings-field select{height:34px;padding:0 7px;background:#090f16}.settings-field small{grid-column:1/-1;color:#7f8c99;font-size:10px;line-height:1.4}.fast-setting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0;padding:8px 0;border-top:1px solid #253140;border-bottom:1px solid #253140}.fast-setting span{display:grid}.fast-setting small{color:#7f8c99;font-size:9px}.fast-setting input{width:18px;height:18px}.settings-summary{min-height:31px;padding:7px;border-radius:6px;background:#0b1118;color:#8fa0ae;font:10px/1.45 Consolas,monospace;overflow-wrap:anywhere}.settings-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}.settings-actions button{padding:7px 4px;font-size:10px}.permission-danger{color:#ff9aa2!important;border-color:#74353d!important}.composer-context[data-run-state="running"]{color:var(--green)}.composer-context[data-run-state="stopping"]{color:#ff9aa2}

@media(max-width:760px){.desktop-only{display:none!important}body.sidebar-collapsed .app-shell{grid-template-columns:minmax(0,1fr)}body.sidebar-collapsed .sidebar{width:min(310px,88vw)}body.sidebar-collapsed .brand-mark{display:grid}body.sidebar-collapsed .brand-copy{display:block}body.sidebar-collapsed .search-box{display:flex}body.sidebar-collapsed .thread-section-label{display:flex}body.sidebar-collapsed .thread-list,body.sidebar-collapsed .sidebar-footer{display:block}body.sidebar-collapsed .brand-row{display:flex;justify-content:flex-start;padding:0 16px}body.sidebar-collapsed .new-thread{width:auto;margin:14px 14px 10px;padding:7px 12px}body.sidebar-collapsed .new-thread .sidebar-label{display:inline}.header-actions{order:initial;display:flex;flex:0 0 auto;width:auto}.system-metrics{min-width:0;max-width:44vw;padding:0 7px;font-size:10px}.settings-menu{position:fixed;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));left:10px;width:auto}.settings-field{grid-template-columns:82px minmax(0,1fr)}.settings-button{font-size:12px}}

.turn-error .tool-card{border-color:#74353d}.turn-error .tool-head{background:#2b181e;color:#ffbac1}.turn-error .tool-head strong,.turn-error .tool-body{color:#ffd4d9}.turn-error .tool-head strong{white-space:normal}.turn-error.retrying .tool-card{border-color:#77633a}.turn-error.retrying .tool-head{background:#292419;color:#efcf8a}

/* Canary 5: ChatGPT-style one-line history, visible session status, and message contrast. */
.thread-item{min-height:40px}.thread-item-main{padding:9px 7px 9px 11px}.thread-item-meta{display:none}.message{margin-bottom:16px}.message.dialogue{padding:12px;border:1px solid transparent;border-radius:12px}.message.user.dialogue{border-color:#34485b;background:#1a2836}.message.agent.dialogue{border-color:#182431;background:#0d141c}.message-head{height:auto;min-height:26px;flex-wrap:wrap}.message-time{font:10px/1.2 Consolas,monospace}.session-status-panel{margin-top:9px;padding:8px;border:1px solid #2f4050;border-radius:7px;background:#0a1017;color:#aebbc8;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.55 Consolas,monospace}

.thread-provider { width: 14px; align-self: center; color: #82909e; text-align: center; font-size: 11px; font-weight: 600; }

/* Process details are optional on every screen; errors and approvals remain visible. */
body:not(.show-details) #messages > .message:not(.dialogue):not(.turn-error) { display: none; }

/* Optimistic sending state, message copy and Markdown rendering. */
.clipboard-helper{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0}
.message.pending{opacity:.78}
.message-pending{color:var(--amber);font:10px/1.2 Consolas,monospace}
.message-copy{margin-left:auto;padding:2px 8px;border-color:#2a3746;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;line-height:1.5}
.message-copy:hover{color:var(--text);background:#1b2734;filter:none}
.message-text.markdown{white-space:normal;font:13.5px/1.7 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.message-text.markdown>:first-child{margin-top:0}
.message-text.markdown>:last-child{margin-bottom:0}
.markdown p{margin:0 0 .75em}
.markdown .md-heading{margin:1.1em 0 .5em;line-height:1.35;color:#f0f6fc}
.markdown h1{font-size:1.45em}
.markdown h2{font-size:1.28em;padding-bottom:.25em;border-bottom:1px solid var(--line)}
.markdown h3{font-size:1.14em}
.markdown h4,.markdown h5,.markdown h6{font-size:1em}
.markdown h6{color:var(--muted)}
.markdown strong{color:#f3f8fc;font-weight:700}
.markdown del{color:var(--muted)}
.markdown .md-link{color:var(--blue);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.markdown .md-link:hover{color:#9cc3ff}
.markdown .md-inline-code{padding:1px 5px;border:1px solid #2a3746;border-radius:5px;background:#101924;color:#e7c98a;font:12px/1.5 Consolas,"SFMono-Regular",monospace;white-space:break-spaces;overflow-wrap:anywhere}
.markdown .md-list{margin:0 0 .75em;padding-left:1.6em}
.markdown .md-list .md-list{margin:.2em 0 .2em}
.markdown li{margin:.2em 0}
.markdown li>p{margin:0 0 .4em}
.markdown li.md-task{list-style:none;margin-left:-1.25em}
.markdown .md-task input{width:auto;margin:0 .45em 0 0;vertical-align:-1px}
.markdown .md-quote{margin:0 0 .75em;padding:.2em .9em;border-left:3px solid #3b5166;color:#aab6c2;background:#0b121a}
.markdown .md-hr{height:1px;margin:1.1em 0;border:0;background:var(--line)}
.markdown .md-table-wrap{max-width:100%;margin:0 0 .85em;overflow-x:auto;border:1px solid var(--line);border-radius:7px}
.markdown .md-table{border-collapse:collapse;min-width:100%;font-size:12.5px}
.markdown .md-table th,.markdown .md-table td{padding:6px 10px;border-bottom:1px solid var(--line);border-right:1px solid #1d2835;text-align:left;vertical-align:top}
.markdown .md-table th{background:#121b25;color:#dce6ed;font-weight:700;white-space:nowrap}
.markdown .md-table tr:last-child td{border-bottom:0}
.markdown .md-table .align-center{text-align:center}
.markdown .md-table .align-right{text-align:right}
.md-code{max-width:100%;margin:0 0 .85em;border:1px solid var(--line);border-radius:8px;background:#0a1017;overflow:hidden}
.md-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 4px 10px;border-bottom:1px solid #1d2835;background:#111a24;color:var(--muted);font:10px/1.4 Consolas,monospace}
.md-code-lang{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase}
.md-copy{flex:0 0 auto;padding:2px 9px;border-color:#2a3746;border-radius:5px;background:#16212d;color:#b9c5d0;font-size:10px}
.md-copy:hover{color:var(--text);filter:none;background:#1f2d3b}
.md-code pre{margin:0;padding:10px 12px;overflow-x:auto;white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:4;color:#d5dee7;font:12px/1.6 Consolas,"SFMono-Regular",monospace;-webkit-overflow-scrolling:touch}
.md-code code{font:inherit;white-space:inherit}

/* File changes with unified diffs. */
.file-changes{display:grid;gap:1px;background:#1b2532}
.file-change{background:#0c1219}
.file-change>summary,.file-change-row{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 10px;background:#0f161f;color:#c7d1da;font:11px/1.4 Consolas,monospace;list-style:none}
.file-change>summary{cursor:pointer}
.file-change>summary::-webkit-details-marker{display:none}
.file-change>summary::before{content:"▸";flex:0 0 auto;color:var(--faint);transition:transform .12s ease}
.file-change[open]>summary::before{transform:rotate(90deg)}
.file-change>summary:hover{background:#131d28}
.file-kind{flex:0 0 auto;padding:1px 6px;border:1px solid #33475a;border-radius:4px;color:#9fb3c6;font-size:10px}
.file-kind.kind-add{border-color:#245c47;color:var(--green)}
.file-kind.kind-delete{border-color:#6a3139;color:var(--red)}
.file-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-stats{display:flex;gap:6px;flex:0 0 auto;margin-left:auto;font-size:10px}
.stat-add{color:var(--green)}
.stat-del{color:var(--red)}
.diff-view{margin:0;max-height:460px;overflow:auto;padding:6px 0;background:#090e14;color:#b7c1cb;font:11.5px/1.55 Consolas,"SFMono-Regular",monospace;white-space:pre;tab-size:4}
.diff-line{display:block;min-width:max-content;padding:0 12px}
.diff-add{background:#10301f;color:#8ff0bd}
.diff-del{background:#3a151b;color:#ffb3ba}
.diff-hunk{background:#111c2a;color:#7f95ad}
.diff-meta{color:var(--faint)}

/* Attachments: upload button, progress and drag-and-drop. */
.attach-btn{display:grid;flex:0 0 31px;place-items:center;width:31px;height:31px;padding:0;border-radius:8px;background:#172330;color:#b8c4cf}
.attach-btn.uploading{border-color:#356c60;color:var(--green)}
.upload-status{margin:0 0 6px;padding:5px 10px;border:1px solid #2c5549;border-radius:8px;background:#0f1e1b;color:#9fe3c8;font:11px/1.4 Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop-hint{position:fixed;inset:12px;z-index:150;display:none;align-items:center;justify-content:center;border:2px dashed #3f7f71;border-radius:14px;background:#06100ecc;color:#bff3df;font-size:15px;font-weight:700;pointer-events:none}
body.dragging-files .drop-hint{display:flex}

/* Working-directory setting and directory browser. */
.cwd-setting .cwd-row{display:flex;align-items:center;gap:6px;min-width:0}
.cwd-value{flex:1 1 auto;min-width:0;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:#090f16;color:#c9d4de;font:10px/1.4 Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cwd-row button{flex:0 0 auto;padding:6px 10px;font-size:11px}
.input-with-button{display:flex;gap:6px;align-items:flex-end}
.input-with-button input{flex:1 1 auto}
.input-with-button button{flex:0 0 auto;height:38px}
.dir-modal{z-index:130}
.dir-card{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(640px,calc(100dvh - 36px))}
.dir-path-row{display:flex;gap:6px}
.dir-path-row input{flex:1 1 auto;height:36px;padding:6px 8px;font:12px Consolas,monospace}
.dir-path-row button{flex:0 0 auto}
.dir-toolbar{display:flex;align-items:center;gap:10px;margin:9px 0 7px}
.dir-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.dir-status.error{color:var(--red);white-space:normal}
.dir-list{flex:1 1 auto;min-height:160px;max-height:50dvh;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:#0a1017;padding:4px}
.dir-item{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;text-align:left;font:12px/1.4 Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dir-item::before{content:"▸ ";color:var(--green)}
.dir-item:hover,.dir-item:focus-visible{outline:0;background:#17222e;filter:none}
.dir-empty{padding:18px;text-align:center;color:var(--faint)}

@media(max-width:760px){
.message-text.markdown{font-size:15px}
.md-code pre,.diff-view{font-size:12px}
.markdown .md-table{font-size:13px}
.composer{gap:7px}
.attach-btn{flex-basis:34px;width:34px;height:34px}
.dir-card{max-height:calc(100dvh - 24px)}
.dir-item{padding:11px 10px;font-size:13px}
.cwd-row button{padding:7px 12px}
}

/* Clickable file paths and the file viewer. */
.file-link{color:#8fd8c0;text-decoration:underline dotted;text-decoration-color:#4f8f7c;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere;border-radius:3px}
.file-link:hover{color:#b6f0dc;text-decoration-color:currentColor}
.file-link:focus-visible{outline:2px solid var(--green);outline-offset:1px}
code.file-link.md-inline-code{color:#9fe3c8}
.file-change>summary .file-link{color:#c7d1da}
.file-change>summary .file-link:hover{color:#e6f3ef}
.file-viewer-modal{z-index:140;grid-template-columns:minmax(0,1fr)}
.file-viewer-card{display:flex;flex-direction:column;min-width:0;max-width:100%;width:min(980px,100%);height:min(820px,calc(100dvh - 36px));padding:14px}
.file-viewer-head{display:flex;align-items:flex-start;gap:10px;min-width:0}
.file-viewer-title{display:grid;gap:3px;flex:1 1 auto;min-width:0}
.file-viewer-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6edf3;font:12.5px/1.4 Consolas,"SFMono-Regular",monospace}
.file-viewer-meta{color:var(--muted);font:10.5px/1.4 Consolas,monospace}
.file-viewer-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 8px}
.file-viewer-actions button{padding:5px 10px;font-size:11px}
.file-viewer-notice{margin:0 0 8px;padding:6px 10px;border:1px solid #6c5730;border-radius:7px;background:#201a10;color:#f0cf87;font-size:11px}
.file-viewer-body{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#0a1017}
.file-viewer-body .file-markdown{padding:14px 16px}
.file-viewer-state{padding:18px;color:var(--muted);text-align:center}
.file-viewer-state.error{color:var(--red);white-space:pre-wrap;overflow-wrap:anywhere}
.file-code{margin:0;padding:8px 0;min-width:max-content;color:#d5dee7;font:12px/1.6 Consolas,"SFMono-Regular",monospace;white-space:pre;tab-size:4}
.file-line{display:block;padding-right:14px}
.file-line:hover{background:#101a24}
.file-ln{display:inline-block;position:sticky;left:0;margin-right:12px;padding:0 10px 0 12px;border-right:1px solid #1d2835;background:#0a1017;color:var(--faint);text-align:right;user-select:none}
.file-match-list{display:grid;gap:4px;padding:0 10px 12px}
.file-match{display:block;width:100%;padding:9px 11px;text-align:left;font:12px/1.4 Consolas,monospace;overflow-wrap:anywhere}
@media(max-width:760px){
.file-viewer-modal{padding:0}
.file-viewer-card{width:100%;height:100dvh;max-height:none;border-radius:0;border:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
.file-code{font-size:12px}
.file-viewer-actions button{padding:7px 12px;font-size:12px}
}

/* Sidebar history: status dot + title, provider · time; actions only on hover. */
.thread-item{display:flex;align-items:center;gap:0;min-height:0;padding:0;margin:1px 0;border:1px solid transparent;border-radius:8px;background:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.thread-item:hover{background:#121a23}
.thread-item.active{background:#16211f;border-color:#274a40}
.thread-item-main{display:grid;gap:3px;flex:1 1 auto;min-width:0;padding:8px 10px;text-align:left;border:0;border-radius:8px;background:transparent}
.thread-item-main:hover{filter:none}
.thread-line{display:flex;align-items:center;gap:8px;min-width:0}
.thread-item-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6e0e8;font-size:13px;font-weight:500}
.thread-item.active .thread-item-title{color:#f0f6fc;font-weight:600}
.thread-sub{padding-left:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:11px;line-height:1.3}
.thread-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#4a5563}
.thread-dot.status-running{background:#5b9dff;animation:thread-pulse 1.8s ease-in-out infinite}
.thread-dot.status-unread{background:var(--green)}
.thread-dot.status-draft{background:var(--amber)}
@keyframes thread-pulse{0%,100%{box-shadow:0 0 0 0 #5b9dff80}60%{box-shadow:0 0 0 5px #5b9dff00}}
@media (prefers-reduced-motion:reduce){.thread-dot.status-running{animation:none}}
.thread-actions{display:none;flex:0 0 auto;align-items:center;gap:1px;padding-right:5px}
@media (hover:hover){.thread-item:hover .thread-actions,.thread-item:focus-within .thread-actions{display:flex}}
.thread-action{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:#7f8c99}
.thread-action:hover{background:#223040;color:var(--text);filter:none}
.thread-action.danger:hover{background:#371c22;color:#ff9aa2}
@media(max-width:760px){
.thread-item-main{padding:9px 10px}
.thread-item-title{font-size:14px}
.thread-sub{font-size:11.5px}
}

/* Waiting for approval, Claude approval hint, actionable toast. */
.thread-dot.status-waiting{background:#fb7185;animation:thread-wait 1.2s ease-in-out infinite}
@keyframes thread-wait{0%,100%{box-shadow:0 0 0 0 #fb718599}60%{box-shadow:0 0 0 5px #fb718500}}
@media (prefers-reduced-motion:reduce){.thread-dot.status-waiting{animation:none}}
.thread-item[data-status="waiting"] .thread-sub{color:#fda4af}
.approval-hint{margin-top:8px;color:#a8977a;font-size:11px;line-height:1.5}
.toast.actionable{cursor:pointer;border-color:#8b4a57;background:#241419;color:#ffe4e8}
.toast.actionable::after{content:"  点击查看 →";color:#fda4af;font-size:12px}

/* Content search results in the sidebar and highlighted hits in messages. */
.search-section{margin:10px 0 4px;padding-top:8px;border-top:1px solid #1c2632}
.search-section-head{padding:2px 7px 6px;color:var(--faint);font-size:11px;letter-spacing:.06em}
.search-state{padding:10px 8px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.search-state.error{color:var(--red)}
.search-result{display:grid;gap:3px;width:100%;min-width:0;margin:1px 0;padding:8px 10px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent}
.search-result:hover{background:#121a23;filter:none}
.search-result.active{background:#16211f;border-color:#274a40}
.search-snippet{display:-webkit-box;padding-left:16px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#9aa7b4;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
mark.search-hit{padding:0 1px;border-radius:3px;background:#5c4a17;color:#ffe9a8}
mark.search-hit.current{background:#8a6d1c;color:#fff4cc;box-shadow:0 0 0 2px #8a6d1c}
@media(max-width:760px){
.search-snippet{font-size:12.5px}
.search-result{padding:9px 10px}
}
