:root{color:#e8eefc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#070b16;font-family:Segoe UI,Aptos,Trebuchet MS,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,select,textarea{font:inherit}button:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}:root{--accent:#4f9dff;--accent-strong:#2f7dff;--bg:transparent;--glass:#ffffff1a;--glass-strong:#ffffff24;--glass-border:#ffffff38;--sidebar-bg:#ffffff1a;--hover:#ffffff1f;--active:#4f9dff47;--text:#f3f7ff;--muted:#b7c6e6;--border:#ffffff24;--composer-bg:#ffffff1a;--composer-border:#ffffff3d;--rail-w:76px;--rail-expanded:268px;--rail-gap:14px}.app{height:100vh;color:var(--text);background:radial-gradient(46% 50% at 82% 8%,#5aa5ff8c,#0000 72%),radial-gradient(42% 48% at 12% 88%,#3878ff6b,#0000 74%),radial-gradient(60% 65% at 50% 45%,#285cd24d,#0000 82%),linear-gradient(155deg,#14213f 0%,#0f1a34 50%,#0b1428 100%);position:relative;overflow:hidden}.app:before{content:"";filter:blur(40px);pointer-events:none;background:radial-gradient(circle,#78b9ff66,#0000 60%);border-radius:50%;width:46vw;height:46vw;position:absolute;top:-8vw;right:-6vw}.app.sidebar-collapsed .sidebar{transform:translateX(calc(-100% - var(--rail-gap) - 6px))}.sidebar{z-index:30;top:var(--rail-gap);left:var(--rail-gap);bottom:var(--rail-gap);width:var(--rail-w);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(26px)saturate(180%);border:1px solid var(--glass-border);border-radius:26px;flex-direction:column;min-height:0;padding:12px 14px;transition:width .32s cubic-bezier(.22,1,.36,1),transform .28s;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px #060e2480,inset 0 1px #ffffff59,inset 0 -1px #ffffff0f}.sidebar:hover{width:var(--rail-expanded)}.sidebar-header{align-items:center;gap:10px;min-height:44px;padding:6px 6px 14px;display:flex}.brand-mark{color:#fff;background:linear-gradient(150deg,#6fb0ff,#2f7dff);border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 6px 16px #2f7dff80,inset 0 1px #ffffff80}.brand{letter-spacing:-.01em;white-space:nowrap;opacity:0;flex:1;font-size:1.08rem;font-weight:700;transition:opacity .2s 50ms,transform .28s;overflow:hidden;transform:translate(-6px)}.sidebar-toggle{opacity:0;transition:opacity .2s}.sidebar:hover .brand,.sidebar:hover .sidebar-toggle{opacity:1;transform:none}.icon-btn{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--hover)}.sidebar-nav{flex-direction:column;gap:3px;padding-bottom:10px;display:flex}.nav-item{width:100%;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;padding:11px 12px;font-size:.94rem;transition:background .15s;display:flex;overflow:hidden}.nav-item svg{color:#dce7ff;flex:none}.nav-item span{opacity:0;flex:1;transition:opacity .18s,transform .28s;overflow:hidden;transform:translate(-6px)}.sidebar:hover .nav-item span{opacity:1;transform:none}.nav-item:hover{background:var(--hover)}.nav-item.primary{background:#4f9dff2e;box-shadow:inset 0 0 0 1px #78b4ff47}.nav-item.primary svg{color:#eaf2ff}.nav-item.primary:hover{background:#4f9dff47}.recents{opacity:0;pointer-events:none;flex-direction:column;flex:1;min-height:0;padding-top:6px;transition:opacity .18s;display:flex;overflow:hidden}.sidebar:hover .recents{opacity:1;pointer-events:auto}.recents-title{color:var(--muted);padding:6px 10px;font-size:.78rem;font-weight:500}.recents-list{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.recents-list::-webkit-scrollbar{width:6px}.recents-list::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.chat-row{border-radius:8px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;display:grid}.chat-row:hover,.chat-row.active{background:var(--hover)}.chat-row>button:first-child{min-width:0;color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:.9rem;overflow:hidden}.chat-delete{width:22px;height:22px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;font-size:1rem;line-height:1}.chat-row:hover .chat-delete{opacity:1}.chat-delete:hover{color:#fff;background:#383838}.profile{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;margin-top:4px;padding:8px;display:flex}.profile:hover{background:var(--hover)}.profile-avatar{color:#fff;background:linear-gradient(135deg,#6fb0ff,#2f7dff);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:.74rem;font-weight:700;display:grid;box-shadow:inset 0 1px #fff6}.profile{overflow:hidden}.profile-info,.profile .logout-btn{opacity:0;transition:opacity .18s}.sidebar:hover .profile-info,.sidebar:hover .profile .logout-btn{opacity:1}.profile-info{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.profile-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.profile-info small{color:var(--muted);font-size:.78rem}.profile-store{color:var(--muted);place-items:center;display:grid}.chat{background:var(--bg);min-width:0;height:100vh;min-height:0;margin-left:calc(var(--rail-w) + var(--rail-gap) + 10px);flex-direction:column;display:flex;overflow:hidden}.chat-topbar{flex:none;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex}.welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:26px;min-height:0;padding:0 20px 8vh;display:flex}.welcome h1{letter-spacing:-.01em;text-align:center;margin:0;font-size:1.85rem;font-weight:500}.welcome .composer{width:min(768px,100%)}.thread{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.thread::-webkit-scrollbar{width:8px}.thread::-webkit-scrollbar-thumb{background:#2e2e2e;border-radius:4px}.thread-inner{width:min(768px,100%);margin:0 auto;padding:24px 20px 40px}.msg{margin-bottom:22px;display:flex}.msg.user{justify-content:flex-end}.user-bubble{background:var(--composer-bg);border-radius:20px;max-width:75%;padding:10px 16px}.msg-body{min-width:0;max-width:100%}.user-bubble>:first-child,.msg-body>:first-child{margin-top:0}.user-bubble>:last-child,.msg-body>:last-child{margin-bottom:0}.msg-body p,.user-bubble p,.msg-body li{line-height:1.75}.msg-body ul,.msg-body ol{padding-left:24px}.msg-body code{background:#ffffff17;border-radius:5px;padding:2px 5px;font-family:Consolas,Courier New,monospace;font-size:.9em}.msg-body pre{border:1px solid var(--border);background:#060c1a99;border-radius:10px;padding:14px;overflow-x:auto}.msg-body pre code{background:0 0;padding:0}.copy-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-top:6px;font-size:.8rem}.copy-btn:hover{color:var(--text)}.typing{gap:5px;padding:8px 0;display:inline-flex}.typing span{background:#b0b0b0;border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite pulse}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.thread-end{height:1px}.composer-dock{background:var(--bg);flex:none;padding:6px 20px 20px}.composer{width:min(768px,100%);margin:0 auto}.composer-box{background:var(--composer-bg);border:1px solid var(--composer-border);-webkit-backdrop-filter:blur(20px)saturate(140%);border-radius:28px;align-items:flex-end;gap:6px;padding:8px;display:flex;box-shadow:0 18px 44px #040a1e80,inset 0 1px #ffffff47,inset 0 -1px #ffffff0d}.composer-box:focus-within{border-color:#78b4ff8c;box-shadow:0 18px 44px #040a1e80,0 0 0 3px #4f9dff2e,inset 0 1px #ffffff47}.composer-plus{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.composer-plus:hover{background:#ffffff17}.composer-box textarea{resize:none;min-width:0;min-height:26px;max-height:200px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:8px 4px;line-height:1.5}.composer-box textarea::placeholder{color:var(--muted)}.composer-actions{flex:none;align-items:center;gap:6px;display:flex}.model-pill{color:#cfcfcf;cursor:pointer;background:0 0;border:0;border-radius:18px;align-items:center;gap:3px;height:34px;padding:0 8px 0 12px;font-size:.9rem;display:inline-flex}.model-pill:hover{background:#ffffff17}.icon-round{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-round:hover{background:#ffffff17}.icon-round.send{background:var(--accent);color:#fff;box-shadow:0 0 0 1px #3b82f659,0 6px 18px #2563eb80}.icon-round.send:hover{background:var(--accent-strong)}.error-box{color:#ffd4d4;background:#2a0f0f;border:1px solid #7a2e2e;border-radius:10px;width:min(768px,100%);margin:12px auto 0;padding:12px 14px;font-size:.9rem}@keyframes pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (width<=820px){.chat{margin-left:0}.sidebar,.sidebar:hover{width:var(--rail-expanded)}.app.sidebar-collapsed .sidebar{transform:translateX(calc(-100% - var(--rail-gap) - 6px))}.sidebar .brand,.sidebar .sidebar-toggle,.sidebar .nav-item span,.sidebar .profile-info,.sidebar .profile .logout-btn{opacity:1;transform:none}.sidebar .recents{opacity:1;pointer-events:auto}.user-bubble{max-width:88%}}.chat-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-controls{align-items:center;gap:10px;margin:0 auto;display:flex}.topbar-select{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.topbar-select select{background:var(--hover);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px}.topbar-library-btn{background:var(--hover);color:var(--text);border:1px solid var(--composer-border);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.topbar-library-btn:hover{background:var(--active)}.msg-sources{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.msg-sources-label{color:var(--muted)}.msg-source-chip{background:var(--active);color:#cfe3ff;border:1px solid var(--composer-border);border-radius:999px;padding:2px 10px}.library-overlay{-webkit-backdrop-filter:blur(4px);z-index:50;background:#0409148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.library-panel{-webkit-backdrop-filter:blur(26px)saturate(140%);border:1px solid var(--composer-border);width:min(680px,100%);max-height:85vh;color:var(--text);background:#111a30d1;border-radius:18px;padding:24px;overflow-y:auto;box-shadow:0 24px 60px #040a198c}.library-header{justify-content:space-between;align-items:center;display:flex}.library-header h2{margin:0;font-size:20px}.library-sub{color:var(--muted);margin:8px 0 18px;font-size:14px}.library-upload{background:var(--hover);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.library-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.library-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.library-field select,.library-field input{background:var(--bg);color:var(--text);border:1px solid var(--composer-border);border-radius:8px;padding:8px 10px;font-size:14px}.library-upload input[type=file]{color:var(--text);flex:1;font-size:13px}.library-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 16px;font-size:14px}.library-btn:disabled{opacity:.6;cursor:default}.library-error{color:#ff8f8f;margin-top:12px;font-size:14px}.library-notice{color:#86efac;margin-top:12px;font-size:14px}.library-list{margin-top:18px}.library-empty{color:var(--muted);font-size:14px}.library-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px;font-size:14px}.library-item{background:var(--hover);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 14px;display:flex}.library-item strong{font-size:14px;display:block}.library-item small{color:var(--muted);font-size:12px}.library-delete{color:#ff8f8f;border:1px solid var(--composer-border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:6px 12px;font-size:13px}.library-delete:hover{background:#ff64641f}.auth-screen{background:radial-gradient(46% 50% at 82% 8%,#5aa5ff8c,#0000 72%),radial-gradient(42% 48% at 12% 88%,#3878ff6b,#0000 74%),radial-gradient(60% 65% at 50% 45%,#285cd24d,#0000 82%),linear-gradient(155deg,#14213f 0%,#0f1a34 50%,#0b1428 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-card{background:var(--glass);-webkit-backdrop-filter:blur(26px)saturate(180%);border:1px solid var(--glass-border);text-align:center;border-radius:22px;width:min(400px,100%);padding:36px 32px;position:relative;box-shadow:0 30px 70px #060e248c,inset 0 1px #ffffff4d}.auth-brand{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 20px #5aa5ff8c;margin:0 0 6px;font-size:30px;font-weight:800}.auth-tagline{color:var(--muted);margin:0 0 24px;font-size:14px}.auth-form{text-align:left;flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-form input{color:var(--text);border:1px solid var(--composer-border);background:#ffffff14;border-radius:11px;padding:11px 13px;font-size:14px}.auth-form input::placeholder{color:var(--muted)}.auth-form input:focus{border-color:#78b4ff99;outline:none;box-shadow:0 0 0 3px #4f9dff2e}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(150deg,#5aa0ff,#2f7dff);border:none;border-radius:12px;margin-top:6px;padding:12px;font-size:15px;font-weight:600;box-shadow:0 10px 24px #2f7dff73,inset 0 1px #fff6}.auth-btn:hover{background:linear-gradient(150deg,#6fb0ff,#3f8bff)}.auth-btn:disabled{opacity:.6}.auth-error{color:#ff8f8f;font-size:14px}.auth-switch{color:var(--muted);margin-top:18px;font-size:14px}.auth-switch button{color:#6ea8ff;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.auth-note{color:var(--muted);margin-top:16px;font-size:12px}.space{background:var(--bg);min-height:100vh;color:var(--text);max-width:860px;margin:0 auto;padding:32px 24px 60px}.space-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;display:flex}.space-header h1{margin:0 0 4px;font-size:24px}.space-header p{color:var(--muted);margin:0;font-size:14px}.space-user{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.logout-btn{background:var(--hover);color:var(--text);border:1px solid var(--composer-border);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px}.logout-btn:hover{background:var(--active)}.logout-btn.small{padding:5px 10px;font-size:12px}.space-tabs{border-bottom:1px solid var(--border);gap:8px;margin:24px 0 20px;display:flex}.space-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 4px;font-size:15px}.space-tab.active{color:var(--text);border-bottom-color:#2563eb}.form-title{color:var(--text);margin:0;font-size:15px}
