:root{--bg: #09080f;--bg-raised: rgba(255, 255, 255, .03);--bg-panel: rgba(22, 18, 34, .72);--bg-chip: rgba(139, 124, 247, .06);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #ece9f7;--text-dim: #9b93b8;--text-faint: #6f688c;--accent: #a293ff;--accent-strong: #6d5ae8;--accent-soft: rgba(139, 124, 247, .14);--danger: #f77c9b;--ok: #6fe3a5;--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--radius: 12px;--col: 760px;--ease: cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:#8b7cf752}.app{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(560px 320px at 50% -80px,rgba(109,90,232,.22),transparent 70%),radial-gradient(800px 500px at 80% 110%,rgba(139,124,247,.07),transparent 70%);z-index:0}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);background:#09080fb8;border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top,0)}.topbar-inner{max-width:calc(var(--col) + 48px);margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brand-name{font-weight:650;font-size:.95rem;letter-spacing:.01em}.topnav{display:flex;align-items:center;gap:8px}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-dim);transition:color .15s var(--ease),background .15s var(--ease)}.nav-icon:hover{color:var(--text);background:var(--bg-raised)}.nav-link{color:var(--text-dim);text-decoration:none;font-size:.8rem;font-family:var(--mono);padding:6px 10px;border-radius:8px;transition:color .15s var(--ease),background .15s var(--ease)}.nav-link:hover{color:var(--text);background:var(--bg-raised)}.hire-pill{display:inline-flex;align-items:center;font-size:.8rem;font-weight:600;color:#fff;text-decoration:none;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 0 0 1px #ffffff1a inset,0 4px 16px #6d5ae859;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.hire-pill:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff29 inset,0 6px 20px #6d5ae880}.stream{flex:1;overflow-y:auto;z-index:1;scrollbar-width:thin;scrollbar-color:rgba(139,124,247,.25) transparent}.stream-inner{max-width:var(--col);margin:0 auto;padding:32px 24px 24px;display:flex;flex-direction:column;gap:28px;min-height:100%}.empty{margin:auto 0;text-align:center;padding:48px 8px 24px;animation:rise .5s var(--ease) both}.empty-mark{display:inline-flex;padding:16px;border-radius:20px;background:var(--bg-chip);border:1px solid var(--border);box-shadow:0 0 48px #6d5ae840;margin-bottom:20px}.empty h1{font-size:1.7rem;font-weight:650;letter-spacing:-.02em;margin:0 0 10px;background:linear-gradient(180deg,#fff,#b7aee6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.empty p{color:var(--text-dim);max-width:460px;margin:0 auto 32px;font-size:.95rem}.starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}.starter{display:flex;flex-direction:column;gap:4px;background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font:inherit;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.starter:hover{border-color:#8b7cf773;background:var(--accent-soft);transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.starter-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}.starter-prompt{font-size:.88rem;color:var(--text-dim);line-height:1.45}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg{animation:rise .3s var(--ease) both}.msg.user{display:flex;justify-content:flex-end}.bubble{max-width:78%;background:linear-gradient(135deg,#8b7cf72e,#6d5ae81f);border:1px solid rgba(139,124,247,.3);border-radius:16px 16px 4px;padding:10px 16px;overflow-wrap:anywhere;font-size:.95rem}.bubble p{margin:0}.msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:var(--bg-chip);border:1px solid var(--border)}.msg-author{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.prose{overflow-wrap:anywhere;font-size:.95rem;line-height:1.7}.prose p{margin:0 0 12px}.prose p:last-child,.prose ul:last-child,.prose pre:last-child{margin-bottom:0}.prose h4{margin:20px 0 8px;font-size:1rem;color:var(--accent);letter-spacing:-.01em}.prose h4:first-child{margin-top:0}.prose ul{margin:0 0 12px;padding-left:22px}.prose li{margin-bottom:4px}.prose li::marker{color:var(--accent)}.prose code{font-family:var(--mono);font-size:.85em;background:var(--bg-chip);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.prose pre{background:#00000073;border:1px solid var(--border);border-radius:10px;padding:12px 14px;overflow-x:auto;margin:0 0 12px}.prose pre code{background:none;border:none;padding:0;font-size:.82rem}.caret{display:inline-block;width:8px;height:1.1em;margin-left:2px;border-radius:2px;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2,jump-none) infinite}@keyframes blink{50%{opacity:0}}.thinking{color:var(--text-dim);display:inline-flex;align-items:baseline;gap:4px}.dots{display:inline-flex;gap:3px}.dots i{width:4px;height:4px;border-radius:50%;background:var(--text-dim);animation:dotpulse 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dotpulse{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.msg-actions{margin-top:8px;display:flex;gap:8px;opacity:0;transition:opacity .15s var(--ease)}.msg:hover .msg-actions,.msg-actions:focus-within{opacity:1}.copy-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font:inherit;font-size:.75rem;padding:4px 10px;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease)}.copy-btn:hover{color:var(--text);border-color:var(--border-strong)}.activity{border:1px solid var(--border);border-radius:10px;background:var(--bg-raised);margin:10px 0;font-size:.83rem;overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.activity.running{border-color:#8b7cf780;box-shadow:0 0 0 1px #8b7cf726,0 0 24px #6d5ae81f}.activity.failed{border-color:#f77c9b73}.activity-head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--text);padding:9px 12px;cursor:pointer;font:inherit;font-size:inherit;text-align:left;min-width:0}.activity-icon{display:inline-flex;color:var(--accent);flex-shrink:0}.activity-icon.ok{color:var(--ok)}.activity-icon.err{color:var(--danger)}.spin{animation:rotate .9s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.activity-name{font-family:var(--mono);font-size:.8rem;color:var(--accent);flex-shrink:0}.activity-state{color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.activity-summary{color:var(--text-faint);font-family:var(--mono);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.chevron{margin-left:auto;color:var(--text-faint);flex-shrink:0;transition:transform .25s var(--ease)}.chevron.open{transform:rotate(180deg)}.collapse{overflow:hidden;transition:height .28s var(--ease),opacity .28s var(--ease)}.activity-detail{border-top:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:12px}.activity-section{display:flex;flex-direction:column;gap:6px}.activity-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:600}.activity-detail pre{margin:0;font-family:var(--mono);font-size:.75rem;line-height:1.55;background:#00000073;border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;max-height:260px;overflow-y:auto;white-space:pre-wrap;color:var(--text-dim)}.error-banner{background:#f77c9b14;border:1px solid rgba(247,124,155,.35);color:var(--danger);border-radius:var(--radius);padding:12px 16px;font-size:.88rem}.jump-latest{position:absolute;left:50%;bottom:132px;transform:translate(-50%);z-index:15;display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:999px;color:var(--text);font:inherit;font-size:.78rem;font-weight:500;padding:7px 14px;cursor:pointer;box-shadow:0 8px 24px #00000073;animation:rise .2s var(--ease) both}.jump-latest:hover{border-color:var(--accent)}.composer-wrap{z-index:10;padding:8px 24px calc(12px + env(safe-area-inset-bottom,0));background:linear-gradient(180deg,transparent,rgba(9,8,15,.9) 40%)}.composer{max-width:var(--col);margin:0 auto;display:flex;align-items:flex-end;gap:8px;background:var(--bg-panel);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border-strong);border-radius:16px;padding:8px 8px 8px 16px;box-shadow:0 0 0 1px #8b7cf70f inset,0 12px 40px #00000080;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.composer:focus-within{border-color:#8b7cf78c;box-shadow:0 0 0 1px #8b7cf71f inset,0 0 0 3px #8b7cf71f,0 12px 40px #00000080}.composer textarea{flex:1;background:none;border:none;color:var(--text);font:inherit;font-size:.95rem;line-height:1.5;resize:none;outline:none;padding:8px 0;max-height:180px;min-height:24px}.composer textarea::placeholder{color:var(--text-faint)}.send-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;cursor:pointer;transition:opacity .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease);box-shadow:0 4px 14px #6d5ae866}.send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #6d5ae88c}.send-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.send-btn.stop{background:var(--bg-chip);border:1px solid var(--border-strong);color:var(--text);box-shadow:none}.send-btn.stop:hover{border-color:var(--danger);color:var(--danger)}.footnote{max-width:var(--col);margin:8px auto 0;text-align:center;color:var(--text-faint);font-size:.72rem}.footnote a{color:var(--text-dim);text-decoration:none}.footnote a:hover{color:var(--accent)}@media(max-width:768px){.nav-link{display:none}.stream-inner{padding:24px 16px 16px;gap:24px}.composer-wrap{padding-left:12px;padding-right:12px}}@media(max-width:480px){.starters{grid-template-columns:1fr}.bubble{max-width:88%}.topbar-inner{padding:0 16px}.activity-summary{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.caret{animation:none}}
