html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none;overflow:hidden}body{user-select:none;-webkit-user-select:none}input,textarea,.bubble,.selectable{user-select:text;-webkit-user-select:text}.app-shell{display:flex;flex-direction:column;width:100%;max-width:720px;height:100dvh;background:transparent;border:0;box-shadow:none}.app-shell>.layout{flex:1;min-height:0}.layout{width:100%;display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none;overflow:hidden}.app-shell:not(.no-nav)>.layout{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:#0206178c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.topbar .title{font-weight:600;letter-spacing:-.01em}.row{display:flex;align-items:center}.gap8{gap:8px}.center{text-align:center}.p8{padding:8px}.p16{padding:16px}.dot{width:8px;height:8px;border-radius:50%;background:#f59e0b}.dot.ok{background:#22c55e}.actions{display:flex;gap:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;background:#94a3b82e;color:#e2e8f0;transition:background .15s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:#94a3b847}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:linear-gradient(120deg,#6366f1,#0ea5e9);color:#fff}button.primary:hover:not(:disabled){filter:brightness(1.1)}button.ghost{background:transparent;border:1px solid rgba(148,163,184,.25)}button.small{padding:6px 10px;font-size:12px}[hidden]{display:none!important}input:not([type=file]):not([hidden]),textarea:not([hidden]){display:block;width:100%;padding:12px 14px;background:#02061780;border:1px solid rgba(148,163,184,.25);border-radius:10px;color:#e2e8f0;font-family:inherit;font-size:16px;margin:6px 0 12px}input:not([type=file]):focus,textarea:focus{outline:none;border-color:#6366f199}label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.error{margin-top:10px;padding:10px 12px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:#fecaca;font-size:13px}.error.inline{margin:8px 12px}.muted{color:#94a3b8}.small{font-size:12px}.divider{height:1px;background:#94a3b81f;margin:20px 0}.auth-screen{width:100%;display:flex;align-items:center;justify-content:center}.auth-screen .card{width:min(420px,92vw);background:#0f172ab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.15);border-radius:20px;padding:28px;box-shadow:0 24px 60px #00000073}.auth-screen h1{margin:0 0 12px;font-size:24px;background:linear-gradient(120deg,#a5b4fc,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}.chat-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.chat-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:inherit}.chat-list-item:hover{background:#94a3b80f}.chat-list-item:active{background:#94a3b81f}.grow{flex:1;min-width:0}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(120deg,#6366f1,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.chat-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.chat-name{font-weight:600}.chat-time{font-size:11px;color:#64748b;flex-shrink:0}.chat-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}.bubble-row{display:flex;flex-direction:column;align-items:flex-start;max-width:80%}.bubble-row.mine{align-self:flex-end;align-items:flex-end}.bubble-author{font-size:11px;color:#94a3b8;margin:2px 8px 0}.bubble{background:#1e293b99;padding:8px 12px;border-radius:16px 16px 16px 6px;font-size:15px;line-height:1.4;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;position:relative;border:0}.bubble.mine{background:linear-gradient(120deg,#4f46e5,#0284c7);color:#fff;border-radius:16px 16px 6px}.bubble-time{display:inline-block;margin-left:8px;font-size:10px;opacity:.7;white-space:nowrap}.bubble-image{display:block;max-width:280px;max-height:320px;border-radius:8px;margin-bottom:4px}.file-link{color:inherit;text-decoration:underline}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#020617a6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.composer-input-wrap{flex:1;display:flex;align-items:flex-end;background:#0f172ad9;border:1px solid rgba(148,163,184,.18);border-radius:22px;padding:4px 14px;transition:border-color .15s ease}.composer-input-wrap:focus-within{border-color:#6366f18c}.composer-input-wrap .composer-input{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#e2e8f0;font-family:inherit;font-size:16px;line-height:1.35;padding:8px 0;margin:0;resize:none;outline:none;max-height:140px;overflow-y:auto;width:100%;border-radius:0;box-shadow:none;scrollbar-width:none;-ms-overflow-style:none}.composer-input-wrap .composer-input::-webkit-scrollbar{display:none;width:0;height:0}.composer-input-wrap .composer-input::placeholder{color:#64748b}.composer-btn{flex-shrink:0;width:40px;height:40px;padding:0;border-radius:50%;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;border:0;transition:background .15s ease,transform .15s ease,opacity .15s ease,color .15s ease}.composer-btn:hover:not(:disabled){background:#94a3b824;color:#cbd5e1}.composer-btn:active:not(:disabled){transform:scale(.92)}.composer-btn svg{width:22px;height:22px;display:block}.composer-btn.send{background:linear-gradient(120deg,#6366f1,#0ea5e9);color:#fff;width:0;opacity:0;pointer-events:none;transform:scale(.6);margin-left:-8px}.composer-btn.send.visible{width:40px;opacity:1;pointer-events:auto;transform:scale(1);margin-left:0}.composer-btn.send:hover:not(:disabled){background:linear-gradient(120deg,#6366f1,#0ea5e9);filter:brightness(1.1);color:#fff}.composer-btn.send svg{width:18px;height:18px;margin-left:-2px}.typing{padding-left:16px}.segmented{display:flex;background:#94a3b81f;border-radius:12px;padding:4px;margin-bottom:16px;gap:4px}.segmented button{flex:1;background:transparent;border:0;padding:8px 12px;border-radius:8px;color:#94a3b8;font-weight:600}.segmented button.active{background:#6366f1d9;color:#fff}.bottom-nav{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:6px 8px calc(2px + env(safe-area-inset-bottom));background:#020617d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(148,163,184,.15);z-index:10}.bottom-nav-tabs{display:flex;justify-content:space-around}.version-stamp{text-align:center;font-size:9px;letter-spacing:.04em;color:#475569;padding:2px 0 0;font-variant-numeric:tabular-nums}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;background:transparent;border:0;color:#64748b;font-size:11px;font-weight:500;border-radius:10px;transition:color .15s ease}.bottom-nav-item:hover:not(:disabled),.bottom-nav-item:active{background:transparent}.bottom-nav-item.active{color:#93c5fd}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px}.bottom-nav-icon svg{width:24px;height:24px;display:block}.bottom-nav-label{line-height:1}.app-shell{position:relative}:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at top left,#1e293b,#0f172a 60%,#020617);color:#e2e8f0;display:flex;align-items:stretch;justify-content:center;min-height:100dvh}#root{display:flex;align-items:stretch;justify-content:center;width:100%}a{color:#93c5fd}code{background:#94a3b826;padding:1px 6px;border-radius:4px;font-size:12px}
