:root{color-scheme:dark;--bg:#101313;--panel:#171b1b;--line:#2b3331;--muted:#8c9994;--text:#eaf0eb;--accent:#c3efad;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#252d29;border:1px solid var(--line);border-radius:9px;padding:9px 15px}button:hover{background:#313e35}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{background:#101614;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px;width:100%}button.primary,button[type=submit]{background:var(--accent);color:#162112;border:0;font-weight:600}small{font-size:11px;color:var(--muted)}.shell{display:flex;height:100dvh;max-width:1700px;margin:auto}aside{width:294px;flex-shrink:0;padding:28px 20px 14px;background:#151918;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:650;letter-spacing:-.7px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;margin-top:6px;font-weight:500}.brand-icon{font-size:32px;color:var(--accent)}.light{font-weight:350;color:#a7b4ac}.host{display:flex;gap:10px;align-items:center;padding:16px 10px;margin-top:35px;border:1px solid var(--line);border-radius:10px;font-size:12px}.host small{display:block;margin-top:4px}.host .icon{margin-left:auto}.dot{width:7px;height:7px;background:#d29b68;border-radius:50%;flex-shrink:0}.dot.online{background:var(--accent);box-shadow:0 0 12px #a6d98d55}.icon{border:0;background:transparent;padding:5px 8px;font-size:19px;color:var(--muted)}.list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:30px;color:var(--muted);font-size:11px}#search{margin:10px 0 15px;background:transparent;font-size:12px}nav{overflow:auto;flex:1}.thread{text-align:left;width:100%;border:1px solid transparent;background:transparent;display:block;margin-bottom:5px;padding:12px 10px}.thread.selected{background:#29332b;border-color:#3b4d3e}.thread-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;margin-bottom:7px}.thread small{font-size:10px}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:15px}main{min-width:0;flex:1;display:flex;flex-direction:column;padding:0 36px}header{min-height:93px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}h1{font-size:15px;font-weight:550;margin:0}header p{color:var(--muted);font-size:11px;margin:8px 0 0;max-width:65vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{margin-left:auto;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:10px;color:var(--muted)}.pill.active{color:var(--accent)}#banner{padding:11px 14px;margin-top:15px;background:#242d23;color:#d0dbb9;font-size:12px;border-radius:7px;white-space:pre-wrap;max-height:140px;overflow:auto}#banner.error{background:#32251f;color:#f0be9f}#history{overflow-y:auto;overflow-x:hidden;flex:1;min-height:100px;padding:25px max(0px,calc((100% - 780px)/2));overscroll-behavior:contain}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-bottom:45px}.welcome-icon{font-size:54px;color:var(--accent);margin-bottom:15px}.welcome h2{font-size:27px;letter-spacing:-.9px;font-weight:500;margin:15px 0}.welcome p{line-height:1.9;color:var(--muted);font-size:13px}.features{display:flex;gap:23px;color:#a2b0a6;font-size:11px;margin-top:25px}.message{padding:15px 0 24px}.message.user{margin:5px 0 16px;background:#1d2720;border:1px solid #2b382e;border-radius:12px;padding:16px 20px}.message-label{font-size:10px;font-weight:600;color:var(--accent);margin-bottom:12px;letter-spacing:.5px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.tool{background:#171d19;border:1px solid var(--line);border-radius:9px;padding:12px}.tool summary{font-size:12px;overflow-wrap:anywhere;cursor:pointer}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;font-family:ui-monospace,SFMono-Regular,monospace;max-height:350px;overflow:auto}#requests{max-height:40dvh;overflow:auto}.request-card{border:1px solid #6a7549;border-radius:12px;background:#232b20;padding:20px;max-width:780px;margin:0 auto 15px}.eyebrow{font-size:8px;font-weight:700;letter-spacing:1.7px;color:var(--accent)}.request-card h3{font-size:15px;margin:10px 0}.request-card p{font-size:12px;line-height:1.8}.request-card pre{padding:12px;background:#131a13;border-radius:6px}.request-card input{margin-top:10px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.option{display:block;font-size:12px;margin:8px 0;text-align:left}.jump{font-size:11px}#composer{border:1px solid #3e4b3f;border-radius:13px;background:#1a211c;padding:5px 12px 10px;max-width:780px;width:100%;align-self:center;margin-top:10px}textarea{background:transparent;border:0;resize:none;font-size:13px;line-height:1.7;min-height:65px;padding:12px 2px}textarea:focus{outline:none}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-bottom span{color:var(--muted);font-size:10px}.composer-bottom button{padding:8px 13px;font-size:12px}footer{font-size:9px;color:#69766c;text-align:center;padding:14px}.muted{color:var(--muted);font-size:12px}.loading{padding:30px 10px;text-align:center}.inline-error{color:#f0b69c}.mobile{display:none}dialog{background:#1b231e;color:var(--text);border:1px solid #405041;border-radius:18px;padding:35px;width:min(430px,calc(100% - 32px));box-shadow:0 25px 100px #0009}dialog::backdrop{background:#080e0bd9;backdrop-filter:blur(8px)}dialog h2{font-size:27px;font-weight:500;margin:16px 0}dialog p{font-size:12px;color:var(--muted);line-height:1.8}dialog label{display:block;font-size:11px;margin:20px 0 10px}dialog button[type=submit]{margin-top:20px;width:100%;padding:13px}dialog small{display:block;line-height:1.8;margin-top:20px;font-size:10px}#pair-error{color:#f5b696}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){aside{position:fixed;inset:0 auto 0 0;z-index:3;width:min(320px,90vw);transform:translateX(-100%);transition:transform .2s;box-shadow:30px 0 100px #0009}aside.visible{transform:translateX(0)}.mobile{display:block}.brand .mobile{margin-left:auto}main{padding:0 16px}header{min-height:78px;padding-top:env(safe-area-inset-top)}header h1{font-size:13px}.welcome h2{font-size:23px}.features{gap:16px}#history{padding-top:15px}.message-text{font-size:13px}.composer-bottom span{font-size:9px;max-width:50%}#composer{margin-top:7px}footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.request-card{padding:15px}.request-card pre{max-height:130px}#requests{max-height:42dvh}.welcome{padding-bottom:0}.welcome-icon{font-size:42px}}

.tool summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool[open] summary{-webkit-line-clamp:3}

.markdown{white-space:normal}.markdown-line{white-space:pre-wrap;min-height:1.3em}.markdown h4{font-size:15px;margin:14px 0 8px}.markdown a{color:var(--accent)}.markdown code{background:#28342b;padding:2px 5px;border-radius:4px;font-size:.9em}.code-block{background:#151b16;border:1px solid var(--line);padding:14px;border-radius:9px;max-height:440px}.request-card label{display:block;margin:14px 0;font-size:12px;line-height:1.7}

header>div{min-width:0;flex:1}header h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{max-width:100%}#full-history{font-size:10px;padding:6px 8px;white-space:nowrap}
.project-group{margin-bottom:5px}.project-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:11px 7px;text-align:left;background:transparent;border:0;border-radius:8px}.project-toggle:hover{background:#242d26}.project-chevron{width:12px;color:var(--muted);font-size:12px}.project-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550}.project-count{font-size:10px;flex-shrink:0}.project-conversations{margin:0 0 8px 12px;padding-left:9px;border-left:1px solid var(--line)}.project-conversations .thread{padding:10px 8px}.project-conversations .thread-name{font-size:11px}.group-more{width:100%;font-size:10px;padding:8px;background:transparent;border:0;color:var(--muted)}.group-empty{font-size:10px;padding:5px 7px}
.auth-secondary{margin-top:12px;width:100%;background:transparent;color:var(--muted);font-size:12px}#enroll-fields{margin-top:12px}#enroll-fields button{margin-top:14px;width:100%}#pair-error{line-height:1.8}#bind-device{font-size:17px}
.auth-close{float:right;padding:0 4px}
.push-panel{margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:9px}.push-panel strong{font-size:11px;font-weight:550}.push-panel p{font-size:11px;color:var(--muted);line-height:1.7;margin:8px 0}.push-panel button{font-size:10px;padding:6px 9px}.push-panel div{display:flex;gap:8px}.push-panel[hidden]{display:none}

#new-form select, #new-form textarea { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; background: var(--bg); color: var(--text); margin: 8px 0 14px; }

[hidden] { display: none !important; }
#sidebar-backdrop { display: none; }
@media (max-width: 760px) {
  #sidebar.visible + #sidebar-backdrop { display: block; position: fixed; inset: 0; z-index: 2; border: 0; border-radius: 0; padding: 0; background: #0005; }
}
/* Keep one-finger scrolling while disabling pinch and double-tap zoom. */
html { touch-action: pan-x pan-y; }
@media (max-width: 760px) {
  input, textarea, select, #search, #new-form select, #new-form textarea { font-size: 16px; }
}
#new-error { color: #f5b696; white-space: pre-wrap; overflow-wrap: anywhere; }
.tool summary { display: flex; align-items: center; gap: 6px; list-style: none; }
.tool summary::-webkit-details-marker { display: none; }
.tool summary::before { content: '▸'; flex-shrink: 0; color: var(--muted); }
.tool[open] > summary::before { content: '▾'; }
.tool summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.tool-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool-status { flex-shrink: 0; color: var(--muted); }
