:root{color-scheme:light;--bg:#f7f6f0;--paper:#fffefa;--ink:#223b35;--muted:#79817a;--green:#0c6256;--line:#e2e6dd;--tint:#e7eee4;--error:#a63f35;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,input,textarea,select{border-radius:12px}button:focus-visible,a:focus-visible{outline:3px solid #d5a364;outline-offset:3px}button{border:0}a{color:var(--green)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:34px;font-weight:550;letter-spacing:-1.5px}h2{font-size:23px;font-weight:600}h3{font-size:17px}small,.muted{color:var(--muted);font-size:13px;line-height:1.7}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--muted)}.primary{background:var(--green);color:white;padding:13px 19px;font-weight:600}.primary span{margin-left:18px}.secondary{background:var(--tint);color:var(--green);padding:12px 17px;font-weight:550}.quiet{background:transparent;color:var(--muted);padding:10px}.danger{color:var(--error);background:#f8eae6;padding:10px 16px}.icon-button{font-size:25px;background:transparent;color:var(--muted);width:38px;height:38px}.brand{display:flex;align-items:center;gap:11px;font-size:25px;letter-spacing:-1px;font-weight:650}.brand img{width:36px;height:36px;border-radius:11px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;font-weight:500}.connection{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.dot{width:6px;height:6px;background:#81958a;border-radius:50%;display:inline-block}.dot.online{background:#64a283}.dot.offline{background:#ce8c66}.login{max-width:400px;margin:12vh auto;padding:28px}.login .brand{margin-bottom:70px}.login h1{line-height:1.4}.login input{width:100%;margin:8px 0 20px}.login .primary{width:100%}.login-foot{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}.login-foot p{margin-bottom:10px}label{display:block;font-size:13px;font-weight:550;margin:18px 0 9px}input,textarea,select{border:1px solid var(--line);background:var(--paper);padding:12px 14px;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#6c9e8e;box-shadow:0 0 0 3px #0c62560a}textarea{resize:vertical;line-height:1.65}input,textarea{font-size:16px}.shell{display:grid;grid-template-columns:326px minmax(0,1fr);height:100dvh}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:28px 21px 18px;min-height:0}.sidebar .brand{margin-bottom:28px}.sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sidebar .primary{width:100%;display:flex;align-items:center;justify-content:space-between;margin:16px 0}.search{width:100%;font-size:13px;background:transparent;padding:10px 12px}.filters{display:flex;gap:5px;margin:16px 0}.filters button{padding:7px 12px;background:transparent;color:var(--muted);font-size:12px}.filters .selected{background:var(--tint);color:var(--green);font-weight:600}.task-list{overflow:auto;flex:1;min-height:0;margin:0 -9px;padding:0 5px}.task-row{display:block;text-align:left;width:100%;background:transparent;padding:15px 12px;margin-bottom:3px;color:var(--ink)}.task-row:hover{background:#edf0e8}.task-row.selected{background:var(--tint)}.task-row h3{font-size:14px;font-weight:550;line-height:1.5;margin:0 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:8px}.status{font-size:11px;color:#65756b;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status.running{color:var(--green)}.status.waiting{color:#ae7836}.status.failed{color:var(--error)}.sidebar-foot{border-top:1px solid var(--line);margin-top:15px;padding-top:15px;display:flex;align-items:center;justify-content:space-between}.sidebar-foot .quiet{font-size:12px}.main{min-width:0;display:flex;flex-direction:column;min-height:0}.task-head{padding:27px 35px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.task-head h2{font-size:20px;margin:6px 0 10px;line-height:1.45;word-break:break-word}.task-head small{display:block;overflow-wrap:anywhere;font-size:11px}.head-actions{display:flex;gap:8px;flex-shrink:0}.back{display:none}.conversation{flex:1;overflow:auto;padding:32px max(35px,calc((100% - 750px)/2));scroll-behavior:auto;overflow-anchor:none}.message{margin-bottom:30px}.message .byline{display:flex;gap:9px;align-items:center;margin-bottom:12px;font-size:12px;color:var(--muted)}.avatar{background:var(--tint);color:var(--green);width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600}.message.user{background:#eceee5;padding:20px 23px;border-radius:17px}.message.user .avatar{background:#dce2d4}.message pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:15px;margin:0}.activity{margin-bottom:20px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12px;color:var(--muted)}.activity summary{cursor:pointer}.activity pre,.approval pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:260px;overflow:auto;line-height:1.7}.approval{border:1px solid #e7d1ae;background:#fff8e9;border-radius:15px;padding:20px;margin-bottom:25px}.approval h3{margin-bottom:12px}.approval label{line-height:1.6}.approval .actions{display:flex;gap:10px;margin-top:15px}.approval input{width:100%}.approval button[data-option]{background:#f0e6d1;margin:4px 4px 0 0;padding:8px 12px;color:var(--ink);font-size:12px}.approval textarea{width:100%}.older{text-align:center;margin-bottom:26px}.composer{padding:17px 35px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.composer form{max-width:750px;margin:auto;display:flex;gap:12px;align-items:flex-end}.composer textarea{width:100%;min-height:52px;max-height:190px;background:var(--paper);font-size:14px;resize:none}.composer button{white-space:nowrap;padding:13px 18px}.composer small{max-width:750px;margin:10px auto 0;display:block;font-size:11px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.empty img{width:84px;border-radius:25px;margin-bottom:30px}.empty h1{font-size:31px;margin-bottom:12px}.empty p{max-width:310px;margin-bottom:26px}.error{font-size:13px;color:var(--error);line-height:1.7}.banner{padding:11px 21px;background:#f3e8d8;color:#8e643b;font-size:12px;line-height:1.7}.list-empty{padding:40px 15px;text-align:center;color:var(--muted);font-size:13px}.settings{overflow:auto;padding:38px max(35px,calc((100% - 620px)/2));flex:1}.settings h1{font-size:30px}.settings .card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:24px;margin:24px 0}.settings .card p{font-size:13px;color:var(--muted);line-height:1.8}.settings .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.settings ol{padding-left:20px;font-size:13px;line-height:2;color:var(--muted)}.setting-head{display:flex;align-items:center;justify-content:space-between}.settings .back{display:inline-block}.mobile-nav{display:none}dialog{border:1px solid var(--line);border-radius:22px;width:min(510px,calc(100% - 28px));padding:28px;color:var(--ink);background:var(--bg);max-height:90dvh;overflow:auto}dialog::backdrop{background:#1d302c60;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:8px 0 14px}dialog textarea,dialog select{width:100%}dialog .primary{width:100%;margin-top:10px}dialog .muted{margin:15px 0}#toast{position:fixed;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 35px);width:max-content;background:#243b34;color:white;padding:13px 18px;border-radius:12px;box-shadow:0 8px 30px #172e3320;font-size:13px;z-index:10;line-height:1.7}.loading{color:var(--muted);padding:35px;text-align:center;font-size:13px}.finished{color:var(--green);font-size:12px;display:flex;align-items:center;gap:7px;margin:35px 0 10px}.list-more{width:100%;margin:10px 0;font-size:12px}
@media(min-width:1200px){.sidebar{padding:34px 24px}.shell{grid-template-columns:350px minmax(0,1fr)}}
@media(max-width:760px){.shell{display:block;height:100dvh;padding-top:env(safe-area-inset-top)}.sidebar{border:0;height:100%;padding:24px 22px calc(18px + env(safe-area-inset-bottom))}.sidebar .brand{margin-bottom:24px}.sidebar-head{margin-bottom:8px}.sidebar .primary{margin:12px 0 20px}.sidebar .search{padding:13px;font-size:16px}.task-row{padding:18px 12px}.task-row h3{font-size:15px}.task-meta{font-size:12px}.filters button{font-size:13px;padding:8px 15px}.main{display:none;height:100%}.shell.detail .sidebar,.shell.settings-open .sidebar{display:none}.shell.detail .main,.shell.settings-open .main{display:flex}.back{display:inline-block}.task-head{padding:14px 19px;gap:10px}.task-head h2{font-size:17px;margin:2px 0 8px}.task-head small{display:none}.task-head .eyebrow{display:none}.head-actions{flex-direction:column;gap:2px}.head-actions button{font-size:12px;padding:9px}.task-head .back{flex-shrink:0;font-size:19px;padding:6px;margin-left:-7px}.conversation{padding:26px 21px}.message{margin-bottom:24px}.message pre{font-size:15px;line-height:1.8}.message.user{padding:17px 18px}.composer{padding:12px 16px calc(13px + env(safe-area-inset-bottom))}.composer form{gap:8px}.composer textarea{font-size:16px}.composer button{padding:13px}.composer small{font-size:10px}.settings{padding:22px}.settings h1{font-size:28px}.settings .card{padding:22px}.login{padding:30px 28px;margin-top:8vh}.login .brand{margin-bottom:55px}dialog{padding:24px}#toast{bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.conversation{scroll-behavior:auto}}
.conversation.initializing{visibility:hidden}
.model-hint{white-space:pre-line}
.markdown-body{font-size:15px;line-height:1.85;overflow-wrap:anywhere;min-width:0}
.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}
.markdown-body p{margin:0 0 14px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{letter-spacing:0;margin:24px 0 12px;line-height:1.5}
.markdown-body h1{font-size:24px}.markdown-body h2{font-size:21px}.markdown-body h3{font-size:18px}.markdown-body h4{font-size:16px}
.markdown-body ul,.markdown-body ol{padding-left:25px;margin:12px 0 18px}.markdown-body li{margin:5px 0}.markdown-body li p{margin:5px 0}
.markdown-body blockquote{border-left:3px solid #8ea798;margin:16px 0;padding:4px 17px;color:#61726a}
.markdown-body hr{border:0;border-top:1px solid var(--line);margin:23px 0}
.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#e8ece3;padding:2px 5px;border-radius:5px;font-size:.88em}
.markdown-body pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;overflow:auto;max-width:100%;line-height:1.65;font-size:13px;background:#e9ede5;border:1px solid var(--line);border-radius:12px;padding:15px;margin:16px 0;overflow-wrap:normal}
.markdown-body pre code{background:transparent;padding:0;font-size:inherit;border:0}
.markdown-body .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:18px 0;border:1px solid #d6dfd2;border-radius:10px}
.markdown-body table{border-collapse:collapse;min-width:100%;font-size:13px;line-height:1.7}
.markdown-body th,.markdown-body td{padding:10px 14px;border-bottom:1px solid #dce4d8;text-align:left;min-width:100px}
.markdown-body th{font-weight:600;background:#e7eee3;white-space:nowrap}.markdown-body tbody tr:last-child td{border-bottom:0}
.markdown-body tbody tr:nth-child(even){background:#f0f2eb}.markdown-body .align-right{text-align:right}.markdown-body .align-center{text-align:center}
.markdown-body a{text-decoration:underline;text-underline-offset:3px}.markdown-body a:hover{color:#073c34}
.older{min-height:37px}.older button{font-size:12px}.older button:disabled{opacity:1}
.session-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#667970}
.session-meta span{padding:4px 7px;background:#e9eee5;border-radius:6px}.session-meta .pending-setting{background:#f4e6cf;color:#987139}
.head-actions{max-width:310px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.head-actions button{font-size:12px}
#goal-panel{padding:12px 35px;border-bottom:1px solid var(--line);background:#edf0e5}
#goal-panel button{background:transparent;color:var(--ink);text-align:left;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:2px;font-size:12px}
#goal-panel strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-status{color:var(--green);font-size:11px}
#goal-panel small{font-size:10px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.options-grid select{width:100%;font-size:13px}.options-grid .wide{grid-column:1/-1}
.check-label{display:flex;gap:10px;align-items:center;font-size:13px}.check-label input{width:17px;height:17px;accent-color:var(--green)}
.compose-options{margin-top:20px;border:1px solid var(--line);border-radius:12px;padding:13px}.compose-options summary{cursor:pointer;color:var(--green);font-size:13px}
.context-card{background:#e8eee2;border-radius:12px;padding:17px;margin:8px 0 10px;font-size:13px}.context-card small{display:block;font-size:11px;margin-top:8px}
progress{display:block;width:100%;height:7px;margin:12px 0;accent-color:var(--green)}dialog input[type="number"]{width:100%}dialog .actions{display:flex;gap:10px;margin-top:15px}
#goal-controls textarea{width:100%}#goal-controls .primary,#thread-controls .primary{width:100%;margin-top:20px}
.task-action-list{display:flex;flex-direction:column;gap:9px}.task-action-list button{padding:16px;text-align:left;background:var(--tint);color:var(--green);font-size:14px}
@media(max-width:760px){.task-head{align-items:flex-start}.head-actions{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:135px}.head-actions button{padding:8px 4px;white-space:nowrap;font-size:10px}.session-meta{font-size:9px;gap:4px}.session-meta span{padding:3px 5px}#goal-panel{padding:10px 20px}#goal-panel button{grid-template-columns:auto minmax(0,1fr);gap:8px}#goal-panel small{grid-column:1/-1}.options-grid{grid-template-columns:1fr}.options-grid label{font-size:12px}.options-grid select{font-size:16px}.filters{gap:2px}.filters button{padding:8px 12px}}
/* Common controls stay beside the prompt; advanced details remain optional. */
.composer{position:relative;padding-top:14px}
.composer form{display:block;border:1px solid #cdd8cb;background:var(--paper);border-radius:18px;padding:13px 12px 10px}
.compose-input{display:flex;align-items:flex-end;gap:8px}
.composer .compose-input textarea{border:0;box-shadow:none;background:transparent;padding:4px 5px;min-height:62px;max-height:160px;font-size:15px}
.composer .send-button{border-radius:50%;width:33px;height:33px;padding:0;font-size:22px;flex-shrink:0;margin-bottom:5px}
.composer-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:8px}
.composer-tools .inline-options,.inline-pickers{display:contents}
.inline-options{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inline-pickers select,.inline-pickers button,.composer-tools .tool-button{font-size:12px;border-radius:9px;height:32px;padding:4px 8px;border:1px solid transparent;background:#edf1e8;color:#405e50;box-shadow:none;cursor:pointer}
.inline-pickers select[name="model"]{min-width:125px;max-width:190px;flex:1}
.inline-pickers select[name="reasoningEffort"]{width:88px}.inline-pickers select[name="mode"]{width:65px}
.inline-pickers .fast-toggle{white-space:nowrap;min-width:65px}
.inline-pickers .fast-toggle[aria-pressed="true"]{color:var(--green);background:#d7e8ce;border-color:#abc49d}
.inline-pickers select:hover,.inline-pickers button:hover,.composer-tools .tool-button:hover{background:#e1e9db}
.composer-tools .tool-button{width:29px;padding:0;background:transparent;font-size:16px}
#composer-hint{margin:8px auto 0;padding:0 4px;min-height:17px}
.prompt-wrap{position:relative}#new-options{margin-top:12px}#new-options select{width:auto}
.slash-menu{position:absolute;z-index:5;bottom:calc(100% - 4px);left:16px;width:calc(100% - 32px);max-height:min(320px,45dvh);overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 35px #17352826;padding:6px;overscroll-behavior:contain}
.prompt-wrap .slash-menu{left:0;width:100%;bottom:100%;margin-bottom:6px}
.slash-menu button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:10px 12px;background:transparent;text-align:left;border-radius:8px;color:var(--ink)}
.slash-menu button[aria-selected="true"],.slash-menu button:hover{background:var(--tint)}
.slash-menu strong{font-family:ui-monospace,monospace;font-size:13px;font-weight:550}.slash-menu small{display:block;font-size:11px}.slash-menu kbd{font-family:inherit;font-size:10px;color:var(--muted);white-space:nowrap}.slash-menu p{padding:15px;margin:0}
.task-head h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.composer form{padding:10px}.composer .compose-input textarea{font-size:16px;min-height:60px}.inline-pickers select,.inline-pickers button{font-size:12px}.inline-pickers select[name="model"]{max-width:180px}.head-actions{display:flex;flex-direction:row;max-width:none}.task-head{padding:13px 16px}.slash-menu kbd{display:none}.slash-menu{left:12px;width:calc(100% - 24px)}}
.pair-card{padding:26px;background:var(--paper,#fff);border:1px solid var(--line,#e6e7df);border-radius:24px;margin:28px 0;box-shadow:0 12px 40px #25382b08}.pair-card h2{font-size:21px;margin:14px 0 10px}.pair-icon{font-size:26px;color:var(--green,#355d45);letter-spacing:10px}.pair-card .primary{width:100%;margin-top:12px}.pair-upload{display:block;text-align:center;margin-top:12px;cursor:pointer;padding:12px;border-radius:14px;background:#eef1e9}.pair-card video{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:16px;margin-top:18px}.login h1{letter-spacing:-1.5px}.login-foot{font-size:12px;line-height:1.7}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.question-card{border:1px solid #e0e5db;background:#fffefa;border-radius:16px;margin:14px 0;overflow:hidden;padding:0}
.question-card-head{display:flex;align-items:center;gap:9px;min-height:46px;padding:11px 16px;list-style:none;cursor:pointer;color:var(--ink)}
.question-card-head::-webkit-details-marker{display:none}.question-card-head:hover{background:#f5f6ef}.question-card-head:focus-visible{outline:2px solid #d5a364;outline-offset:-3px;border-radius:14px}
.question-mark{display:grid;place-items:center;width:18px;height:18px;border:1px solid #a6b9af;border-radius:50%;font-size:11px;font-weight:600;color:var(--green);flex-shrink:0}
.question-card-title{font-size:13px;font-weight:550;flex:1}.question-context{font-size:11px;color:var(--muted)}.question-blocking .question-context{color:#a27540}
.question-chevron{width:14px;height:14px;fill:none;stroke:#8a958d;stroke-width:1.6;transition:transform .15s}.question-card:not([open]) .question-chevron{transform:rotate(-90deg)}
.question-card-body{padding:3px 16px 14px}.question-field{border:0;margin:0;padding:0;min-width:0}.question-label{font-size:11px;color:var(--muted);padding:0;margin-bottom:6px}
.question-title{font-size:16px;font-weight:550;line-height:1.6;margin:0 0 12px;outline:none}.question-title p{margin:0 0 8px}.question-title p:last-child{margin:0}
.question-choices{display:grid;gap:6px}.question-option{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:44px;border:1px solid #e5e8df;border-radius:10px;margin:0;cursor:pointer;background:transparent;transition:background .12s,border-color .12s}
.question-option:hover{background:#f1f5ed;border-color:#b9ccbf}.question-option:has(input:checked){border-color:#83ac98;background:#edf4ec;box-shadow:none}.question-option:has(input:focus-visible){outline:2px solid #d5a364;outline-offset:2px}
.question-option input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0;border:0;box-shadow:none}.question-option-copy{flex:1;min-width:0;overflow-wrap:anywhere}.question-option strong{display:block;font-size:14px;font-weight:500;line-height:1.5}.question-option small{display:block;line-height:1.5;margin-top:3px;color:#788176;font-size:12px;font-weight:400}
.question-option .question-recommended{display:inline;margin:0 0 0 7px;font-size:10px;color:#668471;white-space:nowrap}.question-option-check{width:17px;height:17px;flex:0 0 17px;display:grid;place-items:center;border:1px solid #cbd5c9;border-radius:50%;font-size:11px;color:transparent;background:#fffefa}.question-option:has(input:checked) .question-option-check{border-color:var(--green);background:var(--green);color:white}
.question-other{border-style:dashed;color:#788176}.question-other:has(input:checked){color:var(--ink);border-style:solid}.question-free{margin-top:8px}.question-choices:empty+.question-free{margin-top:0}.question-free textarea,.question-free input{width:100%;font-size:14px;min-height:68px;padding:10px 12px;border-radius:10px;background:#fffefa;resize:vertical}.question-free input{min-height:44px}
.question-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;min-height:40px}.question-steps{display:flex;gap:5px;flex-wrap:wrap}.question-steps button{height:30px;min-width:30px;background:transparent;color:#8a948b;font-size:12px;padding:0 7px;border-radius:8px}.question-steps button[aria-current]{background:#eaf0e5;color:var(--green);font-weight:600}.question-steps button.answered:not([aria-current]){color:var(--green)}
.question-send{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border-radius:10px;font-size:13px;font-weight:500}.question-send span{margin:0}.question-send svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.question-send:disabled{opacity:.38}.question-card .form-error{margin:10px 0 0}.question-sent{font-size:13px;color:var(--muted);margin:0 0 2px}.question-reason{font-size:13px;color:var(--muted)}
.request-label{font-size:11px;color:#426c55;background:#edf3e9;padding:4px 8px;border-radius:20px}
@media(max-width:760px){.question-card-head{padding:10px 13px}.question-card-body{padding:3px 13px 12px}.question-title{font-size:15px}.question-free textarea,.question-free input{font-size:16px}.question-send{min-height:44px}.question-steps button{min-height:34px;min-width:34px}}
.question-result{padding:12px 0;border-top:1px solid #eef0e9}.question-result strong{font-size:13px}.question-result p{margin:6px 0 0;font-size:14px}.reply-pair blockquote{margin:0 0 8px;border-left:2px solid #aaba9f;padding-left:12px;font-size:12px;color:#6b7765}.reply-pair p{margin:0;white-space:pre-wrap}.commentary{font-size:14px;color:#667260}.reasoning,.tool-activity{background:#f5f7f0;border:1px solid #e7ebe1;border-radius:14px;margin:12px 0}.reasoning summary,.tool-activity summary{display:flex;align-items:center;gap:10px;padding:12px;list-style:none;cursor:pointer}.activity summary::-webkit-details-marker{display:none}.activity summary>span:nth-child(2){flex:1;min-width:0}.activity summary strong{font-size:12px;font-weight:600}.activity summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#7b8276;margin-top:4px}.activity-status{font-size:10px;color:#7d8878;white-space:nowrap}.reasoning-icon,.tool-icon{font-size:19px;color:#73876b;flex:0 0 22px}.reasoning .markdown-body{padding:0 16px 14px;font-size:13px;color:#6b7564;line-height:1.7}.reasoning .markdown-body p:last-child{margin-bottom:0}.tool-output{max-height:280px;overflow:auto}.plan-card{padding:18px;border-radius:16px;border:1px solid #dde6d7;background:#f7faf3;margin:16px 0}.approval .actions{flex-wrap:wrap}.approval h3{font-size:18px;margin:12px 0 16px}.approval.submitted{background:#f0f5ed}.form-error{font-size:12px}.request-command{white-space:pre-wrap;word-break:break-word}

.queue-card {border:1px solid var(--line,#dce2d9);border-radius:16px;padding:16px;margin:12px 0;background:#f4f6ef;}
.queue-card>small{display:block;margin-top:4px}.queue-card article{padding-top:12px}.queue-card article+article{border-top:1px solid #dde3d8;margin-top:12px}.queue-card .markdown-body{max-height:160px;overflow:auto}
/* Keep navigation and background work quiet. */
.sidebar .brand{margin-bottom:20px}.sidebar-head{justify-content:flex-start}.view-switch{display:flex;gap:3px;padding:3px;margin:14px 0 12px;border-radius:10px;background:#edf0e8}.view-switch button{flex:1;font-size:12px;padding:7px 8px;background:transparent;color:var(--muted);border-radius:8px}.view-switch button.selected{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #223b350b}
.task-row{display:flex;align-items:center;gap:9px;padding:10px 9px;min-height:39px}.task-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.4;font-weight:450}.task-date{font-size:10px;color:#98a094;white-space:nowrap}.task-indicator{width:10px;height:10px;flex:0 0 10px}.task-indicator.running{border:1.5px solid #d3e0d6;border-top-color:var(--green);border-radius:50%;animation:nomi-spin 1s linear infinite}.task-indicator.waiting{width:6px;height:6px;flex-basis:6px;margin:0 2px;background:#bc924f;border-radius:50%}
.workspace-heading{width:100%;display:flex;align-items:center;gap:8px;background:transparent;padding:14px 9px 7px;color:var(--muted);text-align:left;font-size:12px}.workspace-heading strong{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-heading small{font-size:10px}.workspace-group .task-row{padding-left:14px}
.tool-activity,.reasoning{border:0;background:transparent;border-radius:0;padding:0;margin:6px 0;color:var(--muted)}.tool-activity summary,.reasoning summary{padding:5px 0;min-height:28px;gap:8px;font-size:12px}.tool-activity .tool-icon,.reasoning-icon{font-size:13px;flex:0 0 16px}.tool-label{display:flex;align-items:center;gap:10px;overflow:hidden}.tool-activity summary small{display:inline;margin:0;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;opacity:.65}.tool-state{font-size:11px;opacity:.6}.tool-state.working{animation:nomi-spin 1s linear infinite}.tool-failed .tool-state{color:var(--error);opacity:1}.activity-chevron{font-size:14px;opacity:.6;transition:transform .15s}.activity[open] .activity-chevron{transform:rotate(90deg)}.tool-details{padding:4px 0 8px 24px}.tool-details pre{margin:5px 0;max-height:200px}.reasoning .markdown-body{padding:8px 0 12px 24px}.thinking-line{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:4px 0;margin:6px 0}.thinking-dots{letter-spacing:2px;animation:nomi-breathe 1.6s ease-in-out infinite}
.message-queue{margin:0 max(35px,calc((100% - 750px)/2));padding:7px 0 3px;border-top:1px solid var(--line);min-height:0;flex-shrink:0}.queue-heading{display:flex;gap:7px;font-size:11px;color:var(--muted);align-items:center;padding:3px 0}.queue-heading small{font-size:10px}.queue-list{max-height:160px;overflow:auto}.queued-message{display:flex;align-items:center;gap:9px;padding:6px 1px;font-size:12px}.queued-title{flex:1;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#64756a}.queue-steer{flex-shrink:0;padding:5px 8px;font-size:11px;background:#e9eee5;color:var(--green);border-radius:6px}.queue-tools{flex:0 0 auto}.queue-tools summary{list-style:none;cursor:pointer;color:var(--muted);padding:4px;font-size:11px}.queue-tools>div{display:flex;gap:4px}.queue-tools button{font-size:10px;padding:3px 5px;background:#edf0e8;color:var(--muted)}.queued-message form{display:flex;flex-wrap:wrap;gap:6px;width:100%}.queued-message textarea{width:100%;font-size:13px;min-height:55px;max-height:100px}.queued-message form button{font-size:11px;padding:5px 9px;background:var(--tint);color:var(--green)}
.composer .send-button .send-spinner{display:block;width:18px;height:18px;margin:0 auto;border:2px solid #ffffff50;border-top-color:white;border-radius:50%;animation:nomi-spin .9s linear infinite}#steer-send{width:auto;font-size:12px;padding:0 7px}.task-head .eyebrow{display:none}
@keyframes nomi-spin{to{transform:rotate(360deg)}}@keyframes nomi-breathe{50%{opacity:.35}}
@media(max-width:760px){.task-row{padding:12px 9px}.task-title{font-size:14px}.tool-activity summary small{max-width:150px}.message-queue{margin:0 16px}.queue-list{max-height:120px}.tool-label{gap:7px}.sidebar .brand{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.task-indicator.running,.send-spinner,.thinking-dots,.tool-state.working{animation:none}}
/* Title stays quiet; workspace and usage sit with the prompt. */
.task-head{padding:10px 28px;gap:12px;min-height:56px;flex-shrink:0;align-items:center}
.task-heading{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
.task-head h2{display:block;min-width:0;flex:1;font-size:15px;line-height:1.5;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:550}
.task-head .status{font-size:10px;flex-shrink:0}.head-actions .quiet{padding:7px}
.composer-meta{display:flex;align-items:center;gap:14px;max-width:750px;margin:7px auto 0;padding:0 4px;font-size:11px;line-height:20px;color:var(--muted);min-width:0}
.workspace-meta,.git-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.workspace-meta{max-width:35%}.git-meta{flex:1}
.composer .context-meta{padding:0;background:transparent;color:var(--muted);font-size:11px;line-height:20px;border-radius:4px;flex-shrink:0}
.sidebar{padding:18px 16px}.sidebar-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}.sidebar .brand{font-size:20px;margin:0;gap:8px;letter-spacing:-.5px}.sidebar .brand img{width:27px;height:27px;border-radius:8px}.sidebar-top .connection{margin-left:auto;font-size:10px;gap:5px}.sidebar .primary{margin:6px 0 10px;padding:10px 12px;font-size:13px}.view-switch{margin:10px 0 9px}.shell{grid-template-columns:290px minmax(0,1fr)}
.login{width:100%;max-width:360px;min-height:100dvh;margin:0 auto;padding:28px 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}
.login .brand{margin-bottom:22px;font-size:24px}.login .brand img{width:32px;height:32px}.login .pair-card{padding:22px;margin:0;border-radius:18px;box-shadow:none}.login h1{font-size:23px;letter-spacing:-.5px;margin:0 0 10px;line-height:1.4}.login .pair-card p{margin-bottom:14px;font-size:12px}.login .pair-card .primary{margin-top:4px}.login .pair-upload{margin:10px 0 0;font-size:13px}.login .pair-card video{max-height:210px}.login #login-error{margin:12px 0 0}
@media(min-width:1200px){.sidebar{padding:18px 16px}.shell{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:760px){.shell{display:block}.sidebar{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.sidebar .search{padding:10px 12px;font-size:15px}.sidebar .brand{margin:0}.task-head{padding:8px 13px;min-height:50px;gap:9px;align-items:center}.task-heading{gap:8px}.task-head h2{font-size:14px}.task-head .status{font-size:9px}.composer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.composer-meta{gap:9px;font-size:10px;margin-top:5px}.composer .context-meta{font-size:10px}.workspace-meta{max-width:30%}.login{padding-top:calc(24px + env(safe-area-inset-top));margin:0 auto}}
.composer{border-top:0;padding-top:9px}.composer form{border-color:#e0e5da;border-radius:14px;padding:8px 10px 6px;box-shadow:none}.composer .compose-input textarea{min-height:38px;padding:4px;line-height:1.6}.composer-tools{padding-top:4px;gap:4px}.inline-pickers select,.inline-pickers button,.composer-tools .tool-button{background:transparent;height:27px;padding:2px 6px;font-size:11px;color:#768276;border-radius:6px}.inline-pickers select[name="model"]{min-width:110px;max-width:175px}.inline-pickers select[name="reasoningEffort"]{width:83px}.inline-pickers .fast-toggle{min-width:55px}.inline-pickers select[name="mode"]{width:58px}.inline-pickers .fast-toggle[aria-pressed="true"]{background:#e7efe1;border-color:transparent}.composer .send-button{width:29px;height:29px;font-size:19px;background:#e8eee4;color:var(--green);margin-bottom:3px}.composer .send-button .send-spinner{border-color:#0c625630;border-top-color:var(--green);width:15px;height:15px}.composer-tools .tool-button{font-size:14px;width:24px;padding:0}#steer-send{font-size:11px}
@media(max-width:760px){.composer form{padding:7px 8px 5px}.composer .compose-input textarea{min-height:38px;font-size:16px}.inline-pickers select,.inline-pickers button{font-size:11px}.inline-pickers select[name="model"]{max-width:155px}.composer-tools{row-gap:2px}}
/* Model controls share the footer with workspace, Git and context. */
.composer-meta{flex-wrap:wrap;column-gap:8px;row-gap:2px;align-items:center}
#composer-session,#new-permissions{display:contents}
.composer-meta .inline-options{display:block;flex:0 1 auto;min-width:0;margin:0}
.inline-pickers{display:flex;align-items:center;gap:2px;min-width:0}
.inline-pickers button{display:flex;align-items:center;justify-content:center;gap:3px;padding:4px 5px;height:30px;border:0;font-size:11px;background:transparent;color:var(--muted);border-radius:6px;min-width:0}
.inline-pickers button:hover:not(:disabled){background:var(--tint);color:var(--green)}
.inline-pickers .model-picker{flex:0 1 auto;justify-content:flex-start;max-width:145px}.model-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.inline-pickers .effort-picker{flex:0 0 auto}.inline-pickers i{font-style:normal;font-size:10px;color:#98a291;flex-shrink:0}
.inline-pickers .fast-toggle{flex:0 0 28px;min-width:28px;width:28px;padding:6px}.fast-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.inline-pickers .fast-toggle[aria-pressed="true"]{background:var(--tint);color:var(--green)}.fast-toggle[aria-pressed="true"] svg{fill:currentColor;stroke-width:1}
.composer-meta .workspace-meta,.composer-meta .git-meta,.composer-meta #workspace{order:-1;flex:0 1 auto;max-width:130px}.composer-meta .git-meta{max-width:150px}.composer-meta .context-meta{margin-left:auto}
.composer .compose-input textarea{min-width:0;flex:1;touch-action:manipulation;-webkit-user-select:text;user-select:text}
.option-list{display:flex;flex-direction:column;gap:3px;max-height:65dvh;overflow:auto}.option-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--ink);padding:13px 12px;text-align:left;border-radius:10px;font-size:14px;min-height:46px}.option-list button:hover,.option-list button[aria-pressed="true"]{background:var(--tint)}.option-list strong{display:block;font-size:14px;font-weight:550}.option-list small{display:block;font-size:12px;line-height:1.5;margin-top:5px;color:var(--muted)}.option-check{flex:0 0 18px;color:var(--green);text-align:center}
@media(max-width:760px){.shell{height:var(--app-height,100dvh)}.composer{flex-shrink:0}.composer-tools{gap:3px}.inline-pickers{gap:3px}.inline-pickers button{font-size:12px;padding:3px 4px;gap:3px}.inline-pickers .model-picker{max-width:clamp(76px,30vw,118px)}.composer .composer-more{width:28px;flex-basis:28px}.keyboard-open .shell{padding-top:env(safe-area-inset-top)}.keyboard-open .composer{padding-bottom:5px}.keyboard-open .queue-list{max-height:72px}.keyboard-open .composer-meta{display:flex}}
@media(max-width:760px){.question-field textarea,.queued-message textarea{font-size:16px}}
/* Timing stays secondary, and permissions live with workspace metadata. */
.round-time{color:var(--muted);font-size:11px;white-space:nowrap;margin-left:8px;font-variant-numeric:tabular-nums}.tool-duration{flex:0 0 auto;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.message-duration{margin-left:8px;color:var(--muted);font-size:11px;font-weight:400}.composer-meta .permission-meta,.composer-meta .plan-meta{padding:2px 4px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}.composer-meta .plan-meta{color:var(--green)}
@media(max-width:760px){.composer .compose-input{align-items:flex-end}.composer .compose-input textarea{min-height:48px;line-height:1.5;padding:10px 0}.composer .send-button{width:40px;height:40px;flex:0 0 40px;margin-bottom:3px}.round-time{font-size:10px;margin-left:5px}.composer-meta{gap:4px}.composer-meta .permission-meta{margin-left:auto}.tool-label small{max-width:35vw}}
.meta-shield{width:12px;height:12px;vertical-align:-2px;margin-right:3px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
/* Only the transcript scrolls. Anchor to the visual viewport when iOS pans
   the layout viewport while opening the keyboard; resizing alone lifts twice. */
@media(max-width:760px){
  html:has(.shell),body:has(.shell){height:100%;overflow:hidden;overscroll-behavior:none}
  .keyboard-open .shell{position:fixed;top:var(--app-top,0px);left:0;right:0;height:var(--app-height);overflow:hidden}
  .main,.conversation{min-height:0}
}
#toast a{display:inline-block;color:#d7ecde;font-weight:600;text-decoration:none;margin-left:12px;padding:3px 0}.settings .setting-head h1{margin:0;font-size:25px}
/* Account quota stays above the list; creation stays below its scroll area. */
.sidebar-usage{display:grid;gap:9px;margin:6px 0 12px;padding:4px 2px;text-decoration:none;color:var(--muted);border-radius:6px;flex-shrink:0}
.usage-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:18px}
.usage-label strong{color:var(--ink);font-weight:550;font-variant-numeric:tabular-nums}
.sidebar-usage progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:4px;margin:5px 0 0;border:0;border-radius:4px;overflow:hidden;background:var(--line);color:var(--green)}
.sidebar-usage progress::-webkit-progress-bar{background:var(--line);border-radius:4px}
.sidebar-usage progress::-webkit-progress-value{background:var(--green);border-radius:4px}
.sidebar-usage progress::-moz-progress-bar{background:var(--green);border-radius:4px}
.usage-high progress{color:#ae7836}.usage-high progress::-webkit-progress-value{background:#ae7836}.usage-high progress::-moz-progress-bar{background:#ae7836}
.usage-unavailable{font-size:11px;line-height:18px}
.sidebar-foot{flex-shrink:0;margin-top:10px;padding-top:6px}
.sidebar .sidebar-new{flex-shrink:0;margin:8px 0 0;min-height:42px}
/* Files and skills stay secondary to the prompt and model row. */
[data-feature-compose]{position:relative}
.attachment-tools{display:flex;align-items:center;gap:4px;margin:2px 0}
.attachment-tools .quiet{background:transparent;color:var(--muted);padding:3px 7px;min-height:30px;font-size:12px;border-radius:7px}
.attachment-tools .quiet:first-child{font-size:21px;line-height:1;width:30px;padding:0}
.attachment-tools .quiet:hover{background:var(--tint);color:var(--green)}
.attachment-drafts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.attachment-drafts:empty{display:none}
.attachment-chip{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 6px 4px 10px;background:var(--tint);border:1px solid var(--line);border-radius:9px;font-size:12px}
.attachment-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.attachment-chip small{white-space:nowrap;color:var(--muted)}.attachment-chip button{background:transparent;color:var(--muted);padding:3px 6px;font-size:16px}.upload-error{border-color:#c9867b}
.file-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;max-width:360px;margin:10px 0;background:var(--paper)}
.file-card>button{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:transparent;text-align:left;padding:12px;color:var(--ink)}.file-card>button>span:last-child{min-width:0}.file-card strong{display:block;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.file-card>a{padding:16px;color:var(--green);text-decoration:none}.file-icon{font-size:25px;color:var(--muted)}
.feature-dialog{max-width:600px;padding:24px;max-height:88dvh;overflow:auto}.feature-dialog h2{margin:0;font-size:20px}.feature-dialog label{display:block;margin:14px 0 6px;font-size:12px;color:var(--muted)}.feature-dialog input:not([type=checkbox]),.feature-dialog select,.feature-dialog textarea{width:100%;box-sizing:border-box}.feature-dialog .check-label{display:flex;align-items:center;gap:8px}.feature-dialog .check-label input{width:auto}.feature-dialog .actions>a{text-decoration:none;display:inline-block;padding:10px 16px;border-radius:10px}.file-preview-content{margin:20px 0;overflow:auto}.file-preview-content img{display:block;max-width:100%;max-height:60dvh;margin:auto;object-fit:contain}.file-preview-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;max-height:60dvh;overflow:auto}
.feature-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.feature-heading h3{margin:10px 0}.schedule-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.schedule-row>div:first-child{min-width:0}.schedule-row strong{font-size:14px;overflow-wrap:anywhere}.schedule-row small{display:block;color:var(--muted);font-size:11px;line-height:1.7}.schedule-actions{display:flex;gap:3px;flex-shrink:0}.schedule-actions button{font-size:12px;padding:8px 6px;background:transparent;color:var(--green)}
@media(max-width:760px){.feature-dialog{width:calc(100% - 24px);max-height:86dvh;padding:20px 16px}.feature-dialog input:not([type=checkbox]),.feature-dialog select,.feature-dialog textarea{font-size:16px}.schedule-row{align-items:flex-start;flex-direction:column}.schedule-actions{align-self:flex-end}.attachment-chip>span{max-width:180px}.attachment-tools{margin:0}.attachment-tools .quiet{min-height:30px}.feature-dialog .options-grid{grid-template-columns:1fr 1fr}}

.message-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--muted);font-size:11px}.feature-settings>[data-feature="storage"]{margin-top:10px;background:transparent;color:var(--muted);font-size:12px;padding:5px 0}

.setup-guide{width:min(720px,100%);max-height:100dvh;overflow:auto;margin:0 auto;padding:36px 24px;line-height:1.8}.setup-guide h1{font-size:26px}.setup-guide h2{font-size:18px;margin:22px 0 8px}.setup-guide ol{padding-left:24px}.setup-guide p{margin:10px 0}.setup-guide code{overflow-wrap:anywhere}
.workspace-head{display:flex;align-items:center;gap:2px;padding:9px 0 4px}.workspace-head .workspace-heading{padding:5px 3px;flex:1;min-width:0}.workspace-drag,.workspace-favorite{background:transparent;color:var(--muted);padding:5px 4px;font-size:13px}.workspace-drag{touch-action:none;cursor:grab}.workspace-favorite[aria-pressed="true"]{color:var(--green)}.workspace-group.dragging{opacity:.55}.workspace-group.drop-before>.workspace-head{border-top:2px solid var(--green)}.workspace-group.drop-after>.workspace-head{border-bottom:2px solid var(--green)}
.task-row-wrap{display:flex;align-items:center;gap:0;position:relative}.task-row-wrap .task-row{flex:1;min-width:0}.stop-square{display:block;width:12px;height:12px;background:currentColor;border-radius:2px;margin:auto}.slash-shortcut{font-family:monospace;font-size:17px;padding:8px 12px}
@media(pointer:coarse){.workspace-drag,.workspace-favorite{min-width:28px;min-height:36px}}

.sidebar-foot{justify-content:flex-end}.task-row-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:32px;padding:5px;background:transparent;color:var(--muted);opacity:0}.task-row-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.task-row-pin svg{transform:rotate(25deg)}.task-row-pin[aria-pressed="true"]{color:var(--green);opacity:1}.task-row-wrap:hover .task-row-icon,.task-row-wrap:focus-within .task-row-icon{opacity:.7}.task-row-icon:hover{opacity:1!important;color:var(--green)}.toast-undo{color:white;background:transparent;text-decoration:underline;font-size:12px;padding:3px 7px;margin-left:8px}
@media(pointer:coarse){.task-row-icon{opacity:.6;width:38px;height:44px;flex-basis:38px}}

/* One consistent glyph and hit target for send, queue and stop. */
.composer .compose-input{align-items:flex-end;gap:10px}
.composer .send-button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;margin:0 0 3px;padding:0;border-radius:50%;background:var(--green);color:white;box-shadow:none;transition:background .15s,opacity .15s}
.composer .send-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.composer .send-button:disabled{opacity:1;background:#e8eae4;color:#a6aca3}
.composer .send-button.is-stop{background:#e8eee4;color:var(--green)}
.composer .send-button.is-submitting .send-spinner{border-color:#ffffff50;border-top-color:white;width:17px;height:17px}
.composer .send-button.is-submitting:disabled{background:var(--green);color:white}
.message .avatar{width:auto;min-width:24px;padding:0 6px;white-space:nowrap;flex-shrink:0}
.sidebar .sidebar-foot{display:flex;gap:8px;align-items:center;padding-top:12px}
.sidebar .sidebar-foot .sidebar-new{flex:1;min-width:0;width:auto;margin:0}
.sidebar .sidebar-settings{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:9px;background:transparent;color:var(--muted)}
.sidebar-settings svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sidebar-settings:hover{background:var(--tint);color:var(--green)}
.new-session-body{flex:1;min-height:0;overflow:auto;padding:clamp(24px,8vh,80px) 24px 24px}
.new-session-body .new-session-composer{width:min(680px,100%);margin:0 auto;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.new-session-composer .compose-input textarea{min-height:80px}
.new-session-composer .composer-meta{flex-wrap:wrap;gap:5px 12px}
.composer .voice-button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:7px;margin-bottom:3px;background:transparent;color:var(--muted);border-radius:50%}
.voice-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.composer .voice-button:hover{background:var(--tint);color:var(--green)}
.composer .voice-button[aria-pressed="true"]{background:#f8eae6;color:var(--error)}
.composer .voice-status{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere;max-height:72px;overflow:auto}
@media(max-width:760px){.new-session-body{padding:24px 12px 16px}.new-session-body .new-session-composer{padding:14px 12px}.composer .voice-button{width:40px;height:40px;flex-basis:40px}.keyboard-open .new-session-body{padding-top:12px}}
.new-session-composer #new-options{margin-top:0}
.new-session-composer #workspace{max-width:46%;min-width:0;width:auto;padding:2px 17px 2px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;box-shadow:none;text-overflow:ellipsis}
.new-session-composer #new-permissions{display:contents}
.new-session-composer .permission-meta{max-width:210px;overflow:hidden;text-overflow:ellipsis}
.new-session-composer .goal-meta{padding:2px 4px;font-size:11px;color:var(--green)}
@media(max-width:760px){.new-session-composer #workspace{font-size:12px;max-width:42%}.new-session-composer .permission-meta{max-width:175px}.keyboard-open .new-session-composer .composer-meta{display:flex}}
.attachment-drafts{gap:8px;overflow-x:auto;padding:3px 0}
.attachment-chip.image-draft{position:relative;display:grid;grid-template-columns:64px auto;grid-template-rows:auto auto;gap:3px 9px;padding:6px 27px 6px 6px;border-radius:12px;min-width:150px;max-width:240px;flex-shrink:0}
.image-draft img{width:64px;height:64px;object-fit:cover;border-radius:7px;grid-row:1 / 3}
.image-draft>span{align-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:11px}
.image-draft>small{align-self:start;font-size:10px}
.image-draft>button{position:absolute;right:3px;top:3px;width:22px;height:22px;padding:0}
@media(pointer:coarse){.composer .send-button{width:40px;height:40px;flex-basis:40px}}
/* Keep execution history behind one quiet progress row. */
.activity-group{border:0;background:transparent;padding:0;margin:8px 0;color:var(--muted)}
.activity-group>summary{display:flex;align-items:center;gap:8px;min-height:30px;padding:3px 0;list-style:none;cursor:pointer;font-size:12px}
.activity-group>summary::-webkit-details-marker{display:none}
.activity-indicator{flex:0 0 15px;color:var(--muted);text-align:center;font-size:12px}
.activity-indicator.working{color:var(--green);animation:nomi-spin 1.4s linear infinite}
.activity-current{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.activity-current small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:360px;font-size:11px;opacity:.65}
.activity-count{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.activity-log{margin:4px 0 12px 6px;padding-left:14px;border-left:1px solid var(--line)}
.activity-group.tool-failed .activity-indicator{color:var(--error)}
.activity-group[open]>.activity-log .tool-activity{margin:5px 0}
.head-stats{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.head-stats .round-time{margin:0;font-size:inherit}
.head-stats [data-output-rate]{color:var(--green);transition:color .15s}
.head-stats .rate-recent{color:var(--muted)}
/* Toasts stay away from the composer and fade instead of disappearing. */
#toast{display:flex;align-items:center;gap:10px;top:calc(var(--app-top,0px) + 68px + env(safe-area-inset-top));bottom:auto;left:auto;right:24px;width:max-content;max-width:min(420px,calc(100% - 32px));padding:10px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 20px #223b3512;line-height:1.45;font-size:12px;opacity:0;transform:translateY(-6px);transition:opacity 180ms ease,transform 180ms ease;pointer-events:none;z-index:30}
#toast.toast-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.toast-icon{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;border-radius:50%;background:var(--tint);color:var(--green);font-size:11px}
#toast[data-tone="error"] .toast-icon{background:#f8eae6;color:var(--error)}
.toast-text{min-width:0;overflow-wrap:anywhere}
#toast a,#toast .toast-action{color:var(--green);font-weight:550;padding:4px 6px;margin:0;flex-shrink:0;background:transparent;font-size:12px;text-decoration:none}
#toast .toast-close{background:transparent;color:var(--muted);width:24px;height:26px;padding:0;font-size:18px;flex-shrink:0}
#toast .toast-close:hover{background:var(--tint)}
@media(max-width:760px){.task-head{flex-wrap:wrap;gap:2px 8px}.task-heading{flex-basis:0;width:auto}.head-stats{width:100%;gap:12px;min-height:19px;font-size:10px}.activity-current small{max-width:42vw}#toast{right:16px;max-width:calc(100% - 32px);top:calc(var(--app-top,0px) + 84px + env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){#toast{transition:none}.activity-indicator.working{animation:none}}

/* Compact workspace navigation with reversible visibility. */
.task-row-wrap .task-row{min-height:32px;padding-top:6px;padding-bottom:6px;margin-bottom:0}
.workspace-head{padding:4px 0 2px}
.workspace-head .workspace-heading{min-height:28px;padding:3px;gap:6px}
.workspace-drag,.workspace-favorite,.workspace-visibility{display:grid;place-items:center;min-width:26px;height:28px;padding:3px;background:transparent;color:var(--muted)}
.workspace-visibility{opacity:0;border-radius:6px}
.workspace-visibility svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.workspace-head:hover .workspace-visibility,.workspace-head:focus-within .workspace-visibility,.workspace-hidden .workspace-visibility{opacity:.65}
.workspace-visibility:hover{opacity:1!important;background:var(--tint);color:var(--green)}
.workspace-hidden .workspace-heading{color:var(--muted);opacity:.7}
@media(max-width:760px),(pointer:coarse){.task-row-wrap .task-row{min-height:38px}.task-row-icon{height:38px}.workspace-drag,.workspace-favorite,.workspace-visibility{min-width:32px;height:36px}.workspace-visibility{opacity:.65}}

/* Conversation rhythm: replies stand apart, activity stays with its explanation. */
.conversation{padding-top:20px;padding-bottom:20px}
#conversation-items{display:flex;flex-direction:column}
#conversation-items>*{margin:0;flex-shrink:0}
#conversation-items>*+*{margin-top:12px}
#conversation-items>.activity-group,#conversation-items>.reasoning,#conversation-items>.thinking-line{margin-top:4px}
#conversation-items>.message.user:not(:first-child){margin-top:24px}
#conversation-items>.message:not(.user):not(.commentary):not(:first-child){margin-top:16px}
#conversation-items>:first-child{margin-top:0}
.message .byline{margin-bottom:8px;gap:8px}
.message.user{padding:15px 18px;border-radius:14px}
.message.commentary{padding-left:12px;border-left:2px solid var(--line);color:var(--muted)}
.message.commentary>.byline{display:none}
.message.commentary>.markdown-body{font-size:13px;line-height:1.7}
.message.commentary .markdown-body p{margin-bottom:8px}
.message.commentary .markdown-body p:last-child{margin-bottom:0}
.activity-group>summary,.reasoning>summary{border-radius:7px;padding:4px 6px;min-height:30px}
.activity-group>summary:hover,.reasoning>summary:hover{background:#e8ede480}
.activity-group>summary:focus-visible,.reasoning>summary:focus-visible{outline:2px solid #91aa9b;outline-offset:2px}
.activity-group>summary .activity-indicator{font-size:14px;opacity:.6}
.activity-group>summary .activity-indicator.working{opacity:1}
.activity-group .activity-log{margin-bottom:6px}
#conversation-approvals{display:flow-root}
#conversation-approvals:not(:empty){margin-top:14px}
.finished{margin:14px 0 0;font-size:11px}
@media(max-width:760px){.conversation{padding:16px}.message.user{padding:13px 15px}.activity-current small{max-width:none;flex:1}.activity-group>summary{gap:6px}.activity-count{font-size:10px}}

/* Options open beside their control, without a modal or backdrop. */
.option-popover{position:fixed;z-index:20;margin:0;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 22px #243b341c;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.option-menu-label{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 7px;font-size:11px;color:var(--muted)}
.option-menu-label small{font-size:10px}
.option-popover .option-list{gap:2px;max-height:none;overflow:visible}
.option-popover .option-list button{min-height:38px;padding:7px 8px;gap:8px;border-radius:7px;font-size:13px;width:100%}
.option-popover .option-list button>span:first-child{min-width:0;flex:1}
.option-popover .option-list strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.option-popover .option-list small{font-size:11px;margin-top:2px;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.option-popover .option-list button[aria-selected="true"],.option-popover .option-list button:focus-visible{background:var(--tint);outline:none}
.option-popover .option-check{font-size:12px;flex-basis:16px}
@media(max-width:760px),(pointer:coarse){.option-popover .option-list button{min-height:42px}}

/* Quiet live feedback during thought and between activity events. */
.thinking-line{min-height:30px;padding:4px 6px;gap:8px}
.thinking-dots{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:16px;height:16px;flex:0 0 16px;letter-spacing:0;animation:none;color:var(--green)}
.thinking-dots i{display:block;width:3px;height:3px;border-radius:50%;background:currentColor;animation:nomi-thought 1.5s ease-in-out infinite}
.thinking-dots i:nth-child(2){animation-delay:150ms}.thinking-dots i:nth-child(3){animation-delay:300ms}
.reasoning-running>summary,.turn-working{color:var(--green)}
.turn-working{margin:4px 0 0;font-size:12px}
@keyframes nomi-thought{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.thinking-dots i,.activity-indicator.working,.tool-state.working{animation:none}.thinking-dots i{opacity:.65}}

/* Skills are chosen beside the composer and stay visible as small chips. */
.attachment-tools{min-width:0}.skill-trigger{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}
.skill-trigger small{font-size:10px;background:var(--tint);color:var(--green);padding:1px 4px;border-radius:4px}
.selected-skills{display:flex;align-items:center;gap:5px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.selected-skills:empty{display:none}.selected-skill{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;max-width:180px;color:var(--green);background:var(--tint);border-radius:6px;padding:0 2px 0 7px;font-size:11px;min-height:26px}
.selected-skill>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.selected-skill button{display:grid;place-items:center;background:transparent;color:var(--muted);padding:0;width:24px;min-height:26px;flex:0 0 24px;border-radius:5px;font-size:15px}
.selected-skill button:hover{color:var(--green);background:#d7e5d3}
.skill-popover{display:flex;flex-direction:column;overflow:hidden;padding:7px;gap:6px}
.skill-popover[hidden]{display:none}.skill-picker-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:0 4px;flex-shrink:0}
.skill-selection-count{font-size:10px;margin-right:auto}.skill-picker-head button{background:transparent;color:var(--muted);font-size:11px;padding:4px;min-height:28px}
.skill-picker-head .skill-picker-close{font-size:18px;width:28px;flex-shrink:0}
#skill-search{flex-shrink:0;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;margin:0;width:100%;min-height:34px;font-size:13px;outline:none}
#skill-search:focus{border-color:#91aa9b;box-shadow:0 0 0 1px #91aa9b40}
.skill-popover .skill-list{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;margin:0;scrollbar-width:thin}
.skill-choice{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:48px;padding:8px;border:0;border-radius:7px;text-align:left;background:transparent;color:var(--ink)}
.skill-choice[aria-selected="true"]{background:var(--tint)}.skill-choice:hover,.skill-choice:focus-visible{background:#e8ede4;outline:none}.skill-choice:focus-visible{box-shadow:inset 0 0 0 1px #91aa9b}
.skill-choice-check{display:grid;place-items:center;flex:0 0 16px;height:19px;font-size:13px;color:var(--muted)}
.skill-choice[aria-selected="true"] .skill-choice-check{color:var(--green)}.skill-choice>span:last-child{min-width:0;flex:1}
.skill-choice strong{display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skill-choice code{display:block;font-size:10px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skill-choice small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.5;margin-top:3px}
.skill-empty{font-size:12px;color:var(--muted);margin:0;padding:14px 8px}.skill-error{font-size:11px;color:var(--error);margin:0;padding:4px;flex-shrink:0}
@media(max-width:760px),(pointer:coarse){#skill-search{font-size:16px}.skill-choice{min-height:48px}.selected-skill{max-width:155px}.selected-skill button{width:30px;flex-basis:30px;min-height:30px}.skill-picker-head button{min-height:32px}}

/* Command temporarily exposes the nine most recently active tasks. */
.task-shortcut{flex:0 0 21px;height:21px;display:grid;place-items:center;border:1px solid #cbd5c8;border-radius:5px;font:11px -apple-system,BlinkMacSystemFont,sans-serif;color:var(--green);background:var(--paper);margin-left:auto}
/* One expandable progress row for thinking and execution; time stays on the right. */
.activity-group>summary{gap:9px;min-height:32px}.activity-group .activity-current{flex:1;min-width:0}.activity-group .activity-count{flex:0 0 auto;font-size:10px}.activity-duration{flex:0 0 auto;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}
.activity-group .thinking-dots{flex:0 0 17px}.activity-thought{padding:10px 3px;border-bottom:1px solid var(--line)}.activity-thought>.muted{font-size:10px}.activity-thought .markdown-body{font-size:12px;margin-top:7px;line-height:1.65}.activity-empty{margin:8px 3px;font-size:12px;color:var(--muted)}
/* Reserved image bounds keep history and the composer steady while images decode. */
.image-card{display:flex;position:relative;max-width:420px;width:100%;padding:0;overflow:hidden;margin-top:12px;background:var(--paper)}.file-card.image-card>button{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;width:100%;min-width:0}.image-thumbnail{display:block;width:100%;height:240px;background:#e9ede4}.image-thumbnail img{width:100%;height:100%;object-fit:contain;display:block}.image-card .file-caption{display:flex;align-items:center;gap:12px;padding:9px 38px 9px 12px;text-align:left}.image-card .file-caption strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-card>a{position:absolute;right:7px;bottom:5px;padding:5px}.inline-image{display:block;width:fit-content;max-width:min(100%,560px);border:1px solid var(--line);padding:0;border-radius:12px;background:transparent;overflow:hidden;margin:10px 0;cursor:zoom-in}.inline-image img{width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain;display:block}
@media(max-width:760px){.image-thumbnail{height:210px}.inline-image img{max-height:300px}.activity-duration{font-size:10px}.activity-group>summary{gap:7px}}

.activity-group .tool-label{white-space:nowrap}.activity-group .tool-label small{flex:1;min-width:0;max-width:none}

/* Images use the window, rather than a small document-preview card. */
/* WebKit can focus the scrolling conversation when a modal dismisses. Keep
   keyboard scrolling, but do not draw a focus ring around the entire pane. */
#conversation:focus,#conversation:focus-visible{outline:none}
#file-preview.image-preview{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:#fff;overflow:hidden;box-shadow:none;overscroll-behavior:contain;outline:none}
#file-preview.image-preview[open]{display:flex;flex-direction:column}
#file-preview.image-preview::backdrop{background:rgba(15,23,21,.9)}
#file-preview.image-preview .dialog-head{flex:0 0 auto;margin:0;padding:12px 18px;gap:14px;align-items:center;border:0;background:linear-gradient(#0f171580,transparent)}
#file-preview.image-preview h2{min-width:0;flex:1;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e7ece8}
.image-preview-actions{display:flex;align-items:center;gap:6px}
#file-preview.image-preview .icon-button,.image-preview-download{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;background:#ffffff12;border-radius:50%;text-decoration:none;font-size:24px;flex:0 0 auto;touch-action:manipulation}
#file-preview.image-preview .icon-button:hover,.image-preview-download:hover{background:#ffffff24}
.image-preview-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0;padding:16px 28px 28px;cursor:zoom-out}
.image-preview-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;cursor:default;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transition:opacity .15s ease}
.image-preview-stage img.image-loaded{opacity:1}
.image-preview-status{position:absolute;max-width:calc(100% - 40px);margin:0;color:#d0d8d2;font-size:13px;text-align:center}
#file-preview.image-preview .preview-loading{margin:auto;color:#d0d8d2;padding:20px}
@media(max-width:760px){#file-preview.image-preview .dialog-head{padding:calc(8px + env(safe-area-inset-top)) 10px 8px}.image-preview-stage{padding:8px 12px calc(18px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.image-preview-stage img{transition:none}}

.question-receipt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--green);padding:12px 4px;margin:8px 0}.question-receipt small{margin-left:auto;font-size:11px}

/* Mobile footer keeps Git details behind the workspace button. */
.composer .workspace-meta{padding:0;background:transparent;color:var(--muted);font:inherit;text-align:left;border-radius:4px}
.workspace-path{overflow-wrap:anywhere}
.context-ring{display:none;width:28px;height:28px}
.context-ring circle{fill:none;stroke-width:2.5}
.context-ring-track{stroke:var(--tint)}
.context-ring-used{stroke:var(--green);transform:rotate(-90deg);transform-origin:16px 16px}
.context-ring text{fill:currentColor;font-size:9px;font-weight:550;text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}
/* A single mobile row: run settings, workspace, context. */
.mobile-options{display:none}
.mobile-settings-list button strong{max-width:65%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px), (hover:none) and (pointer:coarse){
  .composer-meta{flex-wrap:nowrap;gap:4px;padding:0;margin-top:4px;min-height:44px}
  .composer-meta .inline-options{order:0;flex:1 1 0;min-width:0}
  .composer-meta .inline-pickers{display:none}
  .composer-meta .mobile-options{display:flex;align-items:center;gap:6px;width:100%;height:44px;padding:0 8px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap;min-width:0;border-radius:8px}
  .mobile-options .mobile-model{overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--ink)}
  .mobile-options .mobile-effort{flex-shrink:0;font-size:10px}
  .composer-meta .git-meta,.composer-meta .permission-meta,.composer-meta .plan-meta,.composer-meta .goal-meta{display:none}
  .composer-meta .workspace-meta,.composer-meta #workspace{order:1;flex:0 1 100px;max-width:28%;min-width:44px;height:44px;padding:0 8px;font-size:12px;border-radius:8px}
  .composer-meta .context-meta{order:2;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;line-height:0}
  .context-label{display:none}
  .context-ring{display:block}
  .composer-meta button:active{background:var(--tint)}
  .mobile-settings-list button{min-height:48px}
}
@media(max-width:360px){.mobile-options .mobile-effort{display:none}}

.connection-stale .task-indicator.running,.connection-stale .tool-state.working,.connection-stale .activity-indicator.working,.connection-stale .thinking-dots i{animation:none;color:var(--muted)}
.status.stale{color:#ae7836}.status.stale .dot{background:#ce8c66}
.connection-stale .head-stats{visibility:hidden}

/* Personal assistant mode keeps its workspace separate from task execution. */
.mode-nav{display:grid;gap:5px;margin:16px 0 12px}.mode-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:14px}.mode-nav a.selected{background:var(--tint);color:var(--green);font-weight:600}.mode-nav svg,.task-view-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.task-mode-row{display:flex;align-items:center;gap:4px}.task-mode-row a{flex:1}.task-view-toggle{display:flex;padding:9px!important}.task-view-toggle[aria-pressed=true]{color:var(--green);background:var(--tint)}.assistant-open .task-list,.assistant-open #search,.assistant-open .sidebar-new{display:none}.assistant-open .mode-nav{flex:1;align-content:start}.assistant-root{display:flex;flex-direction:column;height:100%;min-height:0}.assistant-head{display:flex;align-items:center;gap:15px;padding:25px 35px;border-bottom:1px solid var(--line)}.assistant-head h2{margin:5px 0 0;font-size:21px}.assistant-tabs{display:flex;gap:5px;margin-left:auto}.assistant-tabs a{padding:9px 16px;color:var(--muted);text-decoration:none;border-radius:10px}.assistant-tabs a.selected{background:var(--tint);color:var(--green)}.assistant-chat{display:flex;flex:1;flex-direction:column;min-height:0}.assistant-messages{flex:1;overflow:auto;padding:32px max(28px,calc((100% - 750px)/2));overflow-anchor:none}.assistant-welcome{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 0}.assistant-welcome img{width:68px;border-radius:21px;margin-bottom:25px}.assistant-welcome h1{font-size:29px}.assistant-welcome p{line-height:1.9}.assistant-message{margin-bottom:28px;line-height:1.8;overflow-wrap:anywhere}.assistant-message>small{display:block;margin-bottom:6px}.assistant-message.user{background:var(--tint);padding:17px 21px;border-radius:15px}.assistant-composer{padding:17px max(28px,calc((100% - 750px)/2)) calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.assistant-composer form{display:flex;align-items:flex-end;gap:12px}.assistant-composer textarea{flex:1;min-width:0;resize:none;max-height:190px}.assistant-composer button{white-space:nowrap}.assistant-composer small{display:block;margin-top:9px;font-size:11px}.assistant-workbench{overflow:auto;flex:1;padding:30px 35px}.workbench-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.workbench-intro h3{font-size:23px;margin-bottom:8px}.workbench-intro button{white-space:nowrap}.assistant-settings{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:27px}.assistant-settings label{display:flex;align-items:center;gap:7px;font-size:12px;margin:0;font-weight:400}.assistant-settings select{padding:4px 8px;font-size:12px}.assistant-settings input{accent-color:var(--green)}.assistant-settings>small{flex-basis:100%}.workbench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.workbench-section{min-width:0}.workbench-section>h3{font-size:16px;margin-bottom:14px}.workbench-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:16px;margin-bottom:12px;overflow-wrap:anywhere;font-size:13px;line-height:1.75}.workbench-card p{margin:9px 0}.workbench-card h4{font-size:14px;margin:0 0 10px}.belief-status{font-size:11px;color:var(--muted)}.workbench-card summary{cursor:pointer;color:var(--green);font-size:12px}.workbench-card blockquote{margin:12px 0;padding-left:12px;border-left:2px solid var(--line);font-size:12px;color:var(--muted)}.workbench-card textarea{width:100%;font-size:13px;margin:10px 0}.workbench-actions{display:flex;gap:7px;margin-top:12px}.workbench-actions:empty{display:none}.workbench-actions button,.workbench-card form button{padding:7px 10px;font-size:12px}.action-proposal{border-left:2px solid var(--line);padding-left:10px;margin-top:10px}.assistant-activity{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.workbench-log{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.workbench-log summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px}.workbench-log p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;line-height:1.7}.workbench-log small{font-size:11px}
@media(max-width:1150px){.workbench-grid{grid-template-columns:1fr 1fr}.workbench-grid>.workbench-section:last-child{grid-column:1/-1}}
@media(max-width:700px){.assistant-head{padding:18px 20px;gap:8px}.assistant-head h2{font-size:18px}.assistant-tabs a{padding:8px 11px;font-size:13px}.assistant-workbench{padding:22px 18px}.workbench-grid{grid-template-columns:1fr}.workbench-grid>.workbench-section:last-child{grid-column:auto}.assistant-messages{padding:24px 20px}.assistant-composer{padding:14px 18px calc(14px + env(safe-area-inset-bottom))}.assistant-composer button{padding:12px}.assistant-welcome h1{font-size:25px}.workbench-intro h3{font-size:20px}}

.message-actions{display:flex;align-items:center;gap:2px;margin-top:8px;color:var(--muted);min-height:28px}
.message-versions a{min-width:28px;min-height:28px;font-size:12px}
.message-versions{display:inline-flex;align-items:center;gap:8px}
.message-versions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;font-size:20px}
.message-editor textarea{width:100%;min-height:180px;max-height:50dvh;resize:vertical;padding:12px;font:inherit;line-height:1.6;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit}
.clipboard-buffer{position:fixed;left:-10000px;top:0}
.code-block{margin:14px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.code-toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#00000003;border-bottom:1px solid var(--line)}
.code-toolbar small{margin-right:auto;color:var(--muted);padding-left:5px}

.code-block pre{margin:0!important;border:0!important;border-radius:0!important}
#file-preview.document-preview{width:min(1100px,94vw);max-width:min(1100px,94vw);height:min(850px,90dvh);max-height:90dvh;overflow:hidden}
#file-preview.document-preview[open]{display:flex;flex-direction:column}
.document-preview .dialog-head{flex-shrink:0;margin-bottom:10px}
.document-preview h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-preview .document-content{flex:1;min-height:0;overflow:auto;margin:8px 0}
.document-frame{width:100%;height:100%;min-height:250px;border:0;background:#fff;border-radius:8px}
.document-markdown{padding:12px 18px}
.preview-tabs{display:flex;gap:6px;flex-shrink:0}
.preview-tabs [aria-pressed=true]{background:#00000009;font-weight:600}
.document-preview .actions{flex-shrink:0}

@media(max-width:760px){#file-preview.document-preview{width:100%;max-width:100%;height:94dvh;max-height:94dvh;margin:auto 0 0;border-radius:16px 16px 0 0;padding:16px 12px calc(16px + env(safe-area-inset-bottom))}.document-markdown{padding:8px}}

.assistant-workbench> .workbench-section{margin-bottom:25px}.assistant-workbench [data-matter-form]{display:grid;gap:10px;max-width:650px;margin:14px 0}.assistant-workbench [data-matter-form] input,.assistant-workbench [data-matter-form] textarea{width:100%;min-width:0;margin:0;font-size:13px}.assistant-workbench [data-matter-form] label{font-size:12px;font-weight:400}.assistant-workbench [data-matter-form] button{justify-self:start}.workbench-actions{flex-wrap:wrap}
.message-editor .actions,.document-preview .actions{display:flex;align-items:center;gap:10px}
.message-editor .actions .primary,.document-preview .actions .primary{width:auto;flex:1;margin:0;white-space:nowrap;text-align:center}
.message-editor .actions .secondary,.document-preview .actions .secondary{flex:0 0 auto;white-space:nowrap}

/* Quiet message actions keep their footprint when feedback or hover changes. */
.action-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;touch-action:manipulation;transition:background .12s,color .12s,opacity .12s}
.action-icon svg,.code-preview-control svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.action-icon:hover,.action-icon:focus-visible{color:var(--ink);background:#273c3210}
.action-icon:active,.code-preview-control:active{background:#273c321a}
.action-icon:focus-visible,.code-preview-control:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.action-icon.copied{color:var(--green)}
.action-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:5px 8px;border-radius:6px;background:var(--ink);color:var(--paper);font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s;z-index:3}
.action-icon:hover .action-tooltip,.action-icon:focus-visible .action-tooltip{opacity:1;visibility:visible;transition-delay:.35s}
.action-icon.copied .action-tooltip{transition-delay:0s}
.message.user .message-actions,.assistant-message.user .message-actions{justify-content:flex-end;margin-top:6px}
.code-toolbar .action-tooltip{bottom:auto;top:calc(100% + 6px);left:auto;right:0;transform:none}
.code-preview-control{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 8px;border-radius:7px;color:var(--muted);background:transparent;font-size:12px;cursor:pointer;touch-action:manipulation}
.code-preview-control:hover{background:#273c3210;color:var(--ink)}
@media(hover:hover) and (pointer:fine){
  .message.user .message-actions>.action-icon,.assistant-message.user .message-actions>.action-icon{opacity:0;pointer-events:none}
  .message.user:hover .message-actions>.action-icon,.message.user:focus-within .message-actions>.action-icon,.assistant-message.user:hover .message-actions>.action-icon,.assistant-message.user:focus-within .message-actions>.action-icon{opacity:1;pointer-events:auto}
}
@media(hover:none),(pointer:coarse){
  .action-icon{width:44px;height:44px;border-radius:10px}
  .action-icon svg{width:17px;height:17px}
  .action-tooltip{display:none}
  .code-preview-control{min-height:44px;height:44px}
  .message-versions a{min-width:44px;min-height:44px}
  .code-toolbar{padding:2px 8px}
}
@media(prefers-reduced-motion:reduce){.action-icon,.action-tooltip{transition:none}}

/* Conversation controls stay outside the scrolling transcript. */
.main:has(.conversation),main:has(.conversation){position:relative}
.jump-latest{position:absolute;bottom:calc(var(--composer-height,140px) + 16px);left:50%;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:24px;padding:8px 14px;background:var(--paper);box-shadow:0 3px 14px #0001;color:var(--ink);min-height:40px}
.jump-latest small{font-size:12px}.jump-latest[hidden]{display:none}
.chat-find{position:fixed;right:20px;top:68px;z-index:30;display:flex;align-items:center;gap:6px;max-width:calc(100vw - 24px);padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 6px 24px #0002}.chat-find[hidden]{display:none}.chat-find input{width:min(240px,40vw);min-width:0}.chat-find button{padding:4px;min-width:32px;min-height:36px}.chat-find [role=status]{font-size:12px;white-space:nowrap;max-width:100px}.chat-match{background:#ffe59a;color:inherit;scroll-margin:70px}.chat-match.current{background:#f6bb48;outline:2px solid #b17b19}
.selection-quote{position:fixed;z-index:35;border-radius:9px;background:var(--ink);color:var(--paper);padding:6px 12px;min-height:36px}.selection-quote[hidden]{display:none}
.quote-draft{display:flex;justify-content:space-between;gap:12px;margin:0 0 8px;border-left:3px solid var(--green);background:var(--tint);padding:8px 10px;border-radius:6px;min-width:0}.quote-draft>span{min-width:0}.quote-draft small{display:block;color:var(--muted);font-size:11px}.quote-draft>span>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.quote-draft button{align-self:start;min-width:32px;min-height:32px;background:transparent}
.long-prompt:not(.expanded)>.markdown-body{max-height:9em;overflow:hidden;mask-image:linear-gradient(#000 70%,transparent)}.prompt-toggle{font-size:12px;margin-top:4px}.shortcut-dialog dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.shortcut-dialog dd{margin:0;white-space:nowrap}.shortcut-dialog kbd{font-size:12px}
.attachment-chip .attachment-preview{display:flex;align-items:center;gap:6px;min-width:0;padding:0;background:transparent;border:0;text-align:left;color:inherit}.attachment-preview>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip .upload-retry{font-size:12px;white-space:nowrap;width:auto;padding:0 5px}
@media(pointer:coarse){.chat-find button,.quote-draft button,.attachment-chip .upload-retry{min-height:44px;min-width:44px}.selection-quote{min-height:44px}.chat-find{right:12px;top:58px;gap:3px}}
.side-trigger{white-space:nowrap;font-size:12px;flex-shrink:0;padding:8px 10px;color:var(--green)}
.side-question{position:fixed;inset:16px 16px 16px auto;margin:0;width:min(460px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:none;padding:20px;overflow:hidden}.side-question[open]{display:flex;flex-direction:column}.side-question::backdrop{background:#223b351a;backdrop-filter:none}.side-question .dialog-head{flex-shrink:0;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px}.side-question h2{font-size:18px;margin:0 0 4px}.side-question .dialog-head small{font-size:11px}.side-transcript{flex:1;overflow:auto;min-height:0;padding:20px 2px}.side-message{margin-bottom:22px}.side-message.user{background:var(--tint);padding:12px;border-radius:12px}.side-message>small{display:block;margin-bottom:8px;font-size:11px}.side-message .markdown-body{font-size:14px;overflow-wrap:anywhere}.side-question form{border-top:1px solid var(--line);padding-top:12px}.side-question textarea{width:100%;resize:none;max-height:180px}.side-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.side-controls small{font-size:10px}.side-question .side-controls button{width:auto;margin:8px 0 0;padding:9px 13px}.quote-draft{width:100%}.composer .quote-draft small{margin:0}.composer .quote-draft button{padding:3px;min-height:32px}
@media(max-width:760px){.side-question{inset:8px;margin:0;width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:16px}.side-trigger{max-width:65px;white-space:normal;line-height:1.3}.task-head{gap:8px}.side-question .side-controls button{min-height:44px}}
@media(max-width:760px){.task-head .side-trigger{order:2;max-width:none;white-space:nowrap;font-size:11px;min-height:36px;padding:6px 8px}.task-head .head-stats{order:3}.task-head{gap:2px 8px}.attachment-preview{font-size:12px!important}}
.voice-panel{margin:10px 0 2px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);min-width:0}.voice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.voice-state{font-size:12px;color:var(--green);line-height:1.5}.voice-heading time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.voice-wave{height:36px;display:flex;align-items:center;justify-content:center;gap:3px;margin:8px 0;overflow:hidden}.voice-wave i{display:block;width:4px;flex:0 0 4px;height:3px;border-radius:3px;background:var(--green);transition:height 80ms linear}.voice-panel[data-phase=permission] .voice-wave,.voice-panel[data-phase=finishing] .voice-wave,.voice-panel[data-phase=review] .voice-wave{opacity:.35}.composer .voice-panel textarea,.voice-panel textarea{display:block;width:100%;min-height:64px;max-height:140px;resize:none;padding:8px 0;background:transparent;border:0;box-shadow:none;font-size:14px;line-height:1.65}.voice-panel textarea[readonly]{cursor:default}.voice-panel textarea:not([readonly]){background:var(--paper);border:1px solid var(--line);padding:8px;border-radius:8px}.voice-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.composer .voice-footer small,.voice-footer small{margin:0;max-width:220px;font-size:10px;line-height:1.6}.voice-footer>div,.voice-error-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.composer .voice-panel button,.voice-panel button{padding:7px 11px;min-height:34px;font-size:12px;border-radius:8px}.voice-done{background:var(--green);color:white}.voice-error .voice-state{color:var(--error);font-size:12px;margin:0 0 8px}.voice-error-actions{justify-content:flex-end;flex-wrap:wrap}.composer .voice-meter-note,.voice-meter-note{margin:0 0 4px;font-size:10px;color:var(--muted)}
@media(pointer:coarse){.composer .voice-panel button,.voice-panel button{min-height:44px;min-width:44px}.composer .voice-button{width:44px;height:44px;flex-basis:44px}.voice-panel{padding:10px}.voice-wave{gap:2px}.voice-wave i{width:3px;flex-basis:3px}.voice-footer{gap:6px}.composer .voice-panel textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.voice-wave i{transition:none}}
.pair-confirmation { display:block; font-size:2rem; letter-spacing:.25em; margin:1rem 0; }
