:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#e5e9f0;background:#101318;color-scheme:dark;font-synthesis:none;line-height:1.5;--muted: #9ba5b5;--border: #2b313b;--accent: #92e6c3}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;min-height:44px;border:1px solid transparent;border-radius:10px;padding:10px 16px;background:var(--accent);color:#102b21;font-weight:650}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;background:#171c24;color:#e5e9f0;min-height:44px;padding:10px 12px}input[type=checkbox]{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:-2px}.secondary{color:#d5deec;background:transparent;border-color:var(--border)}.icon-button{padding:8px;min-width:44px;flex-shrink:0}.text-button{color:var(--accent);background:transparent;padding:6px 8px;font-size:.8rem;overflow-wrap:anywhere}.muted,.hint{color:var(--muted)}.hint{font-size:.78rem}.eyebrow{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.12em}.stack{display:flex;flex-direction:column;gap:10px}.panel{border:1px solid var(--border);border-radius:16px;padding:24px;background:#181e27}.login{max-width:480px;margin:auto;padding:10vh 24px 24px}.login h1{font-size:2.6rem;line-height:1.1;letter-spacing:-.05em}.login .panel{margin-top:28px}.app-shell{height:var(--app-height, 100dvh);display:grid;grid-template-columns:292px minmax(0,1fr);overflow:hidden}.sidebar{min-height:0;display:flex;flex-direction:column;background:#171b22;border-right:1px solid var(--border);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left)}.sidebar-top{padding:22px 18px 0}.brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:1.25rem;letter-spacing:-.04em}.brand-icon,.welcome-icon{display:grid;place-items:center;background:var(--accent);color:#102b21;font-weight:800;border-radius:11px;width:34px;height:34px;font-size:1.6rem}.brand .icon-button{margin-left:auto}.project-row{display:flex;gap:6px;margin-top:8px}.project-row select{flex:1}.project-path{font-family:ui-monospace,monospace;color:var(--muted);font-size:.72rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:8px 2px 14px}.new-session{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:18px;gap:6px;font-size:.88rem}kbd{font-family:inherit;font-size:.67rem;font-weight:500;opacity:.7;white-space:nowrap}#session-search{font-size:.82rem;background:#11151c}.list-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.1em;padding:22px 2px 10px}.session-list{min-height:0;flex:1;overflow:auto;padding:0 10px 12px;overscroll-behavior:contain}.session-item{width:100%;display:block;text-align:left;background:transparent;color:#c6cfdd;border:1px solid transparent;padding:13px 12px;margin:3px 0}.session-item.chosen{background:#26382f;border-color:#3b5c4a;color:#effaf4}.session-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:550}.session-meta{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--muted);font-size:.67rem;font-weight:400}.session-meta time{margin-left:auto}.status-dot{width:6px;height:6px;border-radius:50%;background:#737f91;flex-shrink:0}.status-dot[data-status=running]{background:#8dbbff}.status-dot[data-status=awaiting_confirmation]{background:#edc783}.status-dot[data-status=finished]{background:#7baa96}.list-empty,.list-limit{padding:8px 12px}.list-limit{opacity:.65;font-size:.66rem}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--border);font-size:.73rem;color:var(--muted)}.sidebar-bottom button{padding:6px 10px}.connected{color:var(--accent)}.chat{min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 30%,#18221e55,transparent 70%),#101318;padding-right:env(safe-area-inset-right)}.chat-header{display:flex;align-items:center;gap:14px;flex-shrink:0;padding:max(16px,env(safe-area-inset-top)) 28px 16px;border-bottom:1px solid var(--border);background:#13171de8}.chat-heading{min-width:0;flex:1}.chat-heading h1{font-size:1rem;margin:0;font-weight:650;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-heading p{margin:3px 0 0;color:var(--muted);font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-heading p span{opacity:.7}.notices{flex-shrink:0;max-height:22%;overflow:auto}.error,.notice{padding:10px 14px;font-size:.8rem;border-radius:8px;overflow-wrap:anywhere;margin:8px 0}.error{color:#ffcdcd;background:#3d252c}.notice{color:#efdab0;background:#30291e}.notices>p{margin:6px 16px}.notices button{min-height:32px;padding-block:2px}.thread{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:28px max(24px,calc((100% - 860px)/2));scrollbar-gutter:stable}.welcome{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;max-width:510px;margin:auto;padding:32px 0}.welcome-icon{width:58px;height:58px;border-radius:18px;font-size:2.5rem;margin-bottom:12px}.welcome h2{font-size:clamp(1.25rem,3vw,1.9rem);letter-spacing:-.04em;margin:12px 0}.welcome p{color:var(--muted);font-size:.9rem;margin:0 0 20px}.welcome-hints{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}.welcome-hints span{color:#87988e;border:1px solid #28392f;border-radius:20px;padding:6px 10px;font-size:.66rem}.chat-turn{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.bubble{min-width:0;max-width:92%;padding:16px 18px;border-radius:16px;overflow-wrap:anywhere}.user-bubble{align-self:flex-end;background:#294438;border:1px solid #365a47;border-bottom-right-radius:4px}.user-bubble p{white-space:pre-wrap;margin:8px 0 0;font-size:.9rem}.assistant-bubble{align-self:flex-start;width:100%;background:#1a1f27;border:1px solid #2b333f;border-bottom-left-radius:4px}.bubble-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between;color:#a5b8ad;font-size:.63rem;letter-spacing:.05em;font-weight:700}.bubble-label time{color:#97ad9f;font-size:.62rem;letter-spacing:0;font-weight:400}.badge{color:#afbdcf;background:#2a3442;padding:3px 7px;border-radius:6px;letter-spacing:0;font-size:.65rem}.badge[data-status=awaiting_confirmation]{color:#efd19a;background:#473c26}.badge[data-status=running]{color:#b4d3ff;background:#283c57}.badge[data-status=finished]{color:#a4d4bb;background:#293e32}pre{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}.chat-output{margin:14px 0 4px;line-height:1.65}.stderr{color:#e9b8ac}details{margin-top:12px;font-size:.8rem;color:var(--muted)}summary{cursor:pointer;min-height:36px;padding-block:8px}.turn-outcome{margin-top:12px;font-size:.68rem;color:var(--muted)}.bubble-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.bubble-actions:empty{display:none}.bubble-actions .secondary{font-size:.76rem;padding:8px 12px}.empty-state{text-align:center;padding:40px 10px;color:var(--muted)}.load-older{display:block;margin:0 auto 24px;font-size:.8rem}.composer{flex-shrink:0;padding:12px max(24px,calc((100% - 860px)/2)) max(12px,env(safe-area-inset-bottom));background:#101318;border-top:1px solid #202630}.composer-context{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.7rem;color:var(--muted);margin-bottom:6px}.composer-context .text-button{font-size:.7rem}.acknowledgement{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#d8c69b;margin:6px 0 12px}.message-box{border:1px solid #3b4c42;border-radius:14px;background:#1a211e;padding:6px;display:flex;align-items:flex-end;gap:6px}.message-box:focus-within{border-color:#86c8a7}.message-box textarea{border:0;background:transparent;resize:none;max-height:20dvh;min-height:60px;font-size:1rem;padding:10px;outline:none}.message-box textarea:disabled{color:var(--muted)}.compose-actions{display:flex;gap:6px;padding:0 3px 3px 0}.compose-actions button{min-width:44px;padding:8px}.send-button{font-size:1.2rem}.composer-footer{display:flex;justify-content:space-between;gap:12px;font-size:.62rem;color:#86958c;margin:7px 2px 0}.composer-footer>:last-child{white-space:nowrap}.skill-menu{padding:6px 0}.skill-menu button{width:100%;text-align:left;font-size:.8rem}.skill-menu span{display:block;font-size:.7rem;color:var(--muted)}dialog{background:#191f28;color:#e5e9f0;border:1px solid #3b4859;border-radius:18px;padding:24px;width:min(520px,calc(100% - 24px));max-height:min(90dvh,var(--app-height, 90dvh));overflow:auto}dialog::backdrop{background:#000a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.dialog-heading h2{font-size:1.1rem;margin:0}.dialog-heading>div{display:flex;gap:8px}.command-list{display:flex;flex-direction:column;gap:8px}.command-list>button{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}.command-list form button{width:100%}.output-dialog{width:min(960px,calc(100% - 24px))}.output-dialog pre{border:1px solid var(--border);border-radius:10px;padding:16px;background:#101318;max-height:60dvh;overflow:auto}.mobile-only,.nav-backdrop{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:760px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.sidebar.drawer-open{display:flex;position:fixed;left:0;top:0;width:min(310px,calc(100% - 36px));height:var(--app-height, 100dvh);z-index:20;box-shadow:20px 0 80px #0007}.nav-backdrop{display:block;position:fixed;inset:0;background:#0008;z-index:19;border:0;border-radius:0}.mobile-only{display:inline-block}.chat-header{padding:max(10px,env(safe-area-inset-top)) 12px 10px;gap:10px}.chat-heading p span{display:none}.thread{padding:20px 12px;scrollbar-gutter:auto}.bubble{max-width:96%;padding:12px 14px}.composer{padding:10px 12px max(10px,env(safe-area-inset-bottom))}.composer-context{align-items:flex-start}.composer-context>span{display:none}.composer-context .text-button{padding:0;min-height:32px}.message-box{flex-direction:column;align-items:stretch;gap:0}.message-box textarea{min-height:56px;height:64px;padding:8px}.compose-actions{justify-content:space-between;padding:0 2px 2px}.acknowledgement{font-size:.7rem;margin:0 0 8px}.composer-footer{font-size:.57rem}.welcome-hints{display:none}.notices>p{margin:4px 12px}dialog{padding:18px}}@media(max-height:520px){.sidebar-top{padding-top:10px}.brand{margin-bottom:8px}.project-path{padding-bottom:4px}.new-session{margin-bottom:6px}.list-heading{padding-top:8px}.chat-header{padding-block:8px}.message-box textarea{height:44px;min-height:44px}.message-box{flex-direction:row;align-items:flex-end}.composer-context,.composer-footer{display:none}.compose-actions{justify-content:flex-end}.composer{padding-block:6px}.welcome{padding-block:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
