:root{color-scheme:dark;--bg:#17191b;--panel:#111315;--surface:#222528;--line:#34383b;--text:#eceeec;--muted:#969e9e;--accent:#b5dec5;--error:#ffa6a0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 15px;transition:background .15s}button:hover{background:#303538}button:disabled{opacity:.45;cursor:wait}.primary{background:var(--accent);color:#183527;border-color:var(--accent);font-weight:650}.primary:hover{background:#c4ead2}button.quiet{background:transparent;border:0;color:var(--muted)}.icon{border:0;background:transparent;font-size:24px;padding:4px 10px}.muted,small{color:var(--muted);line-height:1.65}small{display:block;font-size:12px}.error{color:var(--error);line-height:1.5}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--muted);font-weight:650}.brand-icon{width:56px;height:56px;border:1px solid #4a6756;border-radius:18px;display:grid;place-items:center;color:var(--accent);font-size:34px;margin-bottom:25px}h1{font-size:36px;font-weight:550;letter-spacing:-.04em;margin:12px 0}h2{font-size:26px;margin:0}h3{font-size:16px;font-weight:600}label{display:block;font-size:13px;color:var(--muted);margin:16px 0}input,textarea,select{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px}input{display:block;width:100%;margin-top:8px}textarea{display:block;width:100%;resize:vertical;line-height:1.6;margin-top:8px}a{color:var(--accent)}[hidden]{display:none!important}.center-screen{min-height:100dvh;display:grid;place-items:center;padding:25px}.login-card{width:min(400px,100%)}.login-card .primary{width:100%;margin:8px 0 20px}.login-card .brand-icon{margin:0 0 30px}#app{display:flex;height:100dvh;overflow:hidden}aside{width:264px;flex:none;background:var(--panel);padding:24px 16px 12px;display:flex;flex-direction:column;border-right:1px solid #25282b}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;padding:0 8px 28px}.brand span{font-size:28px;color:var(--accent)}.new-chat{width:100%;text-align:left;background:transparent;border-color:#414b44}.list-label{margin:28px 10px 12px}#chat-list{flex:1;overflow-y:auto}.chat-row{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;background:transparent;border:0;text-align:left;color:#aeb5b3;margin-bottom:4px;font-size:13px}.chat-row.selected{background:#242c28;color:#d5ebdc}.sidebar-bottom{border-top:1px solid var(--line);padding-top:12px;display:flex;gap:3px}.sidebar-bottom button{background:transparent;border:0;font-size:13px;color:var(--muted)}main{flex:1;min-width:0;display:flex;flex-direction:column}header{height:82px;flex:none;padding:22px 34px;display:flex;align-items:center;gap:12px;justify-content:space-between}header strong{font-size:14px;font-weight:500}header small{font-size:11px;margin-top:4px}#chat-title{display:block;max-width:50vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#conversation{flex:1;overflow-y:auto;scroll-behavior:smooth;padding:0 30px}#welcome{max-width:720px;width:100%;margin:clamp(25px,10vh,110px) auto 30px}#welcome h1{font-size:44px}#welcome .muted{font-size:16px}.suggestions{display:flex;gap:10px;margin-top:35px}.suggestions button{text-align:left;background:transparent;font-size:13px;color:#b3bbb6;padding:18px}#messages{max-width:780px;margin:auto;padding-bottom:25px}.message{padding:20px 0;line-height:1.8}.message.user{margin:15px 0 15px auto;padding:14px 20px;max-width:85%;width:fit-content;background:#2b302e;border-radius:18px 18px 4px 18px}.message .role{font-size:10px;letter-spacing:.15em;font-weight:650;color:var(--accent);margin-bottom:10px}.message.user .role{display:none}.message .text{white-space:pre-wrap;overflow-wrap:anywhere}.message pre{white-space:pre;overflow-x:auto;background:#0c0f10;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:13px;line-height:1.7}.message code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#292e2b;padding:1px 5px;border-radius:4px}.message pre code{background:transparent;padding:0}.code-label{font-size:11px;opacity:.5;margin-bottom:8px}.copy{font-size:11px;padding:3px 8px;background:transparent;color:var(--muted);margin-top:10px}.typing{color:var(--accent);font-size:13px;padding:12px 0}.composer-area{max-width:840px;width:100%;margin:0 auto;padding:0 30px 15px}#notice{font-size:13px;max-height:100px;overflow-y:auto;margin:0 0 10px}#composer{background:#222628;border:1px solid #414846;border-radius:19px;padding:10px 12px}#prompt{border:0;resize:none;background:transparent;max-height:220px;min-height:65px;padding:5px 7px;margin:0}#prompt:focus{outline:0}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.selectors{display:flex;min-width:0;gap:6px}.selectors select{font-size:11px;background:transparent;border:0;padding:8px 4px;max-width:260px;min-width:0}.selectors option{background:#222528}.send{font-size:23px;line-height:1;padding:8px 13px;border-radius:12px;background:var(--accent);color:#163526}.footnote{text-align:center;font-size:10px;margin-top:10px;color:#77817b}dialog{width:min(590px,calc(100% - 24px));max-height:90dvh;overflow:auto;background:#1d2122;color:var(--text);border:1px solid var(--line);border-radius:20px;padding:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal-top .eyebrow{margin:0 0 8px}dialog section{border-top:1px solid var(--line);margin-top:25px;padding-top:8px}dialog small{margin-top:14px}.button-row{display:flex;gap:10px}.device-code{font-family:monospace;font-size:26px;color:var(--accent);letter-spacing:.12em}#device{padding:16px;margin-top:18px;border:1px solid #4a6756;border-radius:12px}#device p{font-size:13px}#device .device-code{font-size:26px}#cancel-login{margin-top:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #4a6756;background:#29392f;border-radius:12px;z-index:10;max-width:90%;font-size:13px}.mobile{display:none}@media(max-width:760px){aside{position:fixed;inset:0 auto 0 0;z-index:5;width:280px;box-shadow:20px 0 80px #0009;transform:translateX(-110%);transition:transform .2s}aside.open{transform:translateX(0)}.mobile{display:block}.brand{padding-bottom:22px}.brand .mobile{margin-left:auto}header{height:76px;padding:14px 15px;justify-content:flex-start}header .quiet{margin-left:auto;font-size:11px;padding:5px}#conversation{padding:0 18px}#welcome{margin-top:7vh}#welcome h1{font-size:36px}.suggestions{flex-direction:column;margin-top:25px}.suggestions button{padding:13px}.composer-area{padding:0 12px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.selectors select{max-width:43vw;font-size:10px}#effort{max-width:24vw}.footnote{font-size:9px}.message{font-size:14px}.message.user{max-width:93%}dialog{padding:20px}}

/* Workspace refinements: calm motion, compact activity, and consistent pickers. */
:root{--bg:#191b1d;--panel:#131517;--surface:#242729;--line:#363b3d;--accent:#b7e2c9;--focus:#8ecfaf}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
button{transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
button:not(:disabled):active{transform:translateY(1px)}
button:disabled{cursor:not-allowed}
#app main{background:radial-gradient(ellipse at 50% 0,#a2d8b805,transparent 55%)}
.brand{letter-spacing:-.025em}.brand span{filter:drop-shadow(0 0 12px #b7e2c922)}
.new-chat{display:flex;align-items:center;border-color:#3b4a42;background:#b7e2c906;border-radius:12px;padding:13px 15px}
.new-chat:hover{border-color:#789986;background:#b7e2c90d}
.chat-row{border-radius:9px;padding:12px;transition:background .18s,color .18s}
.chat-row.selected{box-shadow:inset 2px 0 var(--accent)}
header{border-bottom:1px solid #ffffff06;height:78px}
#connection{max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#conversation{overscroll-behavior:contain;scrollbar-gutter:stable}
#welcome{animation:enter .5s both}#welcome .brand-icon{background:linear-gradient(145deg,#b7e2c910,#b7e2c902);box-shadow:0 8px 40px #0002}
#welcome h1{letter-spacing:-.045em}.suggestions button{border-color:#ffffff13;border-radius:14px;transition:border-color .2s,background .2s,transform .2s}
.suggestions button:hover{transform:translateY(-2px);border-color:#b7e2c950;background:#b7e2c906}
.message{animation:enter .24s both}.message.user{border:1px solid #ffffff08;background:#2a302d;box-shadow:0 3px 14px #0001}
.message-content{min-width:0}.message .text{line-height:1.8}
.message.activity{padding:0;margin:10px 0;border:1px solid #ffffff10;border-radius:12px;background:#10141555;color:#aebbb4;animation:enter .2s both}
.activity>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px 14px;list-style:none;font-size:12px;line-height:1.6;user-select:none}
.activity>summary::-webkit-details-marker{display:none}
.activity>summary::before{content:'›';color:var(--accent);font-size:19px;line-height:1;transition:transform .2s}
.activity[open]>summary::before{transform:rotate(90deg)}
.activity-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit}
.activity-badge{font-size:10px;color:#7e8d84;flex-shrink:0}
.activity[open]>summary{border-bottom:1px solid #ffffff0a;color:var(--accent)}
.activity>.message-content{padding:12px 17px;font-size:12px;max-height:380px;overflow:auto}
.activity .text{color:#bdc7c0}.activity pre{font-size:11px;margin:6px 0}
.activity.tool .text{font:11px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace}
.activity.plan{border-color:#b7e2c925}.activity.plan .text{color:#d3dfd7}
.composer-area{padding-top:8px;background:linear-gradient(transparent,var(--bg) 30%);position:relative}
#composer{background:#24282a;border-color:#46514b;box-shadow:0 12px 40px #0002;transition:border-color .2s,box-shadow .2s;position:relative}
#composer:focus-within{border-color:#7d9b8b;box-shadow:0 0 0 3px #b7e2c907,0 12px 40px #0002}
#prompt{font-size:15px;min-height:68px;line-height:1.65}#prompt::placeholder{color:#87928c;font-size:14px}
.composer-bottom{gap:8px;align-items:flex-end}.selectors{flex-wrap:wrap;gap:3px;align-items:center;flex:1}
.composer-actions{display:flex;align-items:center;gap:8px;flex:none;padding-bottom:2px}
.send{width:37px;height:37px;border:0;display:grid;place-items:center;padding:0;box-shadow:0 2px 10px #0002}
.send:hover{background:#ceeedb;box-shadow:0 0 18px #b7e2c91c}
#stop{width:35px;height:35px;padding:0;border-radius:11px;background:transparent;border-color:#6d7b72;color:#c0cdc5;font-size:13px}
#stop:hover{background:#ffb1a910;border-color:#d99a91;color:#ffb1a9}
.work-status{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--accent);padding:0 5px 12px;animation:enter .2s both}
.status-hint{margin-left:auto;font-size:11px;color:var(--muted)}
.status-orbit{width:13px;height:13px;border:1.5px solid #b7e2c92a;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:orbit 1.1s linear infinite;flex:none}
.footnote{line-height:1.5;color:#818e86;font-size:10px;margin-top:11px}
.picker{position:relative;max-width:100%;min-width:0}
.native-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important;padding:0!important;border:0!important}
.picker-trigger{font-size:11px;line-height:1.6;padding:6px 9px;background:transparent;border:1px solid transparent;color:#aebdb4;border-radius:8px;max-width:230px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block}
.picker-trigger:hover,.picker-trigger[aria-expanded=true]{color:#e1ece5;background:#b7e2c90b;border-color:#b7e2c91a}
.picker-panel{position:absolute;bottom:calc(100% + 14px);left:0;width:320px;max-width:calc(100vw - 40px);border:1px solid #4c5c52;border-radius:15px;background:#202624;box-shadow:0 18px 65px #0008;z-index:20;padding:7px;animation:popup .14s both}
.picker-caption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#92a497;padding:9px 10px 7px;font-weight:600}
.picker-search{background:#151c18;border-color:#3c4b42;font-size:12px;border-radius:9px;padding:9px 11px;margin:2px 0 6px}
.picker-options{max-height:min(330px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.picker-option{display:block;width:100%;text-align:left;padding:10px 11px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:12px;position:relative}
.picker-option>span{display:block;padding-right:20px}.picker-option>small{font-size:10px;line-height:1.5;color:#95a69b;margin:3px 20px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.picker-option:hover,.picker-option:focus-visible{background:#b7e2c90b;outline-offset:-2px}
.picker-option[aria-selected=true]{background:#b7e2c911;color:var(--accent)}
.picker-option[aria-selected=true]::after{content:'✓';position:absolute;right:10px;top:10px;color:var(--accent)}
.picker-empty{padding:10px;color:var(--muted);font-size:12px}
.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading button{font-size:12px;padding:6px}
.skills-catalog{max-height:240px;overflow:auto;margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:5px}
.skills-catalog details{padding:8px 10px;font-size:12px;border-bottom:1px solid #ffffff08}.skills-catalog details:last-child{border:0}
.skills-catalog summary{cursor:pointer;color:#c4d2c9}.skills-catalog p{font-size:11px;color:var(--muted);line-height:1.65}.skills-catalog small{font-size:10px}
dialog[open]{animation:popup .2s both;box-shadow:0 20px 90px #0005}.button-row{flex-wrap:wrap}dialog p.muted{font-size:13px;line-height:1.75}
#toast{animation:toast-in .18s both;z-index:40}
.sidebar-backdrop{display:none}
@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes popup{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes toast-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:760px){
 header{height:72px}.composer-area{padding-top:7px}.selectors{gap:0;max-width:calc(100% - 80px)}
 .picker-trigger{font-size:10px;padding:6px;max-width:38vw}.picker-panel{position:fixed;bottom:190px;left:12px;width:calc(100vw - 24px);max-width:none}
 .picker-options{max-height:min(320px,40dvh)}.status-hint{display:none}#prompt{font-size:16px}#prompt::placeholder{font-size:13px}
 .work-status{font-size:11px}.footnote{font-size:9px}.activity>summary{padding:10px;font-size:11px}.activity-badge{display:none}
 aside{transition:transform .24s cubic-bezier(.2,.8,.2,1);z-index:31}
 .sidebar-backdrop{display:block;position:fixed;inset:0;border:0;border-radius:0;background:#0007;backdrop-filter:blur(3px);z-index:30}
 .sidebar-backdrop:active{transform:none!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Instant chat positioning: never animate the trip through a long history. */
#conversation{scroll-behavior:auto!important}.message.history-message{animation:none}
.header-title{flex:1;min-width:0}.header-title #chat-title,.header-title #connection{max-width:100%}
.header-tools{display:flex;align-items:center;gap:12px;flex:none}
.quota-popover{position:relative;font-size:12px;z-index:24}
.quota-popover>summary{list-style:none;cursor:pointer;padding:9px 12px;border:1px solid #b7e2c922;border-radius:11px;background:#b7e2c905;color:#c3d6c9;user-select:none}
.quota-popover>summary::-webkit-details-marker{display:none}#quota-summary{font-size:10px;display:block;color:#91b49d;margin-top:3px}
.quota-panel{position:absolute;right:0;top:calc(100% + 10px);width:330px;max-width:calc(100vw - 24px);border:1px solid #4c5c52;border-radius:15px;background:#202624;box-shadow:0 18px 65px #0008;padding:16px;animation:popup .14s both;max-height:70dvh;overflow:auto}
.quota-panel h3{margin:0}.quota-panel button{padding:5px;font-size:11px}.quota-panel>small{font-size:10px;line-height:1.6}
.quota-bucket{margin-top:17px}.quota-bucket>strong{font-size:11px;color:#b7d1c0;font-weight:550}
.quota-window{margin:12px 0 16px}.quota-line{display:flex;justify-content:space-between;gap:10px;font-size:12px}.quota-line strong{color:var(--accent);font-weight:550}
.quota-window progress{display:block;width:100%;height:5px;margin:9px 0;border:0;border-radius:5px;appearance:none;background:#3b4840;accent-color:var(--accent)}
.quota-window progress::-webkit-progress-bar{background:#3b4840;border-radius:5px}.quota-window progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.quota-window progress::-moz-progress-bar{background:var(--accent);border-radius:5px}
.quota-window small,#quota-message{font-size:10px;line-height:1.6;color:#9aada1}#quota-message{margin:12px 0}
.attach{display:grid;place-items:center;padding:7px;border:1px solid transparent;background:transparent;color:#a5b5ac;flex:none;border-radius:8px;margin-bottom:3px}
.attach:hover{color:var(--accent);border-color:#b7e2c928;background:#b7e2c909}
.drag-files{outline:2px dashed var(--accent);outline-offset:3px}
.pending-files{display:flex;gap:7px;flex-wrap:wrap;padding:5px 5px 10px;max-height:170px;overflow:auto}
.pending-file{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;position:relative;padding:9px 11px;border-radius:10px;border:1px solid #b7e2c92b;background:#18241c;max-width:230px;min-width:130px}
.pending-file>span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;grid-column:1}.pending-file small{font-size:9px;grid-column:1}
.pending-file button{grid-column:2;grid-row:1/3;align-self:center;background:none;border:0;padding:2px;color:#9fb4a6;font-size:18px}
.message-files{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.file-card{max-width:100%;min-width:205px;border:1px solid #79978538;background:#18221c;border-radius:12px;padding:11px 13px}
.file-heading strong{display:block;font-size:12px;font-weight:550;max-width:350px;overflow-wrap:anywhere;line-height:1.5}.file-heading small{font-size:10px;color:#91a297}
.file-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.file-actions button{font-size:10px;border-radius:6px;padding:4px 8px;background:transparent;border-color:#69897742;color:#b4cfbe}
.attachment-image{display:block;margin-top:12px;max-width:100%;max-height:320px;border-radius:7px;object-fit:contain}
@media(max-width:760px){
 .header-tools{gap:7px}header{padding-left:10px;padding-right:12px;gap:6px}#delete-chat{font-size:0;padding:5px!important}#delete-chat::after{content:'×';font-size:21px}
 .quota-popover>summary{font-size:11px;padding:7px 9px}.quota-panel{position:fixed;right:12px;top:80px;width:330px}#quota-summary{font-size:9px}
 .composer-bottom{align-items:flex-end}.selectors{max-width:calc(100% - 112px);flex:1}.picker-trigger{max-width:34vw}.attach{padding:7px 4px;margin-bottom:4px}
 .pending-file{min-width:120px;max-width:calc(50% - 5px)}.file-card{min-width:170px}.picker-panel{bottom:200px}
}
