/* Today-inspired mobile surface: fixed glass chrome, quiet reading canvas. */
:root{color-scheme:light;--bg:#f2f2f5;--panel:#ffffffb8;--text:#34343d;--muted:#727383;--line:#33354b12;--accent:#5e86a8;--soft:#eff0f6;--danger:#b74f55;--user:#e6edf5;--glass:#ffffffa8;--shadow:0 8px 28px #44516a0a;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",system-ui,sans-serif}
html{min-height:100dvh;background-color:#ffddb9;background-image:linear-gradient(165deg,#accdec 0%,#e7ebf4 60%,#ffddb9 100%);background-repeat:no-repeat;background-size:100% 100%}
body{background:transparent;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
#shell{background:transparent;gap:8px;padding:8px;box-sizing:border-box}
#shell>main{background:#ffffff72;border:1px solid #ffffffa6;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-width:0}
header{background:#ffffff9c;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:14px 20px;gap:10px;min-height:76px}
.heading h2{font-size:16px;font-weight:600;letter-spacing:-.3px}.heading p{font-size:11px;color:var(--muted);margin-top:5px}
.icon-button{border-radius:50%;color:var(--text);background:#ffffff70}.icon-button:hover{background:#ffffffd0}
.status-dot.online{background:#80a68b;box-shadow:none}#project{color:var(--muted)}
#sidebar{background:#ffffff80;border:1px solid #ffffff9c;border-radius:24px;box-shadow:var(--shadow);width:290px;flex-shrink:0}
.side-brand{padding:14px 8px 20px;letter-spacing:-.4px}.side-brand span{font-size:19px}.side-brand em{font-size:10px;font-style:normal;color:var(--muted);letter-spacing:1.4px;margin-left:5px}.side-brand img{filter:none}
.new-thread{border:1px solid #ffffffa0;background:var(--glass);border-radius:16px;color:var(--text);box-shadow:0 2px 4px #46516b04;padding:13px 16px}
#search{border:1px solid var(--line);background:#ffffff75;border-radius:13px;padding:11px 13px;color:var(--text)}
.section-label{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:22px 5px 10px}
.thread-row{border:1px solid transparent;border-radius:14px;padding:13px 12px;margin:2px 0;color:var(--text)}
.thread-row.active{background:#ffffffae;border-color:#ffffffdb;box-shadow:0 3px 12px #4c5d7807}.thread-row strong{font-size:13px;font-weight:500;line-height:1.55}.thread-row small{font-size:10px;color:var(--muted)}
.thread-more{font-weight:400;color:#8b8b99}.thread-more:hover{background:#c7d6e633}
.project-heading{font-size:11px;color:var(--muted);padding:15px 9px 7px}.project-heading small{color:var(--muted)}
.side-footer{border-top:1px solid var(--line);background:transparent}.device-mark{background:#ffffff9c;color:var(--muted);border-radius:12px}.side-footer strong{font-weight:500;font-size:12px}.side-footer small{color:var(--muted);font-size:10px}
#scroll-area{scroll-behavior:auto!important;overscroll-behavior-y:contain;overflow-anchor:none;padding:26px max(22px,calc((100% - 740px)/2));scrollbar-width:thin;scrollbar-color:#a4b2c044 transparent;-webkit-overflow-scrolling:touch}
.message{font-size:15px;line-height:1.85;letter-spacing:.05px;overflow-wrap:anywhere}.message.user{background:var(--user);border:1px solid #ffffffa0;border-radius:20px 20px 7px 20px;padding:12px 17px;max-width:88%;margin-left:auto;color:var(--text);box-shadow:none}
.message.assistant{background:transparent;margin-top:25px;margin-bottom:20px}.author{font-size:9px;letter-spacing:1.5px;color:#85838e;font-weight:600;margin-bottom:12px}.author img{width:15px;height:15px;opacity:.65}.copy{color:var(--muted);padding:8px 0;font-size:11px}
.markdown{color:var(--text);overflow-wrap:anywhere;min-width:0}.markdown p{margin:0 0 14px}.markdown h1,.markdown h2,.markdown h3{letter-spacing:-.4px;font-weight:600;line-height:1.5;margin:22px 0 12px}.markdown h1{font-size:22px}.markdown h2{font-size:19px}.markdown h3{font-size:16px}.markdown ul,.markdown ol{padding-left:23px;margin:10px 0 18px}.markdown li{margin:6px 0}.markdown a{color:#4678a2;text-underline-offset:3px}.markdown pre,.tool pre{background:#e8eaf066;color:#454652;border:1px solid #d3d8e55c;border-radius:14px;overflow:auto;max-width:100%;padding:15px;font-size:12px;line-height:1.7}.markdown code{background:#e6e7ef80;color:#675782;border-radius:5px;padding:2px 5px;font-size:.86em}.markdown pre code{background:transparent;padding:0;color:inherit}.markdown table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:13px}.markdown td,.markdown th{border:1px solid #77809626;padding:8px 12px}.markdown th{background:#ffffff80}.markdown blockquote{border-left:3px solid #aabbd0;margin:15px 0;padding-left:15px;color:var(--muted)}
.markdown [data-streamdown="code-block"]{margin:14px 0}.markdown [data-streamdown="code-block"] pre{margin:0}.markdown [data-streamdown="code-block-header"]{font-size:10px;color:var(--muted);padding:5px 10px}.markdown [data-streamdown="table-wrapper"]{overflow:auto}.markdown button{color:var(--muted)}
.tool{border:1px solid #dce0ea;background:#ffffff55;border-radius:13px;box-shadow:none;color:var(--muted);margin:9px 0}.tool summary{padding:11px 13px;font-size:12px}.tool[open]{background:#ffffff85}.tool pre{margin:0 10px 10px}.turn-time{font-size:10px;color:#9996a1;margin:3px 0 24px}.message-date{font-size:10px;color:#90919e;margin-top:9px}.thinking{color:var(--muted);font-size:12px}.thinking b{background:#8c9ab2}
/* Keep measured history geometry stable during iOS momentum scrolling. */
.history-row{overflow-anchor:none}.timeline-row{min-width:0}.live-row{overflow-anchor:none}
footer{background:transparent;border:0;padding:12px 22px max(17px,env(safe-area-inset-bottom));position:relative}
#composer{max-width:740px;margin:0 auto;background:#ffffffbc;border:1px solid #ffffffec;border-radius:24px;padding:13px 15px 10px;box-shadow:0 6px 28px #6671870e,inset 0 1px 0 #fff;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#prompt{background:transparent;color:var(--text);font-size:16px;line-height:1.65;padding:2px 4px;border:0;outline:0;max-height:150px}#prompt::placeholder{color:#9b9aa6}.composer-toolbar{margin-top:8px;gap:10px}.attach-toggle{background:#eef0f6b0;color:#858594;border-radius:50%;width:32px;height:32px}.send{background:#454352;color:#fff;border-radius:50%;width:34px;height:34px;box-shadow:none}.send:disabled{background:#e1e1e9;color:#aaa9b4;opacity:1}.stop{width:34px;height:34px;border-radius:50%;background:#454352;color:#fff}.send.enqueue{height:34px;min-width:70px;font-size:11px;border-radius:18px;background:#454352;color:white}.thread-meta{font-size:10px;color:var(--muted)}.context-ring{width:24px;height:24px}.context-ring::after{background:#f9f9fc;inset:1.5px}#context-label{font-size:8px;color:var(--muted)}
.attachments-menu{background:#f9f9fcf2;border:1px solid #fff;border-radius:18px;box-shadow:0 8px 30px #464e711c;color:var(--text)}.attachments-menu button{font-size:13px;color:var(--text)}.attachments-menu button:hover{background:#dfe6f055}.attachment-chip{background:#f5f5fa;border:1px solid var(--line);color:var(--text)}.attachment-chip .error{color:var(--danger)}.sent-attachment{background:#ffffff80;border-color:var(--line);color:var(--text)}
.execution-status{background:#ffffff50;border-bottom:0;color:var(--muted);padding:8px 24px;font-size:11px}.execution-status.running,.thread-activity.running{color:#6588a5}.execution-status.waiting,.thread-activity.waiting{color:#aa8454}.execution-status.failed{color:var(--danger)}.execution-status span{font-size:10px}.thread-completion{font-size:10px;color:#93939e}.thread-completion.unread{color:#5c86aa}.thread-completion i,#menu.has-unread::after{background:#729dc1}.thread-activity{font-size:10px}
.jump-bottom{background:#ffffffed;border:1px solid #e5e6ee;border-radius:20px;box-shadow:0 3px 15px #44516a12;color:#737482;padding:9px 14px;font-size:11px;bottom:calc(var(--composer-height,114px) + 6px)}
#banner{background:#fbf0e6d9;border-bottom:1px solid #eadccf;color:#8b694b;font-size:12px}#app-update{background:#fff8;border-color:var(--line);font-size:11px}#app-update button{background:#e6e9f1;color:var(--text)}
.empty{color:var(--text)}.empty h1{font-family:Georgia,"Songti SC",serif;font-size:32px;font-weight:400;letter-spacing:-1px}.empty p{color:var(--muted);font-size:13px;line-height:2}.spark{background:#ffffff88;border:1px solid #ffffffad;color:#8c9caf;box-shadow:none;border-radius:26px;font-size:36px}.empty-foot{font-size:10px;color:#9895a1}.primary{background:#504d5e;color:white;border-radius:16px;font-weight:500;border:1px solid #504d5e}.primary:hover{background:#625e73}
.queued-messages{max-width:710px;margin:0 auto 8px;border-radius:18px;background:#ffffffa6;border:1px solid #fff;color:var(--text)}.queued-message p{font-size:12px}.queue-list{overscroll-behavior:contain}
.approval,.async-questions{background:#ffffffa6;border:1px solid #dce0ec;border-radius:20px;box-shadow:var(--shadow);color:var(--text)}.approval h3,.question h3{font-size:14px}.approval input,.approval select,.question textarea{background:#fff9;color:var(--text);border-color:var(--line);border-radius:12px}.question-option{border-color:var(--line);border-radius:12px;background:#ffffff4d}.question-option:has(input:checked){background:#e5edf6;border-color:#b6c8dc}.approval .accept,.question-actions button{background:#555166;color:#fff}.answered-questions{color:var(--muted)}
.scrim{background:#646a7b38;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.dialog-scrim{background:#5e637a40!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog-panel{background:#f8f8fcf5;border:1px solid #fff;border-radius:25px;box-shadow:0 16px 60px #30344725;color:var(--text)}.dialog-head h2{font-size:17px;font-weight:600}.manage-action{border-color:var(--line);font-size:14px}.dialog-panel input{background:#fff;border-color:#dcdfe9;color:var(--text);border-radius:12px}.dialog-panel p{line-height:1.7}.error{color:var(--danger)}.refresh-feedback{background:#ffffffef;border-color:var(--line);color:var(--text);box-shadow:var(--shadow)}#refresh[data-state="busy"]{background:#edf0f6;color:var(--accent)}#refresh[data-state="done"]{color:#658f78;background:#e6f0e9}
.pair-screen{background:transparent}.pair-screen h1{font-family:Georgia,"Songti SC",serif;font-size:38px;font-weight:400;letter-spacing:-1px}.pair-screen input{background:#ffffffb3;border:1px solid white;color:var(--text);border-radius:16px}.pair-note,.eyebrow{color:var(--muted)}
button:not(:disabled):active{filter:none;background-color:#c8d5e540}.send:not(:disabled):active,.primary:not(:disabled):active{background:#696477;color:white;transform:scale(.96)}
@media(max-width:760px){
 #shell{padding:0;gap:0}#shell>main{border:0;border-radius:0;background:#ffffff56}header{padding:calc(10px + env(safe-area-inset-top)) 15px 10px;min-height:68px}.heading h2{font-size:15px}.heading p{font-size:10px}.icon-button{width:36px;height:36px}
 #sidebar{width:min(76vw,288px);top:8px;bottom:8px;height:calc(100% - 16px);border-radius:0 24px 24px 0;background:#eef1f8f5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding-top:calc(16px + env(safe-area-inset-top));transition:transform 180ms cubic-bezier(.2,.8,.2,1)}
 #scroll-area{padding:22px 20px 12px}.message{font-size:15px;line-height:1.85}.message.user{font-size:15px;padding:11px 15px;max-width:92%}.message.assistant{margin-top:22px}.execution-status{padding:7px 20px;min-height:30px}footer{padding:8px 12px max(12px,env(safe-area-inset-bottom))}#composer{border-radius:24px;padding:12px 13px 9px}.attach-toggle{width:34px;height:34px}.composer-toolbar{min-height:34px}.send,.stop{width:34px;height:34px}.send.enqueue{height:34px}.thread-more{width:36px;height:36px;top:9px}.copy{min-height:36px}.keyboard-open header{padding-top:10px;min-height:58px}.keyboard-open footer{padding-bottom:8px}.empty h1{font-size:30px}
 #manage-dialog .dialog-panel{border-radius:26px;padding:18px}.dialog-panel::before{content:"";display:block;width:32px;height:4px;background:#d0d2dc;border-radius:5px;margin:-5px auto 15px}.dialog-head{margin-bottom:8px}.manage-action{padding:17px 10px}.new-thread{padding:12px 15px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(prefers-color-scheme:dark){
 :root{color-scheme:dark;--bg:#242333;--panel:#353344;--text:#e7e6ed;--muted:#a4a1b4;--line:#ffffff12;--accent:#a6b9d6;--glass:#353445d9;--user:#353a50}html{background-color:#3b2a35;background-image:linear-gradient(165deg,#1a1a2e,#24233b 60%,#3b2a35)}#shell>main{background:#20202d99;border-color:#ffffff0a}#sidebar{background:#242433ed;border-color:#ffffff12}header{background:#282735c7}.icon-button,.device-mark{background:#ffffff08;color:var(--text)}.new-thread{border-color:#ffffff0d}.thread-row.active{background:#ffffff09;border-color:#ffffff0a}#search{background:#ffffff05;border-color:var(--line)}.message.user{border-color:#ffffff08}.tool{background:#ffffff03;border-color:#ffffff0f}.tool[open]{background:#ffffff06}.markdown pre,.tool pre{background:#17172288;color:#d2cfe0;border-color:#ffffff0d}.markdown code{background:#ffffff0a;color:#c5b4e0}.markdown a{color:#a8c6e8}.markdown th{background:#ffffff08}#composer{background:#343240d9;border-color:#ffffff14;box-shadow:0 6px 24px #0002,inset 0 1px 0 #ffffff0a}.context-ring::after{background:#343240}.send,.stop,.primary,.send.enqueue{background:#dedce9;color:#353343}.send:disabled{background:#ffffff0c;color:#777283}.attach-toggle{background:#ffffff08}.dialog-panel,.attachments-menu{background:#302e40f5;border-color:#ffffff1a;color:var(--text)}.dialog-panel input,.approval input,.approval select,.question textarea{background:#242333;color:var(--text);border-color:var(--line)}.approval,.async-questions,.queued-messages{background:#302f40cf;border-color:#ffffff12}.question-option{background:#ffffff03}.question-option:has(input:checked){background:#42485e;border-color:#7989aa}.jump-bottom,.refresh-feedback{background:#393646ef;border-color:#ffffff12;color:var(--text)}.spark{background:#ffffff09;border-color:#ffffff12}.attachment-chip,.sent-attachment{background:#ffffff08;color:var(--text)}.execution-status{background:#ffffff03}#banner{background:#59433480;color:#e6c6a0;border-color:#ffffff0a}.pair-screen input{background:#ffffff0c;color:var(--text);border-color:#ffffff12}.dialog-panel::before{background:#5a566a}.thread-completion.unread{color:#a4c0e4}#app-update{background:#ffffff08}.markdown pre code{color:inherit;background:transparent}
}
#composer:focus-within,input:focus,textarea:focus{border-color:var(--accent)}

/* Reading-first layout: compact chrome, stable message actions, generous hit areas. */
header{backdrop-filter:none;-webkit-backdrop-filter:none}.execution-status{min-height:30px}.run-status[hidden]{display:none}
.message.assistant{margin:18px 0 14px}.message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:32px;margin-top:8px;color:var(--muted);font-size:10px}.message-meta .message-date{margin:0}.message-meta .copy{margin:0 0 0 auto;padding:7px 4px;min-height:32px}.message-meta [data-turn-time]{font-size:10px;color:var(--muted)}.turn-time{margin:0 0 12px}.author{margin-bottom:8px}
.side-brand{padding:0 4px 14px;margin:0;gap:8px}.side-brand span{font-size:17px}.side-brand em{display:none}.new-thread{padding:10px 12px}.new-thread kbd{display:none}#search{margin:10px 0 0;padding:10px 12px}.section-label{margin:4px 0;padding:8px 10px;letter-spacing:1px}.project-heading{padding:10px 9px 5px}.thread-row{padding:9px 10px;margin:0;border-radius:12px}.thread-row small{margin-top:4px}.thread-more{top:6px}.side-footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.icon-button,.attach-toggle,.send,.stop,.copy,.thread-more{position:relative}.icon-button::before,.attach-toggle::before,.send::before,.stop::before,.copy::before,.thread-more::before{content:"";position:absolute;min-width:44px;min-height:44px;width:100%;height:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.thread-more{position:absolute;right:4px}.composer-toolbar{gap:12px}#composer{backdrop-filter:none;-webkit-backdrop-filter:none}#prompt{line-height:1.5}.queued-messages{margin-bottom:6px;padding:8px 12px}.queue-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}.queue-resume{padding:7px 10px;border-radius:10px;background:var(--user);font-size:12px;min-height:36px}.queue-message-state{color:var(--muted);font-size:11px}
.toast{position:fixed;z-index:100;left:50%;bottom:calc(var(--composer-height,114px) + 16px);transform:translateX(-50%);padding:10px 18px;border-radius:18px;background:var(--text);color:var(--bg);box-shadow:var(--shadow);font-size:13px;pointer-events:none;max-width:85vw;text-align:center}
.image-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#14141b;color:#f5f5f7;overflow:hidden}.image-viewer[open]{display:flex;flex-direction:column}.image-viewer::backdrop{background:#14141b}.image-toolbar{flex:none;display:flex;align-items:center;gap:6px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}.image-toolbar strong{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.image-toolbar button{min-height:44px;min-width:44px;padding:8px;font-size:13px}.image-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}.image-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain}.image-viewer.zoomed .image-stage{display:block}.image-viewer.zoomed img{width:200%;max-width:none;max-height:none}.attachment-chip img{object-fit:cover}
@media(max-width:760px){header{min-height:60px;padding-bottom:7px;gap:8px}.heading h2{margin-bottom:4px}.heading p{font-size:10px}#sidebar{padding-left:12px;padding-right:12px;padding-top:calc(12px + env(safe-area-inset-top))}#scroll-area{padding:16px 18px 10px}.message.assistant{margin-top:16px}.message{line-height:1.8}footer{padding-top:6px}#composer{padding:10px 12px 8px}.composer-toolbar{margin-top:4px}.side-brand{padding-bottom:10px}.copy{min-height:32px}.thread-more{top:6px}.jump-bottom{bottom:calc(var(--composer-height,114px) + 8px)}}

.sidebar-tools{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:4px}.sidebar-tools #search{margin:0;min-width:0;height:44px}.sidebar-tools .new-thread{margin:0;padding:0;min-height:44px;height:44px;justify-content:center;border-radius:13px}.sidebar-tools .new-thread span{font-size:22px}
