*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg1:#0c0a1d;--bg2:#161236;--glass:#ffffff1a;--glass2:#ffffff0f;--glass-mini:#ffffff14;--stroke:#ffffff26;--stroke2:#ffffff1a;--stroke-medium:#ffffff1f;--text:#ffffffeb;--text-bright:#fffffff5;--muted:#ffffff8c;--meta:#ffffffa6;--placeholder:#ffffff80;--bubble-in:#ffffff1f;--bubble-out-start:#8b5cf6cc;--bubble-out-end:#6366f1bf;--bubble-stroke:#ffffff29;--bubble-out-stroke:#ffffff38;--input-bg:#00000038;--glow-a:#7c3aed4d;--glow-b:#6366f14d;--glow-c:#db277733;--overlay-dark:#00000059;--topbar-start:#ffffff26;--topbar-end:#ffffff12;--composer-start:#ffffff1a;--composer-end:#ffffff0d;--send-bg:#ffffff29;--send-stroke:#ffffff26;--day-bg:#ffffff1a;--day-stroke:#ffffff1f;--danger:#f43f5e;--accent:#a78bfa;--code-block-bg:#0000004d;--code-border:#ffffff1a;--inline-code-bg:#ffffff14;--inline-code-text:#c4b5fd;--link-color:#818cf8;--blockquote-border:#7c3aed80;--blockquote-text:#d8b4fe;--header-text:#ede9fe}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg1);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.text-title{color:var(--text);letter-spacing:.2px;font-size:17px;font-weight:600}.text-body{color:var(--text-bright);letter-spacing:.1px;font-size:17px;font-weight:400;line-height:23px}.text-meta{color:var(--meta);font-size:13px;font-weight:400}.text-status{color:var(--muted);letter-spacing:.2px;font-size:14px;font-weight:400}.text-button{color:var(--text);letter-spacing:.3px;font-size:17px;font-weight:600}.app-loading{background:var(--bg1);justify-content:center;align-items:center;height:100vh;display:flex}.glass-bg{background:linear-gradient(135deg, var(--bg1), var(--bg2));z-index:-1;position:fixed;inset:0;overflow:hidden}.glass-bg:before,.glass-bg:after{content:"";filter:blur(120px);border-radius:50%;position:absolute}.glass-bg:before{background:var(--glow-a);width:500px;height:500px;top:-10%;left:-5%}.glass-bg:after{background:var(--glow-b);width:400px;height:400px;bottom:-10%;right:-5%}.glass-bg-glow-c{background:var(--glow-c);filter:blur(120px);pointer-events:none;border-radius:50%;width:350px;height:350px;position:absolute;top:40%;right:20%}.glass-surface{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(20px)}.glass-card{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(20px);border-radius:18px}.glass-card-floating{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(24px);border-radius:18px;box-shadow:0 8px 32px #00000040}.topbar{background:linear-gradient(135deg, var(--topbar-start), var(--topbar-end));border-bottom:1px solid var(--stroke2);-webkit-backdrop-filter:blur(20px);flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.composer{background:linear-gradient(135deg, var(--composer-start), var(--composer-end));border-top:1px solid var(--stroke2);-webkit-backdrop-filter:blur(20px);flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.glass-input{background:var(--input-bg);border:1px solid var(--stroke-medium);color:var(--text-bright);resize:none;border-radius:18px;outline:none;min-height:44px;max-height:168px;padding:10px 16px;font-family:inherit;font-size:17px;line-height:23px}.glass-input::placeholder{color:var(--placeholder)}.btn-icon{background:var(--glass-mini);border:1px solid var(--stroke);width:52px;height:52px;color:var(--text);cursor:pointer;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.btn-icon:hover{opacity:.8}.btn-mini{background:var(--glass-mini);border:1px solid var(--stroke-medium);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.btn-mini:hover{opacity:.8}.btn-send{background:var(--send-bg);border:1px solid var(--send-stroke);width:52px;height:52px;color:var(--text);cursor:pointer;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.btn-send:hover{opacity:.8}.btn-primary{background:linear-gradient(135deg, var(--bubble-out-start), var(--bubble-out-end));border:1px solid var(--bubble-out-stroke);height:58px;color:var(--text);letter-spacing:.3px;cursor:pointer;border-radius:16px;justify-content:center;align-items:center;padding:0 28px;font-size:17px;font-weight:600;transition:opacity .15s;display:flex}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{background:var(--glass-mini);border:1px solid var(--stroke-medium);height:58px;color:var(--text);letter-spacing:.3px;cursor:pointer;border-radius:18px;justify-content:center;align-items:center;padding:0 28px;font-size:17px;font-weight:600;transition:opacity .15s;display:flex}.btn-secondary:hover{opacity:.85}.btn-danger{height:58px;color:var(--danger);letter-spacing:.3px;cursor:pointer;background:#f43f5e26;border:1px solid #f43f5e66;border-radius:16px;justify-content:center;align-items:center;padding:0 28px;font-size:17px;font-weight:600;transition:opacity .15s;display:flex}.btn-danger:hover{opacity:.85}.avatar{border:1px solid var(--stroke);background:linear-gradient(135deg, var(--accent), var(--danger));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-lg{width:50px;height:50px;font-size:20px}.avatar-xl{width:80px;height:80px;font-size:28px}.badge{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:700;display:flex}.badge-muted{color:var(--muted);background:#ffffff4d}.bubble{word-wrap:break-word;overflow-wrap:break-word;border-radius:18px;max-width:min(360px,85%);padding:10px 12px;position:relative}.bubble-in{word-wrap:break-word;overflow-wrap:break-word;background:var(--bubble-in);border:1px solid var(--bubble-stroke);border-radius:10px 18px 18px;align-self:flex-start;max-width:min(360px,85%);padding:10px 12px}.bubble-out{word-wrap:break-word;overflow-wrap:break-word;background:linear-gradient(135deg, var(--bubble-out-start), var(--bubble-out-end));border:1px solid var(--bubble-out-stroke);border-radius:18px 10px 18px 18px;align-self:flex-end;max-width:min(360px,85%);padding:10px 12px}.day-pill{background:var(--day-bg);border:1px solid var(--day-stroke);color:var(--meta);border-radius:50px;align-self:center;align-items:center;padding:6px 10px;font-size:14px;display:inline-flex}.list-item{border-bottom:1px solid var(--stroke2);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.list-item:hover{background:var(--glass2)}.list-item-active{background:var(--glass)}.typing-indicator{align-items:center;gap:4px;padding:4px 0;display:flex}.typing-indicator span{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:.6s infinite alternate typingPulse}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%{opacity:.3}to{opacity:1}}.spinner{border:2px solid var(--stroke);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.segmented-control{background:var(--glass-mini);border:1px solid var(--stroke-medium);border-radius:14px;display:flex;overflow:hidden}.segment{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.segment.active{background:var(--glass);color:var(--text)}.md-content h1{color:var(--header-text);margin:4px 0;font-size:24px;font-weight:700}.md-content h2{color:var(--header-text);margin:4px 0;font-size:20px;font-weight:700}.md-content h3{color:var(--header-text);margin:3px 0;font-size:18px;font-weight:600}.md-content h4{color:var(--header-text);margin:3px 0;font-size:17px;font-weight:600}.md-content p{margin:3px 0}.md-content a{color:var(--link-color);text-decoration:none}.md-content a:hover{text-decoration:underline}.md-content code{background:var(--inline-code-bg);color:var(--inline-code-text);border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:14px}.md-content pre{background:var(--code-block-bg);border:1px solid var(--code-border);border-radius:10px;margin:6px 0;padding:10px;overflow-x:auto}.md-content pre code{color:var(--inline-code-text);background:0 0;padding:0;font-size:14px;line-height:20px}.md-content blockquote{border-left:3px solid var(--blockquote-border);color:var(--blockquote-text);margin:6px 0;padding-left:12px;font-style:italic}.md-content ul,.md-content ol{margin:3px 0;padding-left:20px}.md-content li::marker{color:var(--accent)}.md-content table{border-collapse:collapse;width:100%;margin:6px 0}.md-content th,.md-content td{border:1px solid var(--code-border);text-align:left;padding:6px 10px}.md-content th{background:var(--glass2);font-weight:600}.md-content hr{border:none;border-top:1px solid var(--stroke2);margin:8px 0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--stroke);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--stroke-medium)}.switch{flex-shrink:0;width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--glass2);border-radius:14px;transition:background .3s;position:absolute;inset:0}.slider:before{content:"";background:var(--muted);border-radius:50%;width:22px;height:22px;transition:all .3s;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{background:#a78bfa4d}.switch input:checked+.slider:before{background:var(--accent);transform:translate(20px)}.context-menu{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--stroke);z-index:100;border-radius:12px;min-width:180px;padding:4px 0;position:absolute;box-shadow:0 8px 32px #0000004d}.context-menu-item{cursor:pointer;color:var(--text);align-items:center;gap:10px;padding:10px 16px;font-size:15px;transition:background .15s;display:flex}.context-menu-item:hover{background:var(--glass2)}.context-menu-item.danger{color:var(--danger)}.dropdown-backdrop{z-index:90;position:fixed;inset:0}.file-card{background:var(--glass2);border:1px solid var(--stroke2);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.file-card:hover{opacity:.8}.empty-state{height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:19px;display:flex}.selection-bar{background:var(--glass);border-bottom:1px solid var(--stroke2);align-items:center;gap:10px;padding:10px 14px;display:flex}.command-palette{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--stroke);z-index:10;border-radius:14px 14px 0 0;max-height:200px;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.command-palette-item{cursor:pointer;flex-direction:column;padding:10px 16px;transition:background .15s;display:flex}.command-palette-item:hover{background:var(--glass2)}.app-shell{height:100%;display:flex;position:relative}.sidebar{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.main-content{flex-direction:column;min-width:0;height:100%;display:flex}@media (width<=768px){.sidebar,.main-content{width:100%}.app-shell-index .main-content,.app-shell-detail .sidebar{display:none}}.empty-pane{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:19px;display:none}@media (width>=769px){.sidebar{border-right:1px solid var(--stroke2);flex-shrink:0;width:380px;min-width:380px}.main-content{flex:1}.empty-pane{display:flex}.bubble-in,.bubble-out{max-width:min(560px,65%)}}.tab-bar{border-top:1px solid var(--stroke2);background:var(--glass);flex-shrink:0;display:flex}.tab-bar button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px;font-size:12px;transition:color .2s;display:flex}.tab-bar button.active{color:var(--accent);border-bottom-color:var(--accent)}.image-viewer{z-index:200;background:#000000f2;flex-direction:column;display:flex;position:fixed;inset:0}.image-viewer img{object-fit:contain;max-width:100%;max-height:100%}
