:root{--bg:#0c1119;--panel:#151d29;--border:#263345;--text:#e6edf7;--muted:#8fa2ba;--accent:#63ddb2;--user:#163d36;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,textarea{font:inherit}button{cursor:pointer;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px}button:hover{border-color:#608179}button:disabled{opacity:.5;cursor:wait}button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button[hidden],[hidden]{display:none!important}#app{height:100dvh;max-width:1150px;margin:auto;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top,0px)) 18px 0;overflow:hidden}header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 14px}header small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.brand{font-size:13px;letter-spacing:1.5px}.brand span{color:var(--accent)}.badge{font-size:10px;border:1px solid var(--border);padding:4px 8px;border-radius:20px;white-space:nowrap;color:var(--muted)}.badge.live{color:var(--accent)}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}nav button{text-align:left;font-weight:650;padding:10px 12px}nav span{display:block;font-size:10px;color:var(--muted);font-weight:400}nav button.selected{border-color:var(--accent);background:#13302c;box-shadow:inset 0 -2px var(--accent)}.widgets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0}.widgets button{padding:8px 10px;text-align:left;min-width:0}.widgets small{font-size:8px;letter-spacing:.65px;color:var(--muted);display:block;white-space:nowrap}.widgets b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:6px;font-size:11px}.toolbar div{display:flex;gap:5px}.toolbar button{padding:5px 8px;font-size:11px}.danger{color:#ffabac}#messages{flex:1;overflow:auto;overscroll-behavior:contain;padding:14px 0;scroll-behavior:smooth;min-height:0}.message{margin-bottom:15px;max-width:94%;width:fit-content;min-width:120px}.message.user{margin-left:auto;max-width:85%}.bubble{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:12px 14px;overflow-wrap:anywhere;white-space:pre-wrap}.user .bubble{background:var(--user);border-color:#29554b;border-bottom-right-radius:3px}.assistant .bubble{border-bottom-left-radius:3px}.message .meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding:4px 2px}.message .reaction{margin-left:auto}.reaction button{font-size:11px;padding:1px 5px;border:0;background:none}.reaction button.on{background:#27554a}.message img{display:block;max-width:min(100%,600px);max-height:480px;border-radius:9px;margin-top:7px}.message a{color:var(--accent);white-space:normal}.mono .bubble{font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.empty{text-align:center;color:var(--muted);padding:60px 12px}.stamp{font-size:10px;color:var(--muted);text-align:center;margin:12px}footer{border-top:1px solid var(--border);background:var(--bg);padding:10px 0 calc(10px + var(--safe))}.compose{display:flex;align-items:flex-end;gap:7px;background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:6px}.compose textarea{resize:none;min-height:36px;max-height:160px;flex:1;color:var(--text);border:0;outline:none;background:none;padding:7px 4px}.attach{cursor:pointer;padding:4px 7px;font-size:24px;color:var(--muted)}#send{font-size:24px;line-height:28px;background:var(--accent);color:#0b211a;border:0;min-width:38px;padding:4px 7px}.composerBottom{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:9px;color:var(--muted)}.composerBottom button{font-size:10px;padding:3px 8px}.composerBottom .on{color:var(--accent);border-color:var(--accent)}#uploads{display:flex;gap:5px;overflow:auto;margin-bottom:5px}#uploads button{font-size:11px;white-space:nowrap}#gate{position:fixed;inset:0;background:var(--bg);z-index:10;display:grid;place-items:center;padding:30px;text-align:center}dialog{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:16px;width:min(92vw,780px);max-height:85dvh;padding:18px}dialog::backdrop{background:#000a}.modalHead{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:-18px;background:var(--bg);padding:5px 0 12px}#modalBody{white-space:pre-wrap;overflow-wrap:anywhere}#modalBody img{max-width:100%;border-radius:10px}#toast{position:fixed;bottom:140px;left:50%;transform:translateX(-50%);max-width:90vw;background:#304840;color:white;padding:10px 15px;border:1px solid #638b7d;border-radius:10px;z-index:30;font-size:12px;white-space:pre-wrap}#newMessages{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);box-shadow:0 3px 20px #0008}.article{border:1px solid var(--border);border-radius:10px;padding:12px;margin:10px 0;white-space:normal}.article small{display:block;color:var(--muted)}.article .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.article .body{white-space:pre-wrap;font-size:12px;margin-top:10px}.pending{color:var(--accent)}.error{color:#ffabac}pre{white-space:pre-wrap}a{color:var(--accent)}@media(max-width:580px){#app{padding-left:10px;padding-right:10px}.widgets{grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}.widgets button{padding:5px 7px}.widgets button:nth-child(n+4){grid-column:auto}.widgets small{font-size:7px}.widgets b{font-size:10px}.widgets button:nth-child(3){grid-row:span 2}.widgets button:nth-child(3) b{white-space:normal}.toolbar>span{font-size:10px}nav button{padding:8px;font-size:12px}header{padding-bottom:10px}.composerBottom span{font-size:8px}.bubble{padding:10px 11px;font-size:13px}.toolbar button{font-size:10px;padding:5px 7px}.message{max-width:98%}.badge{font-size:9px}.brand{font-size:11px}}

:root{color-scheme:dark}*{scrollbar-width:thin;scrollbar-color:#314537 #111b23}

#activity{padding:8px 4px;border-bottom:1px solid var(--border)}#activity b,#activity span{display:block}#activity b{font-size:12px;color:var(--accent)}#activity span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav .modelStatus{margin-top:4px;font-weight:650;color:var(--accent)}nav .modelStatus[data-state='Нет связи'],nav .modelStatus[data-state='Нужен вход'],nav .modelStatus[data-state='Нужна проверка']{color:#ffabac}
nav{grid-template-columns:repeat(4,minmax(0,1fr))}button,.badge,.bubble{transition:background-color .12s,border-color .12s,opacity .12s,transform .12s}button:active{transform:scale(.96)}.network{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.network:before{content:'';width:8px;height:8px;border-radius:50%;background:#ffabac}.network.online:before{background:#63ddb2;box-shadow:0 0 9px #63ddb266;animation:networkPulse 1s ease-in-out infinite}.network.connecting:before{background:#ffd279;animation:networkPulse .55s ease-in-out infinite}@keyframes networkPulse{50%{opacity:.45;transform:scale(.75)}}#terminalPanel{display:flex;flex:1;min-height:0;flex-direction:column;padding-top:10px}#terminalScreen{flex:1;min-height:0;background:#080e16;border:1px solid var(--border);padding:7px;border-radius:10px;overflow:hidden}.terminalHead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px}.terminalHead button{padding:4px 8px;font-size:10px}#terminalLast{font-size:9px;color:var(--muted);margin-right:auto}#terminalKeys{display:flex;gap:5px;overflow-x:auto;padding:8px 0}#terminalKeys button{font-size:11px;padding:7px 10px;flex-shrink:0}#terminalKeys .on{background:#24624f;border-color:var(--accent)}.terminalHint{color:var(--muted);font-size:9px;padding-bottom:calc(8px + var(--safe))}.terminal-open .widgets,.terminal-open>.toolbar,.terminal-open>#activity,.terminal-open>#messages,.terminal-open>#newMessages,.terminal-open>footer{display:none!important}.terminal-open #terminalPanel{display:flex}.modelStatus[data-state='Работает']::before{content:'● ';animation:networkPulse .7s infinite}.badge.live::before{content:'● ';color:var(--accent);animation:networkPulse 1s infinite}.message{animation:messageAppear .14s ease-out}@keyframes messageAppear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:580px){nav button{font-size:10px;padding:8px 5px}nav span{font-size:8px}.terminalHead{gap:5px}#terminalLast{font-size:8px}#terminalScreen{padding:4px}.terminalHead button{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
nav{grid-template-columns:repeat(5,minmax(0,1fr))}#browserPanel{display:flex;flex:1;min-height:0;flex-direction:column;padding-top:10px}.browserHead{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:10px}.browserHead small{font-size:9px;color:var(--muted);margin-right:auto}.browserHead button{font-size:10px;padding:5px 8px}#browserViewport{flex:1;min-height:0;overflow:auto;background:#05090e;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;touch-action:pan-x pan-y pinch-zoom}#browserFrame{display:block;max-width:100%;max-height:100%;object-fit:contain}#browserViewport.zoom{display:block}#browserViewport.zoom #browserFrame{max-width:none;max-height:none;width:1440px}#browserViewport:fullscreen{background:#000}#browserViewport:fullscreen img{width:100%;height:100%;object-fit:contain}.browser-open>.widgets,.browser-open>.toolbar,.browser-open>#activity,.browser-open>#messages,.browser-open>#newMessages,.browser-open>footer,.browser-open>#terminalPanel{display:none!important}@media(max-width:580px){nav button{font-size:9px;padding:8px 4px}nav span{font-size:7px}nav .modelStatus{font-size:8px}.browserHead .network{font-size:10px}.browserHead button{font-size:9px}}
.browser-landscape #browserPanel{position:fixed;inset:0;width:100dvw;height:100dvh;padding:calc(7px + env(safe-area-inset-top,0px)) 8px calc(5px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--bg)}.browser-landscape.browser-rotated #browserPanel{inset:auto;left:50%;top:50%;width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}.browser-landscape .browserHead{margin-bottom:5px;gap:6px}.browser-landscape #browserViewport{min-height:0}.browser-landscape .terminalHint{padding-bottom:0;font-size:8px}.browser-landscape .browserHead button{font-size:10px;padding:5px 9px}.browser-landscape #modal{z-index:100}.browser-landscape #toast{z-index:200}#browserScroll.on{border-color:var(--accent);background:#24624f}#browserFrame{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#remoteCursor{position:fixed;pointer-events:none;z-index:150;width:22px;height:22px;border:2px solid #63ddb2;border-radius:50%;transform:translate(-50%,-50%);opacity:0;box-shadow:0 0 10px #63ddb299;transition:opacity .12s}#remoteCursor.visible{opacity:1}
/* Compact workspace: all indicators remain actionable. */
#app{padding-top:calc(7px + env(safe-area-inset-top,0px));padding-left:12px;padding-right:12px}header{padding-bottom:7px;min-height:32px}header>div>small{display:none}.brand{font-size:10px;letter-spacing:1px}.headerTools{display:flex;align-items:center;gap:5px}.headerTools button{font-size:10px;min-height:30px;padding:4px 8px}.headerTools #focusMode{font-size:16px;padding:1px 8px}.headerTools .on{color:var(--accent);border-color:var(--accent)}nav{gap:5px}nav button{min-height:49px;padding:6px 7px;font-size:11px;white-space:nowrap;text-align:center}nav button>span:not(.modelStatus){display:none}nav .modelStatus{font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widgets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:7px 0}.widgets button{padding:5px 6px;min-height:43px}.widgets small{font-size:7px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis}.widgets b{font-size:10px;margin-top:1px}.widgets button:nth-child(3){grid-row:auto}.widgets button:nth-child(3) b{white-space:nowrap}.toolbar{padding:4px 0;min-height:35px}.toolbar>span{font-size:10px}.toolbar button{font-size:10px;min-height:29px;padding:4px 7px}#activity{display:flex;align-items:center;gap:7px;padding:6px 3px;min-height:32px;cursor:pointer}#activity b{font-size:10px;flex-shrink:0;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#activity span{font-size:10px;flex:1;min-width:0}#activity[data-active=true]:before{content:'';width:7px;height:7px;flex-shrink:0;background:var(--accent);border-radius:50%;animation:networkPulse .7s infinite}#messages{padding:9px 0}.message{margin-bottom:10px}.bubble{padding:10px 12px}.message .meta{flex-wrap:wrap;row-gap:2px}.copyMessage{font-size:9px;padding:0 4px;background:none;border:0;color:var(--muted)}footer{padding-top:6px;padding-bottom:calc(6px + var(--safe))}.compose{padding:4px}.composerBottom{margin-top:4px}.composerBottom button{min-height:27px}.focus-mode>.widgets{display:none}.focus-mode #activity{min-height:27px;padding:3px}.overviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;white-space:normal}.overviewHint{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0 0 3px}.overviewCard{text-align:left;min-height:60px}.overviewCard small{display:block;color:var(--muted);font-size:10px}.overviewCard b{display:block;font-size:12px;margin-top:4px}.networkDetails p{font-size:12px;white-space:pre-wrap}.codeBlock{margin:8px -3px;background:#090f17;border:1px solid var(--border);border-radius:8px;overflow:hidden;white-space:normal}.codeBar{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;color:var(--muted)}.codeBar button{padding:2px 7px;font-size:10px}.codeBlock pre{margin:0;padding:8px;white-space:pre;overflow:auto;font:11px/1.5 ui-monospace,monospace}#deliveryBanner{display:flex;gap:5px;align-items:center;margin-bottom:6px;padding:6px 8px;border:1px solid #756342;background:#30281b;border-radius:9px;font-size:10px;color:#ffe0a2}#deliveryText{flex:1}#deliveryBanner button{font-size:9px;padding:5px 6px}body[data-connection=reconnecting] .modelStatus,body[data-connection=reconnecting] .widgets{opacity:.6}body[data-connection=reconnecting] #connection{color:#ffd279}#connection:not(.live):before{content:'● ';animation:networkPulse .55s infinite}@media(max-width:580px){#app{padding-left:8px;padding-right:8px}.brand{font-size:9px}.headerTools{gap:4px}.headerTools button{font-size:9px;padding:4px 6px}nav button{font-size:9px;padding:6px 3px;min-height:47px}nav .modelStatus{font-size:8px}.widgets{gap:3px;margin:5px 0}.widgets button{padding:4px;min-height:42px}.widgets small{font-size:6px}.widgets b{font-size:10px}.toolbar>span{font-size:9px}.toolbar button{font-size:9px;padding:4px 6px}.bubble{font-size:13px}.composerBottom span{font-size:7px}.overviewGrid button{min-height:44px}}
.widgets small{font-size:8px;text-transform:none}.widgets b{font-size:11px}nav button{position:relative}nav button[data-pending=true]:after{content:'';position:absolute;right:5px;top:5px;width:6px;height:6px;background:#ffd279;border-radius:50%;box-shadow:0 0 6px #ffd27966}body[data-connection=reconnecting] #activity b:after{content:' · данные устарели';color:#ffd279}@media(max-width:580px){nav button{font-size:10px}.widgets small{font-size:8px}.widgets b{font-size:10px}.widgets button{min-height:44px}.composerBottom button{min-height:28px}}
.inlineCode{background:#090f17;border:1px solid var(--border);padding:1px 4px;border-radius:4px;font:11px ui-monospace,monospace}.bubble strong{font-weight:700;color:#f3f8ff}
#app{height:var(--workspace-height,100dvh)}
.message[data-seen=true]{animation:none}
#terminalSubtabs{display:flex;gap:6px;padding:6px;flex-shrink:0}#terminalSubtabs .selected{border-color:var(--accent);color:var(--accent)}#shellPane,#agentPane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#shellPane[hidden],#agentPane[hidden]{display:none}#agentPane{gap:5px;padding:0 6px 6px}.agentHead,.agentMetrics,.agentTaskBar,.agentCompose,#agentStdin{display:flex;gap:5px;align-items:center;flex-shrink:0}.agentHead select{flex:1;min-width:0}.agentMetrics{flex-wrap:wrap;font-size:11px}#agentCurrentModel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}#agentQueueDetails{flex-shrink:0;font-size:12px}#agentJobs{max-height:120px;overflow:auto;display:flex;flex-direction:column}#agentTask{flex:1;min-width:0}#agentScreen{flex:1;min-height:100px;background:#080e16;overflow:hidden}#agentFiles,#agentAttachments{display:flex;gap:5px;max-height:64px;overflow:auto;flex-shrink:0}#agentFiles a{font-size:12px}#agentProcessInput{flex:1;min-width:0}.agentCompose textarea{flex:1;min-width:0;resize:none;max-height:110px}.agentCompose label{padding:10px;cursor:pointer}#agentNotice{font-size:12px;color:#ffd47a;flex-shrink:0}.agentChatTools{display:none;gap:5px}#app[data-route=cheaper] .agentChatTools{display:flex}.agentChatTools button{padding:3px 6px;font-size:11px}.agentTaskBar button,#agentStdin button{font-size:11px;padding:7px 5px}#agentPane .terminalHint{font-size:10px;margin:0}
#agentPane input,#agentPane textarea,#agentPane select{background:#111e2b;color:#e6edf7;border:1px solid var(--border);border-radius:7px;padding:6px;font:inherit;font-size:12px}#agentPane select{max-width:100%}#agentStdin input{font-size:11px}#agentPane .danger{color:#ffabac}#agentNotice[hidden]{display:none}
/* Driver controls; whip lives next to the composer, not in this row. */
#driverBar{display:flex;align-items:center;gap:8px;padding:0 0 8px;flex-shrink:0}#driverToggle{font-size:11px;padding:5px 9px;white-space:nowrap}#driverToggle[aria-checked="true"]{border-color:var(--accent);background:#163d36}#driverHint{font-size:9px;color:var(--muted);flex:1;min-width:0}#driverContext{font-size:10px;padding:5px 8px}
footer{position:relative}#messages{padding-bottom:58px}#whip{position:absolute;right:6px;bottom:calc(100% + 7px);width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:11px;border:1px solid #ad8b4f;background:var(--panel);font-size:24px;line-height:1;z-index:6;box-shadow:0 2px 9px #0004;touch-action:manipulation}#whip[data-level]::after{content:attr(data-level);position:absolute;right:-3px;top:-4px;min-width:15px;height:15px;border-radius:8px;background:var(--accent);color:#0b211a;font-size:10px;font-weight:700;display:grid;place-items:center}#whip.strike{animation:whipStrike .22s ease-out}@keyframes whipStrike{25%{transform:rotate(-15deg) scale(1.12);background:#715027}65%{transform:rotate(10deg)}}
@media(max-width:580px){#driverBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px}#driverToggle{min-width:0;white-space:normal;font-size:10px;line-height:1.2}#driverHint{grid-column:1/-1;grid-row:2;font-size:8px;line-height:1.1}#driverContext{font-size:10px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){#whip.strike{animation:none}}

#whip{color:#edc17b}#whip svg{pointer-events:none}

#whipStatus{position:absolute;right:58px;bottom:calc(100% + 17px);max-width:min(240px,70vw);padding:4px 9px;border:1px solid var(--border);border-radius:9px;background:var(--panel);font-size:10px;line-height:16px;z-index:6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Android already applies system-bar/IME insets around the WebView. */
body.android-app{--safe:0px}body.android-app #app{padding-top:6px;height:var(--workspace-height,100dvh)}
body.android-app header{padding-right:44px;min-height:40px;padding-bottom:4px}
body.android-app footer{padding-bottom:4px}body.android-app #articleMode{display:none}
body.android-app .composerBottom>span{display:none}
body.android-app .composerBottom:has(.agentChatTools:not(:empty)){margin-top:0}
body.android-app #app:not([data-route=cheaper]) .composerBottom{display:none}
