:root{--bg:#0a0d12;--bg-2:#0f141b;--panel:#121821;--panel-2:#171f2b;--border:#202a37;--border-2:#2b3644;--text:#e6edf3;--text-dim:#8b98a8;--text-faint:#5b6675;--accent:#3b82f6;--accent-2:#60a5fa;--accent-rgb:59,130,246;--accent-hi-rgb:96,165,250;--accent-line:rgba(var(--accent-rgb),0.34);--accent-glow:rgba(var(--accent-rgb),0.12);--danger:#ff3b3b;--radius:14px;--drawer-w:300px;--composer-h:76px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;cursor:pointer;color:inherit}.app{position:fixed;inset:0;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 100% -10%,#10161f 0,var(--bg) 55%)}.topbar{display:flex;align-items:center;gap:12px;height:calc(56px + var(--safe-t));padding:var(--safe-t) 14px 0;border-bottom:1px solid var(--border);background:rgba(10,13,18,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(var(--accent-rgb),.2);z-index:30;flex:0 0 auto}.hamburger{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--panel);transition:border-color .15s,transform .1s}.hamburger:active{transform:scale(.94)}.hamburger span{display:block;position:relative}.hamburger span,.hamburger span:after,.hamburger span:before{width:18px;height:2px;background:var(--text);border-radius:2px}.hamburger span:after,.hamburger span:before{content:"";position:absolute;left:0}.hamburger span:before{top:-6px}.hamburger span:after{top:6px}.topbar-title{display:flex;flex-direction:column;min-width:0}.topbar-title .name{font-weight:700;letter-spacing:.06em;font-size:15px;display:flex;align-items:center;gap:8px}.topbar-title .role{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 10px currentColor;color:var(--accent-2)!important}.spacer{flex:1 1}.newbtn{height:40px;padding:0 14px;border-radius:10px;border:1.5px solid var(--accent-line);background:var(--panel);color:var(--accent-2);font-size:12px;letter-spacing:.05em;box-shadow:0 0 10px rgba(var(--accent-rgb),.12);transition:border-color .15s,color .15s,box-shadow .15s,background .15s}.newbtn:active{background:var(--panel-2);border-color:var(--accent-2);color:var(--text);box-shadow:0 0 18px rgba(var(--accent-rgb),.26)}.newbtn:disabled{opacity:.5}.backdrop{position:fixed;inset:0;background:rgba(3,5,8,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s ease}.backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:var(--drawer-w);max-width:86vw;background:var(--bg-2);border-right:1px solid var(--border);z-index:50;transform:translateX(-102%);transition:transform .24s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;padding-top:var(--safe-t);box-shadow:24px 0 60px rgba(0,0,0,.45)}.drawer.open{transform:translateX(0)}.drawer-head{padding:18px 18px 12px;border-bottom:1px solid var(--border)}.drawer-head .brand{font-weight:800;letter-spacing:.12em;font-size:13px;color:var(--text)}.drawer-head .sub{font-size:11px;color:var(--text-faint);margin-top:2px}.agent-list{flex:1 1;overflow-y:auto;padding:10px;-webkit-overflow-scrolling:touch}.agent{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border-radius:12px;border:1px solid transparent;background:transparent;margin-bottom:4px;min-height:56px;transition:background .12s,border-color .12s,box-shadow .12s}.agent.active,.agent:active{background:var(--panel)}.agent.active{border-color:var(--accent-line);box-shadow:0 0 14px rgba(var(--accent-rgb),.1)}.agent .avatar{width:34px;height:34px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;font-size:12px;font-weight:800;background:transparent!important;border:1px solid rgba(var(--accent-rgb),.55);color:var(--accent-2);box-shadow:0 0 10px rgba(var(--accent-rgb),.12)}.agent .meta{min-width:0;flex:1 1}.agent .meta .n{font-size:13px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:6px;color:var(--accent-2);text-shadow:0 0 8px rgba(var(--accent-rgb),.3)}.agent .meta .r{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent .chev{font-size:12px}.agent .chev,.badge-ph{color:var(--text-faint)}.badge-ph{font-size:9px;padding:1px 5px;border-radius:5px;border:1px solid var(--border);letter-spacing:.08em}.drawer-foot{padding:12px 16px calc(14px + var(--safe-b));border-top:1px solid var(--border);font-size:10px;color:var(--text-faint);letter-spacing:.05em}.stream{flex:1 1;overflow-y:auto;padding:20px 16px 24px;-webkit-overflow-scrolling:touch}.stream-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--text-faint)}.empty .big{font-size:15px;color:var(--text-dim);margin-bottom:6px;letter-spacing:.08em}.empty .small{font-size:12px}.msg{display:flex;flex-direction:column;gap:6px}.msg .who{font-size:10px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;display:flex;align-items:center;gap:7px}.bubble{border-radius:12px;padding:12px 14px;font-size:14px;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border)}.msg.user .bubble{background:var(--panel-2);align-self:flex-end;max-width:88%;border:1.5px solid rgba(var(--accent-hi-rgb),.5)}.msg.assistant .bubble{background:var(--panel);border:1.5px solid rgba(var(--accent-hi-rgb),.62);box-shadow:0 0 18px rgba(var(--accent-rgb),.16)}.msg.assistant.err .bubble{border:1px solid var(--danger);color:#ffb3b3;box-shadow:none}.caret{display:inline-block;width:8px;height:15px;vertical-align:text-bottom;background:var(--accent);margin-left:2px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.msg-media-imgbtn{display:block;margin-top:8px;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-2);width:100%;max-width:280px;cursor:zoom-in}.msg-media-img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.msg-media-video{max-height:420px;border-radius:10px;border:1px solid var(--border);background:#000}.msg-media-audio,.msg-media-video{display:block;margin-top:8px;width:100%;max-width:320px}.msg-link{color:var(--accent-2);text-decoration:underline;word-break:break-all}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(3,5,8,.94);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 0 40px rgba(0,0,0,.6)}.composer{flex:0 0 auto;border-top:1px solid var(--border);background:rgba(10,13,18,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 12px calc(10px + var(--safe-b))}.composer-inner{max-width:820px;margin:0 auto;display:flex;align-items:flex-end;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:8px 8px 8px 14px;transition:border-color .15s,box-shadow .15s}.composer-inner:focus-within{border-color:var(--accent);box-shadow:0 0 20px rgba(var(--accent-rgb),.16)}.composer textarea{flex:1 1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:16px;line-height:1.4;max-height:160px;padding:6px 0}.composer textarea::placeholder{color:var(--text-faint)}.send{width:44px;height:44px;flex:0 0 auto;border-radius:12px;border:none;display:grid;place-items:center;color:#050708;font-weight:800;transition:transform .1s,opacity .15s}.send:active{transform:scale(.92)}.send:disabled{opacity:.4}.send svg{width:20px;height:20px}.send[aria-label=Send]{background:var(--panel)!important;border:1.5px solid var(--accent);color:var(--accent-2);box-shadow:0 0 12px rgba(var(--accent-rgb),.2)}.send[aria-label=Send]:not(:disabled):active{background:var(--bg-2)!important;border-color:var(--accent-2);box-shadow:0 0 18px rgba(var(--accent-rgb),.3)}.hint{max-width:820px;margin:6px auto 0;font-size:10px;color:var(--text-faint);text-align:center;letter-spacing:.04em}.gate{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;background:var(--bg);z-index:100;padding:24px}.gate:before{content:"";display:block;width:min(320px,78vw);height:200px;background:url(https://i.ibb.co/Dssvs5t/IMG-1280.png) 50%/contain no-repeat;filter:drop-shadow(0 0 16px rgba(var(--accent-hi-rgb),.6)) drop-shadow(0 0 42px rgba(var(--accent-rgb),.5));animation:gate-logo-pulse 3s ease-in-out infinite}@keyframes gate-logo-pulse{0%,to{filter:drop-shadow(0 0 14px rgba(var(--accent-hi-rgb),.55)) drop-shadow(0 0 32px rgba(var(--accent-rgb),.4))}50%{filter:drop-shadow(0 0 26px rgba(var(--accent-hi-rgb),.78)) drop-shadow(0 0 60px rgba(var(--accent-rgb),.55))}}.gate-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--accent-line);border-radius:var(--radius);padding:24px;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.1),0 0 34px rgba(var(--accent-rgb),.14)}.gate-card h1{font-size:15px;letter-spacing:.14em;margin:0 0 6px}.gate-card p{font-size:12px;color:var(--text-dim);margin:0 0 18px}.gate-card input{width:100%;height:46px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);padding:0 14px;font-family:inherit;font-size:16px;outline:none;margin-bottom:12px}.gate-card input:focus{border-color:var(--accent);box-shadow:0 0 16px rgba(var(--accent-rgb),.18)}.gate-card button{width:100%;height:46px;border-radius:10px;border:none;background:var(--accent);color:#050708;font-weight:800;letter-spacing:.08em;box-shadow:0 0 22px rgba(var(--accent-rgb),.35)}.gate-err{font-size:11px;color:var(--danger);margin-bottom:10px}@media (min-width:1024px){.app.pinned{padding-left:var(--drawer-w)}.app.pinned .drawer{transform:translateX(0);box-shadow:none}.app.pinned .backdrop,.app.pinned .hamburger{display:none}}