:root{color-scheme:dark;--bg:#101716;--panel:#17211e;--line:#2c3b34;--muted:#98aaa1;--text:#e5eee8;--accent:#b5f4cd;--soft:#223d30;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button-link{min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:10px 14px;cursor:pointer;touch-action:manipulation}button:active,.button-link:active{filter:brightness(1.2)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--accent)}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.primary{background:var(--accent);border-color:var(--accent);color:#10291c;font-weight:650}.icon-button{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:23px;line-height:1;background:transparent}.muted,small{color:var(--muted)}.hidden{display:none!important}input,textarea,select{background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:12px;min-width:0;padding:12px}input,textarea{font-size:16px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.3px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:650}.app-mark{width:46px;height:46px;border-radius:15px;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-size:28px;font-weight:700;margin-bottom:22px}.auth-screen{width:min(100%,430px);padding:36px 24px;margin:9dvh auto}.auth-screen p{line-height:1.6}.auth-screen form{display:grid;gap:12px;margin-top:28px}.auth-screen label{font-size:13px;display:grid;gap:8px}.auth-screen input{width:100%;height:50px}.auth-screen button{height:48px}#loginError,#passwordError,#folderError{color:#ffb4a9;font-size:13px}
#shell{height:100dvh;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.app-header{display:flex;gap:10px;align-items:center;padding:10px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));min-width:0}.heading-stack{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.heading-stack strong{font-size:17px;letter-spacing:-.5px}.heading-stack strong span{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:3px}#title{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#chatFiles{position:relative;font-size:25px}.badge{position:absolute;right:0;top:0;min-width:16px;min-height:16px;border-radius:8px;background:var(--accent);color:#10291c;font-size:10px;line-height:16px;font-weight:700}#workspaceBar{padding:0 16px 10px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}#machines{display:flex;gap:4px;background:#0b1210;border:1px solid var(--line);border-radius:11px;padding:3px;flex-shrink:0}#machines button{min-height:34px;padding:6px 14px;border-color:transparent;background:transparent;border-radius:8px;font-size:12px;white-space:nowrap}#machines button.selected{background:var(--soft);color:var(--accent);border-color:#395a45}#projects{min-width:0;flex:1}#projectRow{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;height:42px}.folder-symbol{font-size:24px;color:var(--accent);padding-left:12px}#projectSelect{flex:1;width:0;min-height:40px;padding:8px;border:0;background:transparent;font-size:13px}#addProject{border:0;height:40px;min-height:40px;width:40px;font-size:21px;border-left:1px solid var(--line);border-radius:0}#projectPath{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;margin-top:5px;line-height:1.3}#projectRoot{width:100%;font-size:12px;margin-top:6px}#main{display:flex;position:relative;min-height:0;min-width:0}#sidebar{width:290px;flex-shrink:0;border-right:1px solid var(--line);padding:20px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.drawer-heading{display:flex;align-items:center;gap:10px;justify-content:space-between}.drawer-heading h2{margin:5px 0 3px;font-size:20px;overflow-wrap:anywhere}#closeSidebar{display:none}#newChat{width:100%}#search{width:100%;min-height:44px;font-size:14px}#threads{display:flex;flex-direction:column;gap:5px}#threads button{width:100%;text-align:left;background:transparent;border-color:transparent;font-size:13px;line-height:1.45;min-height:48px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#threads button.active{background:var(--soft);border-color:#3d604b;color:var(--accent)}.drawer-settings{display:flex;gap:8px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.drawer-settings button{font-size:12px;flex:1;padding:8px}#conversation{flex:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:28px max(24px,calc((100% - 870px)/2));scrollbar-width:thin;scroll-padding-bottom:24px}.message{max-width:820px;margin:0 auto 22px;overflow-wrap:anywhere;line-height:1.7;font-size:15px}.message .label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.message.user{background:#1e3027;border:1px solid #2e4436;border-radius:18px 18px 4px 18px;padding:13px 16px;margin-left:auto;max-width:min(90%,740px);white-space:pre-wrap}.message.assistant{padding:0 2px}.message.tool{font-family:ui-monospace,monospace;font-size:12px;white-space:pre-wrap;color:#abc1b1}.message.error{color:#ffb4a9}.empty-state{max-width:330px;margin:12dvh auto 0;color:var(--muted);text-align:center;line-height:1.7}.empty-state .app-mark{margin:0 auto 18px}.empty-state h2{color:var(--text);font-size:23px;margin-bottom:8px}.empty-state p{font-size:14px}.work-details{max-width:820px;margin:0 auto 20px;border:1px solid var(--line);border-radius:13px;color:var(--muted)}.work-details>summary{cursor:pointer;padding:12px 14px;font-size:12px;list-style-position:inside;min-height:44px}.work-details>div{padding:12px}.work-details .message{margin-bottom:14px}.approval{padding:16px;border:1px solid #9f8c4a;border-radius:14px;max-width:820px;margin:16px auto;background:#2b281b;white-space:pre-wrap}.approval button{margin:8px 8px 0 0}.approval input,.approval select{display:block;width:100%;margin:8px 0}footer{border-top:1px solid var(--line);background:var(--bg);padding:8px max(16px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));min-width:0}#status{font-size:11px;color:var(--muted);min-height:17px;max-width:820px;margin:0 auto 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#compose{display:flex;gap:8px;align-items:flex-end;background:var(--panel);border:1px solid #3a5043;border-radius:19px;padding:6px;max-width:820px;margin:auto}#text{width:100%;resize:none;max-height:150px;min-height:42px;line-height:1.5;border:0;border-radius:12px;padding:9px;background:transparent;outline:none}#compose .icon-button{border-radius:13px}#stop{color:#ffb4a9;background:#412820}.composer-hint{font-size:10px;color:#73887a;max-width:820px;margin:6px auto 0;text-align:center}#jumpBottom{position:absolute;right:18px;bottom:14px;border-radius:50%;background:var(--soft);box-shadow:0 4px 20px #0005}#toast{position:fixed;left:50%;bottom:140px;transform:translateX(-50%);max-width:calc(100vw - 30px);width:max-content;background:#50352e;border:1px solid #865143;color:#ffe5da;padding:12px 16px;border-radius:13px;z-index:100;font-size:13px;box-shadow:0 8px 28px #0005}.drawer-backdrop{display:none}
.markdown{white-space:normal;overflow-wrap:anywhere}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 14px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{line-height:1.35;margin:24px 0 12px;letter-spacing:-.3px}.markdown h1{font-size:27px}.markdown h2{font-size:22px}.markdown h3{font-size:18px}.markdown ul,.markdown ol{padding-left:24px;margin:10px 0 16px}.markdown li{margin:6px 0}.markdown li p{margin:6px 0}.markdown blockquote{border-left:3px solid #6ba981;margin:16px 0;padding:3px 16px;color:#b5c9ba}.markdown hr{border:0;border-top:1px solid var(--line);margin:24px 0}.markdown code{background:#26362c;padding:2px 5px;border-radius:5px;font-size:.85em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-block{position:relative;margin:14px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0c1410}.code-block pre{padding:44px 14px 14px;margin:0;overflow-x:auto;font-size:12px;line-height:1.65;white-space:pre;tab-size:2}.code-block code{padding:0;background:transparent;font-size:inherit}.copy-code{position:absolute;top:5px;right:6px;min-height:30px;border-radius:7px;padding:5px 9px;font-size:10px;color:var(--muted)}.table-scroll{max-width:100%;overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:10px}.markdown table{border-collapse:collapse;width:100%;font-size:13px;white-space:normal}.markdown th,.markdown td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;min-width:90px}.markdown th{background:var(--soft);color:var(--accent)}.markdown input[type=checkbox]{accent-color:#b5f4cd;margin-right:7px}.file-link{display:inline;padding:2px 0;border-bottom:1px dashed #639778;text-decoration:none;overflow-wrap:anywhere}.image-card{display:block;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:100%;width:360px;background:#18241c;text-align:left;line-height:1.4;margin:12px 0;color:var(--muted)}.image-card img{display:block;width:100%;max-height:310px;object-fit:contain;background:#0c1410}.image-card span{display:block;padding:10px 12px;font-size:11px}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attachment-list .image-card{margin:0}.attachment-card{display:flex;align-items:center;gap:10px;text-align:left;font-size:13px;padding:12px 14px;max-width:100%;overflow-wrap:anywhere;min-height:52px}.attachment-card::before{content:'▧';font-size:24px;color:var(--accent)}
dialog{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 100px #0006}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.small-dialog{width:min(540px,calc(100vw - 24px));max-height:88dvh;overflow-y:auto;padding:20px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-heading h2{margin:4px 0}.dialog-heading .icon-button{font-size:28px}.folder-controls{display:flex;gap:8px;margin:10px 0}#folderPath{flex:1;width:0;font-size:14px}#folderList{height:35dvh;overflow-y:auto;border-block:1px solid var(--line);padding:10px 0;margin:12px 0}#folderList button{width:100%;display:block;text-align:left;margin-bottom:6px;overflow-wrap:anywhere}#folderChoose{width:100%}#chatFileList{display:flex;flex-direction:column;gap:9px;padding:5px 0}.viewer-dialog{padding:0;width:min(1120px,96vw);height:94dvh;max-width:none;max-height:100dvh;overflow:hidden}.viewer-dialog[open]{display:flex;flex-direction:column}.viewer-header{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 16px;flex-shrink:0;background:var(--panel)}.viewer-heading{flex:1;min-width:0}.viewer-heading h2{font-size:15px;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-heading small{font-size:11px}#fileDownload{font-size:12px;min-height:40px;padding:10px 12px}#fileClose{border:0;font-size:30px}.file-body{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;min-width:0;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}.document-view{padding:28px max(22px,calc((100% - 840px)/2));line-height:1.75;font-size:15px}.plain-file{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.7;margin:0}.image-view{background:#080d0a;display:flex;align-items:safe center;justify-content:safe center;padding:12px}.full-image{display:block;max-width:100%;max-height:100%;object-fit:contain;flex-shrink:0}.zoom-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px;background:#101b14;border-bottom:1px solid var(--line);flex-shrink:0}.zoom-toolbar button{border:0;font-size:12px;min-height:36px;padding:6px 12px}.zoom-toolbar .icon-button{font-size:22px;width:40px;height:36px}.pdf-view{padding:12px;background:#080e0a;display:block}.pdf-page{background:white;color:#111;max-width:1000px;margin:0 auto 14px;overflow:hidden;box-shadow:0 2px 12px #0007}.pdf-page canvas{display:block;height:auto}.media-view{display:grid;place-items:center;background:#080d0a;padding:18px}.media-view video,.media-view audio{max-width:100%;max-height:100%}
@media(min-width:761px){#menu{display:none}#chatFiles{margin-left:10px}.app-header{padding-left:24px}#workspaceBar{padding-left:24px}#projects{max-width:600px}#sidebar.closed{display:flex}}
@media(max-width:760px){.app-header{padding:8px 12px 7px;gap:8px}.heading-stack strong{font-size:16px}#title{font-size:11px}.app-header>.icon-button{border:0;background:var(--panel);width:40px;height:40px;min-height:40px;border-radius:12px}#workspaceBar{display:block;padding:0 12px 8px}#machines{width:100%;padding:3px;margin-bottom:7px}#machines button{flex:1;min-height:31px;padding:5px 12px}#projectRow{height:38px}#projectSelect{min-height:36px;font-size:13px}#addProject{height:36px;min-height:36px}#projectPath{font-size:10px;margin-top:4px;line-height:1.2}#sidebar{position:fixed;inset:0 auto 0 0;width:min(87vw,340px);z-index:40;border-right:1px solid #3b5142;padding:calc(18px + env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));box-shadow:20px 0 80px #0008}#sidebar.closed{display:none}#closeSidebar{display:inline-flex}.drawer-backdrop:not(.hidden){display:block;position:fixed;inset:0;z-index:35;background:#0008;backdrop-filter:blur(2px);border:0;border-radius:0;width:100%;height:100%;padding:0}#conversation{padding:20px 14px}.message{font-size:14px;line-height:1.7;margin-bottom:20px}.message.user{max-width:94%;padding:11px 13px}.message .label{font-size:9px;margin-bottom:5px}.work-details>summary{padding:10px 12px}.empty-state{margin-top:9dvh}.empty-state h2{font-size:21px}footer{padding:7px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.composer-hint{display:none}#status{font-size:10px;margin-bottom:5px;min-height:14px}#compose{padding:4px;border-radius:17px}#text{min-height:42px;padding:9px;font-size:16px}#compose .icon-button{width:40px;height:40px;min-height:40px}.viewer-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border:0;border-radius:0}.viewer-header{padding:calc(8px + env(safe-area-inset-top)) 10px 10px;gap:7px}.viewer-heading h2{font-size:13px}#fileDownload{padding:9px 10px;font-size:11px;min-height:40px}#fileClose{width:38px;height:40px;min-height:40px}.file-body{padding-bottom:max(18px,env(safe-area-inset-bottom))}.document-view{padding:20px 16px;line-height:1.75;font-size:14px}.markdown h1{font-size:24px}.markdown h2{font-size:20px}.markdown h3{font-size:17px}.markdown table{font-size:12px}.markdown th,.markdown td{padding:9px;min-width:85px}.image-card{width:100%}.image-card img{max-height:280px}.pdf-view{padding:8px}.pdf-page{margin-bottom:9px}.image-view{padding:8px}.small-dialog{padding:16px}.small-dialog .muted{font-size:13px}.zoom-toolbar{gap:4px}#toast{bottom:110px}}
@media(max-height:500px){#workspaceBar{display:flex;gap:8px;padding-bottom:5px}#machines{width:auto;margin:0}#projects{min-width:120px}#projectPath,.composer-hint{display:none}.app-header{padding-block:4px}#conversation{padding-top:12px}footer{padding-top:4px}#status{min-height:12px;margin-bottom:2px}}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
.office-note{font-size:12px;color:var(--muted);padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;line-height:1.6}.office-slide{border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}.office-slide h2{margin-top:0}
.icon-button.primary{background:var(--accent);border-color:var(--accent);color:#10291c}.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#projectChats{min-height:36px;flex-shrink:0;padding:7px 10px;background:var(--soft);border:0;border-left:1px solid var(--line);border-radius:0;font-size:11px;color:var(--accent)}.thread-list-hint{font-size:13px;color:var(--muted);line-height:1.6;padding:10px 4px}.empty-state button{margin-top:10px}@media(max-width:360px){#projectChats{padding-inline:7px;font-size:10px}}
