pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #09090b;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-hover: #27272a;--bg-active: #3f3f46;--bg-input: #18181b;--text-primary: #ececec;--text-secondary: #a1a1aa;--text-muted: #71717a;--border: rgba(255, 255, 255, .06);--border-light: #282828;--accent: #20b8cd;--accent-soft: rgba(32, 184, 205, .12);--accent-glow: rgba(32, 184, 205, .08);--accent-mid: rgba(32, 184, 205, .55);--accent-strong: rgba(32, 184, 205, .7);--accent-soft-hover: rgba(32, 184, 205, .26);--accent-text: #cdf5fb;--glass-bg: var(--glass-bg);--glass-bg-strong: var(--glass-bg-strong);--glass-border: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .04);--layout-header-h: 48px;--purple: #a78bfa;--danger: #ef4444;--success: #22c55e;--sidebar-width: 272px;--radius: 12px;--radius-lg: 20px;--radius-xl: 24px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{height:100%}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}input,textarea{font:inherit}a{color:var(--accent);text-decoration:none}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes brandShimmer{0%{background-position:0% 50%;filter:drop-shadow(0 0 20px rgba(32,184,205,.2)) drop-shadow(0 0 10px rgba(167,139,250,.1))}25%{background-position:50% 100%;filter:drop-shadow(0 0 30px rgba(167,139,250,.25)) drop-shadow(0 0 15px rgba(32,184,205,.1))}50%{background-position:100% 50%;filter:drop-shadow(0 0 25px rgba(32,184,205,.15)) drop-shadow(0 0 20px rgba(167,139,250,.2))}75%{background-position:50% 0%;filter:drop-shadow(0 0 35px rgba(167,139,250,.2)) drop-shadow(0 0 12px rgba(32,184,205,.25))}to{background-position:0% 50%;filter:drop-shadow(0 0 20px rgba(32,184,205,.2)) drop-shadow(0 0 10px rgba(167,139,250,.1))}}@keyframes brandReveal{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:.85;transform:translateY(0) scale(1)}}@keyframes messageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cursorPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes thinkingShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dropdownOpen{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.app-loading__error{color:var(--danger);max-width:400px;text-align:center}.login-page{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-primary)}.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:44px 32px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);animation:fadeInScale .5s var(--ease-out)}.login-form__title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:2px;background:linear-gradient(135deg,#ecececd9,#20b8cdbf,#a78bfacc 40%,#3b82f6b3,#20b8cdbf 70%,#ecececd9);background-size:400% 400%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brandShimmer 8s ease-in-out infinite;opacity:.85}.login-form__subtitle{color:var(--text-muted);font-size:14px;margin-bottom:10px}.login-form__error{width:100%;padding:10px 14px;border-radius:var(--radius);background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--danger);font-size:13px;text-align:center}.login-form__input{width:100%;padding:13px 16px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-primary);font-size:15px;outline:none;transition:border-color .25s var(--ease-smooth),box-shadow .25s var(--ease-smooth)}.login-form__input::placeholder{color:var(--text-muted)}.login-form__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-form__btn{width:100%;padding:13px;border-radius:var(--radius);background:var(--accent);color:#000;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .15s var(--ease-spring);margin-top:4px}.login-form__btn:hover:not(:disabled){opacity:.9}.login-form__btn:active:not(:disabled){transform:scale(.97)}.login-form__btn:disabled{opacity:.35;cursor:not-allowed}.layout{display:flex;height:100%;overflow:hidden}.layout__main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary);position:relative}.layout__header{position:absolute;top:0;left:0;right:0;height:var(--layout-header-h);display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);z-index:10}.layout__menu-btn{display:none;padding:6px;background:transparent;color:var(--text-secondary);transition:color .2s var(--ease-smooth),transform .2s var(--ease-smooth)}.layout__menu-btn:hover{color:var(--text-primary)}.layout__menu-btn:active{transform:scale(.95)}.layout__model-name{font-size:14px;font-weight:500;color:var(--text-secondary)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlayFadeIn .3s var(--ease-smooth)}.sidebar{width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;background:#18181b99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border);flex-shrink:0;z-index:100}.sidebar__header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.sidebar__new-btn{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border-light);color:var(--text-primary);font-size:14px;font-weight:500;transition:all .2s var(--ease-smooth)}.sidebar__new-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.sidebar__new-btn:active{transform:scale(.97)}.sidebar__close-btn{display:none;padding:8px;border-radius:var(--radius);color:var(--text-secondary);transition:background .15s}.sidebar__close-btn:hover{background:var(--bg-hover)}.sidebar__sessions{flex:1;overflow-y:auto;padding:6px 8px}.sidebar__sessions::-webkit-scrollbar{width:3px}.sidebar__sessions::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:2px}.sidebar__loading,.sidebar__empty{padding:32px 12px;text-align:center;color:var(--text-muted);font-size:13px}.sidebar__session{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s var(--ease-smooth);margin-bottom:1px;border:1px solid transparent}.sidebar__session:hover{background:var(--bg-hover)}.sidebar__session:active{transform:scale(.98)}.sidebar__session--active{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.sidebar__session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar__session-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.sidebar__session-date{font-size:11px;color:var(--text-muted)}.sidebar__session-delete{opacity:0;padding:4px;border-radius:6px;color:var(--text-muted);transition:all .2s var(--ease-smooth);flex-shrink:0}.sidebar__session:hover .sidebar__session-delete{opacity:1}.sidebar__session-delete:hover{color:var(--danger);background:#ef44441a}.sidebar__session-menu{padding:4px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;display:flex;transition:all .2s var(--ease-smooth)}.sidebar__session-menu:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar__footer{padding:10px;border-top:1px solid var(--border)}.sidebar__user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13px;color:var(--text-secondary)}.sidebar__user-avatar{width:30px;height:30px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sidebar__user-name{font-weight:500;color:var(--text-primary);font-size:13px}.sidebar__user-role{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.sidebar__logout-btn{padding:6px;border-radius:6px;color:var(--text-muted);transition:all .2s var(--ease-smooth)}.sidebar__logout-btn:hover{color:var(--danger);background:#ef444414}.chat-area{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.chat-area__welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;position:relative;animation:fadeIn .6s var(--ease-out)}.chat-area__welcome-brand{font-size:44px;font-weight:700;letter-spacing:-1px;position:relative;background:linear-gradient(135deg,#ecececd9,#20b8cdbf,#a78bfacc 40%,#3b82f6b3,#20b8cdbf 70%,#ecececd9);background-size:400% 400%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:brandReveal .8s var(--ease-out) .15s forwards,brandShimmer 8s ease-in-out 1s infinite}.chat-area__welcome-sub{color:var(--text-muted);font-size:15px;position:relative;opacity:0;animation:fadeInUp .6s var(--ease-out) .35s forwards}.chat-area__welcome-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px;position:relative;opacity:0;animation:fadeInUp .6s var(--ease-out) .5s forwards}.chip{padding:10px 18px;border-radius:100px;border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;transition:all .25s var(--ease-smooth)}.chip:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)}.chip:active{transform:scale(.96)}.chat-area__messages{flex:1;overflow-y:auto;padding:8px 0 120px;scroll-behavior:smooth}.layout__main>.chat-area .chat-area__messages{padding-top:calc(var(--layout-header-h) + 8px)}.chat-area__messages::-webkit-scrollbar{width:5px}.chat-area__messages::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:3px}.chat-area__loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-muted);font-size:14px;animation:fadeIn .3s var(--ease-out)}.chat-area__message{display:flex;gap:16px;padding:20px 28px;max-width:820px;margin:0 auto;width:100%}.chat-area__message--new{animation:messageEnter .4s cubic-bezier(.34,1.56,.64,1)}.chat-area__message--user,.chat-area__message--assistant{background:transparent}.chat-area__message-avatar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.chat-area__message-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-secondary)}.chat-area__message--assistant .chat-area__message-avatar{background:transparent;border:1.5px solid var(--accent);color:var(--accent)}.chat-area__avatar-label{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;white-space:nowrap}.chat-area__message--streaming,.chat-area__message--streaming .chat-area__message-content{position:relative}.chat-area__message--streaming .chat-area__message-content:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:32px;background:linear-gradient(transparent,#20b8cd0a);pointer-events:none;border-radius:0 0 8px 8px}.chat-area__message-content{flex:1;min-width:0;overflow-wrap:break-word;font-size:15px;line-height:1.75}.chat-area__message--assistant .chat-area__message-content{color:var(--text-primary)}.chat-area__message-content p{margin-bottom:10px}.chat-area__message-content p:last-child{margin-bottom:0}.chat-area__message-content ul,.chat-area__message-content ol{padding-left:24px;margin-bottom:10px}.chat-area__message-content li{margin-bottom:4px}.chat-area__message-content h1,.chat-area__message-content h2,.chat-area__message-content h3{margin:18px 0 8px}.chat-area__message-content h1{font-size:20px}.chat-area__message-content h2{font-size:18px}.chat-area__message-content h3{font-size:16px}.chat-area__table-wrap{max-width:100%;overflow-x:auto;margin:10px 0;-webkit-overflow-scrolling:touch;border:1px solid var(--border-light);border-radius:6px}.chat-area__message-content table{border-collapse:collapse;width:auto;min-width:100%;margin:0;font-size:14px}.chat-area__message-content th,.chat-area__message-content td{border:1px solid var(--border-light);padding:8px 12px;text-align:left}.chat-area__message-content th{background:var(--bg-tertiary);font-weight:600}.chat-area__message-content code:not(pre code){background:var(--bg-tertiary);padding:2px 7px;border-radius:5px;font-size:13px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;border:1px solid var(--border)}.chat-area__message-content blockquote{border-left:3px solid var(--accent);padding-left:16px;color:var(--text-secondary);margin:10px 0}.chat-area__message-meta{margin-top:12px;padding-top:8px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);opacity:0;animation:fadeIn .4s var(--ease-out) .1s forwards}.chat-area__message--error .chat-area__message-content{color:var(--danger)}.chat-area__message-actions{display:flex;align-items:center;gap:8px;margin-top:12px;opacity:0;animation:fadeIn .4s var(--ease-out) .2s forwards}.chat-area__action-btn{display:flex;align-items:center;gap:6px;padding:6px;border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;transition:all .2s var(--ease-smooth)}.chat-area__action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chat-area__action-btn--danger{color:var(--danger)}.chat-area__action-btn--danger:hover{background:#ef44441a;color:var(--danger)}.code-block{position:relative;margin:12px 0}.code-block pre{background:#0a0a0a!important;border:1px solid var(--border-light);border-radius:var(--radius);padding:16px;overflow-x:auto;font-size:13px;line-height:1.6;font-family:SF Mono,Fira Code,JetBrains Mono,monospace}.code-block pre::-webkit-scrollbar{height:4px}.code-block pre::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:2px}.code-block__copy{position:absolute;top:8px;right:8px;padding:6px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-muted);opacity:0;transition:all .2s var(--ease-smooth);border:1px solid var(--border)}.code-block:hover .code-block__copy{opacity:1}.code-block__copy:hover{color:var(--text-primary);background:var(--bg-hover)}.attach-thumb{position:relative;width:72px;height:72px;border-radius:10px;border:1px solid rgba(255,255,255,.14);overflow:hidden;flex-shrink:0}.attach-thumb--error{border-color:#ff50508c}.attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attach-thumb__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073}.attach-thumb__remove{position:absolute;top:4px;right:4px;padding:3px;display:flex;border:none;border-radius:50%;background:#000000a6;color:#fff;cursor:pointer;opacity:.85}.attach-thumb__remove:hover{opacity:1;background:#000000e6}.doc-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 8px;border-radius:12px;font-size:11px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);max-width:240px}.doc-chip__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-chip__dl{display:inline-flex;padding:2px;border:none;border-radius:5px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0}.doc-chip__dl:hover:not(:disabled){color:var(--text-primary);background:#ffffff1a}.edit-card{margin:10px 0;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-tertiary);overflow:hidden}.edit-card__head{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--text-primary)}.edit-card__head span{flex:1}.edit-card__pane{margin:0;padding:8px 12px;font-size:12.5px;line-height:1.5;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;border-top:1px solid var(--border-light)}.edit-card__pane--old{background:#ef444414;color:#f0a0a0;text-decoration:line-through;text-decoration-color:#ef444473}.edit-card__pane--new{background:#4ade8014;color:#a9e5b8}.edit-card__status{margin-top:8px;font-size:12px;color:var(--text-muted)}.artifact-created-card{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px;padding:10px 12px;background:#7aa2ff14;border:1px solid rgba(122,162,255,.3);border-radius:8px;cursor:pointer;color:inherit;text-align:left;transition:background .15s var(--ease-smooth)}.artifact-created-card:hover{background:#7aa2ff24}.artifact-created-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.artifact-created-card__title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-created-card__hint{font-size:12px;opacity:.6}.voice-player{display:inline-flex;align-items:center;gap:9px;min-width:220px;max-width:300px;padding:7px 12px 7px 8px;border-radius:18px;background:#ffffff12;border:1px solid rgba(255,255,255,.1)}.voice-player--compact{min-width:180px;max-width:240px}.voice-player__btn{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--accent, #7aa2ff);color:#fff;cursor:pointer}.voice-player__btn:disabled{opacity:.5;cursor:default}.voice-player__mic{flex-shrink:0;color:var(--text-muted)}.voice-player__track{flex:1;height:4px;border-radius:2px;background:#ffffff2e;cursor:pointer;overflow:hidden}.voice-player__fill{height:100%;border-radius:2px;background:var(--accent, #7aa2ff);transition:width .1s linear}.voice-player__time{flex-shrink:0;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:32px;text-align:right}.attach-voice{position:relative;display:inline-flex;align-items:center}.attach-voice__remove{margin-left:4px;padding:4px;display:inline-flex;border:none;border-radius:50%;background:#0006;color:#fff;cursor:pointer;opacity:.8}.attach-voice__remove:hover{opacity:1}.msg-attach-thumb{max-width:180px;max-height:130px;border-radius:10px;border:1px solid rgba(255,255,255,.12);object-fit:cover;cursor:zoom-in;transition:filter .2s var(--ease-smooth)}.msg-attach-thumb:hover{filter:brightness(1.12)}.msg-attach-thumb--loading{display:inline-flex;align-items:center;justify-content:center;width:72px;height:54px;color:var(--text-muted);background:#ffffff0d}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:zoom-out}.img-lightbox__img{max-width:94vw;max-height:92vh;border-radius:8px;box-shadow:0 16px 48px #000000b3;cursor:default}.img-lightbox__close{position:absolute;top:16px;right:20px;padding:8px;display:inline-flex;border:1px solid var(--border);border-radius:8px;background:#14141499;color:var(--text-primary);cursor:pointer}.img-lightbox__close:hover{background:var(--bg-hover)}.msg-menu{position:relative;display:inline-flex}.msg-menu__dropdown{position:absolute;bottom:calc(100% + 4px);left:0;z-index:30;min-width:170px;padding:4px;border:1px solid var(--border-light);border-radius:8px;background:#18181bb8;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 32px #00000080}.msg-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:12.5px;cursor:pointer;text-align:left}.msg-menu__item:hover:not(:disabled){background:var(--bg-hover)}.msg-menu__item:disabled{opacity:.5;cursor:default}.msg-menu__item--danger{color:var(--danger)}.msg-menu__item--danger:hover:not(:disabled){background:#ef44441f}.file-card{margin:12px 0;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-tertiary);overflow:hidden}.file-card__row{display:flex;align-items:center;gap:10px;padding:10px 14px}.file-card__icon{color:var(--accent);flex-shrink:0}.file-card__info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.file-card__name{font-size:13.5px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card__meta{font-size:11.5px;color:var(--text-muted)}.file-card__btn{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-primary);font-size:12.5px;cursor:pointer;white-space:nowrap;transition:all .2s var(--ease-smooth)}.file-card__btn:hover:not(:disabled){background:var(--bg-active)}.file-card__btn:disabled{opacity:.6;cursor:default}.file-card__btn--ghost{background:none;border-color:transparent;color:var(--text-muted)}.file-card__btn--ghost:hover{color:var(--text-primary)}.file-card__preview{margin:0;padding:12px 14px;border-top:1px solid var(--border-light);background:#0a0a0a;font-size:12.5px;line-height:1.55;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.file-card__btn--icon{padding:6px 8px;display:inline-flex;align-items:center}.file-card__preview-wrap{position:relative}.file-card__expand{position:absolute;top:10px;right:16px;padding:7px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:#1414148c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--text-primary);cursor:pointer;opacity:.4;transition:opacity .2s var(--ease-smooth),background .2s var(--ease-smooth)}.file-card__preview-wrap:hover .file-card__expand{opacity:.85}.file-card__expand:hover{opacity:1;background:var(--bg-hover)}.file-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:4vh 16px;background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.file-modal__panel{display:flex;flex-direction:column;width:min(860px,100%);max-height:92vh;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);box-shadow:0 16px 48px #0009;overflow:hidden}.file-modal__header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.file-modal__title{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-modal__body{overflow-y:auto;flex:1}.file-modal__body .file-card__preview{max-height:none;border-top:none;padding:24px clamp(16px,6%,56px) 40px;font-size:14.5px;line-height:1.7}.file-card__preview--image{display:flex;justify-content:center;padding:16px}.file-card__preview--image img{max-width:100%;max-height:480px;background:#fff;border-radius:6px}.file-card__svg-pending{display:flex;align-items:center;gap:8px;padding:24px 0;color:var(--text-muted);font-size:12.5px}.file-card__preview--rendered{font-family:inherit;font-size:13.5px;line-height:1.6;white-space:normal}.file-card__preview--rendered h1,.file-card__preview--rendered h2,.file-card__preview--rendered h3{margin:10px 0 6px;font-size:1.1em}.file-card__preview--rendered p,.file-card__preview--rendered ul,.file-card__preview--rendered ol{margin:6px 0}.chat-area__thinking{display:flex;align-items:center;gap:12px;height:24px}.chat-area__thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:thinkingPulse 1.4s infinite ease-in-out both}.chat-area__thinking-dot:nth-child(1){animation-delay:-.32s}.chat-area__thinking-dot:nth-child(2){animation-delay:-.16s}.chat-area__thinking-dot:nth-child(3){animation-delay:0s}@keyframes thinkingPulse{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1;background:var(--accent)}}.chat-area__thinking-block{margin:12px 0;padding:16px;border-radius:var(--radius-lg);background:#18181b66;border:1px solid var(--border);color:var(--text-secondary);font-size:14px}.chat-area__thinking-header{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-muted);margin-bottom:8px;-webkit-user-select:none;user-select:none}.pulse-anim{animation:iconPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.chat-area__thinking-content{opacity:.85}.chat-area__thinking-content p{margin-bottom:8px}.chat-area__thinking-content p:last-child{margin-bottom:0}.chat-area__bottom-float{position:absolute;bottom:0;left:0;right:0;z-index:5;pointer-events:none;background:linear-gradient(transparent 0%,var(--bg-primary) 40%);padding-top:48px}.chat-area__bottom{padding:0 20px 20px;max-width:820px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:10px;pointer-events:auto;animation:fadeInUp .4s var(--ease-out)}.chat-area__doc-hint{font-size:12px;line-height:1.45;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:8px;padding:8px 12px}.chat-area__input-wrap{display:flex;align-items:flex-end;gap:8px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:6px 6px 6px 18px;transition:border-color .3s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}.chat-area__input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--bg-primary),0 0 0 4px var(--accent-soft)}.chat-area__input{flex:1;padding:10px 0;background:transparent;border:none;color:var(--text-primary);font-size:15px;font-family:inherit;line-height:1.5;resize:none;outline:none;max-height:200px}.chat-area__input::placeholder{color:var(--text-muted)}.chat-area__send-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));color:#000;transition:all .2s var(--ease-spring);flex-shrink:0}.chat-area__send-btn:hover:not(:disabled){opacity:.85;transform:scale(1.04)}.chat-area__send-btn:active:not(:disabled){transform:scale(.92)}.chat-area__send-btn:disabled{opacity:.2;cursor:not-allowed}.model-picker{position:relative;align-self:flex-start}.model-picker__btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:100px;border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .25s var(--ease-smooth);-webkit-user-select:none;user-select:none}.model-picker__btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.model-picker__btn:active{transform:scale(.96)}.model-picker__chevron{transition:transform .3s var(--ease-out)}.model-picker__chevron--open{transform:rotate(180deg)}.model-picker__dropdown{position:absolute;bottom:calc(100% + 8px);left:auto;right:0;min-width:280px;max-width:calc(100vw - 24px);background:#18181bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:var(--radius);max-height:360px;overflow-y:auto;z-index:50;box-shadow:0 8px 40px #00000080;transform-origin:bottom right;opacity:0;visibility:hidden;transform:scale(.96) translateY(6px);transition:opacity .2s ease,transform .35s cubic-bezier(.34,1.56,.64,1),visibility .2s;will-change:opacity,transform;pointer-events:none}.model-picker__dropdown--open{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}@media(max-width:768px){.model-picker__dropdown{position:fixed;bottom:96px;left:12px;right:12px;min-width:0;max-width:none;width:auto;transform-origin:bottom center;max-height:50vh}}.model-picker__dropdown::-webkit-scrollbar{width:3px}.model-picker__dropdown::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:2px}.model-picker__group-label{position:sticky;top:0;z-index:1;padding:6px 14px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:#1e1e21fa;border-bottom:1px solid var(--border)}.model-picker__option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;font-size:13px;color:var(--text-secondary);text-align:left;transition:all .15s var(--ease-smooth);border-bottom:1px solid var(--border)}.model-picker__option:last-child{border-bottom:none}.model-picker__option:hover{background:var(--bg-hover);color:var(--text-primary)}.model-picker__option:active{background:var(--bg-active)}.model-picker__option--active{color:var(--accent);background:var(--accent-glow)}.model-picker__option--active:hover{background:var(--accent-soft)}.model-picker__option-info{display:flex;flex-direction:column;gap:2px}.model-picker__option-name{font-weight:500;color:inherit}.model-picker__option-model{font-size:11px;color:var(--text-muted)}.model-picker__option-role{font-size:10px;padding:3px 8px;border-radius:100px;background:var(--bg-tertiary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.hljs{background:transparent!important;color:var(--text-primary)}.streaming-cursor{display:inline-block;width:3px;height:1.2em;margin-left:2px;vertical-align:text-bottom;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--purple));animation:cursorPulse 1.2s ease-in-out infinite}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .35s var(--ease-out)}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar__close-btn,.layout__menu-btn{display:flex}.chat-area__message{padding:16px;gap:12px}.chat-area__bottom{padding:0 12px 16px;gap:6px}.chat-area__bottom>div:first-child{gap:6px}.chat-mode-picker{padding:2px}.chat-mode-picker__chip{padding:4px 8px;font-size:11.5px;gap:3px}.model-picker__btn,.chat-area__save-artifact-btn{padding:5px 10px;font-size:12px}.chat-area__input-wrap{padding:4px 4px 4px 12px;gap:3px}.chat-area__input{font-size:14px;padding:8px 0}.chat-area__attach-btn{padding:6px}.chat-area__messages{padding-bottom:128px}.chat-area__welcome-brand{font-size:32px}.chat-area__welcome-chips{flex-direction:column;align-items:center}}@media(min-width:769px){.sidebar{position:relative}.sidebar-overlay{display:none!important}}.workspace{display:flex;flex-direction:row;width:100%;height:100%;padding-top:var(--layout-header-h);box-sizing:border-box;overflow:hidden;background:var(--bg-primary)}.workspace__pane{height:100%;overflow:hidden;position:relative}.workspace__pane--chat{border-right:1px solid rgba(255,255,255,.04);min-width:0;display:flex;flex-direction:column}.workspace__pane--chat>.chat-area{flex:1;height:100%}.workspace__pane--artifact{display:flex;flex-direction:column;min-width:0}.workspace--mobile{position:relative}.workspace__pane--chat-fullwidth{width:100%!important}.workspace__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;animation:backdrop-fade-in .2s ease-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.workspace__drawer{position:fixed;top:0;right:0;bottom:0;width:92%;background:#0f1115;z-index:60;display:flex;flex-direction:column;box-shadow:-8px 0 30px #00000080;transform:translate(0);transition:transform .22s cubic-bezier(.2,.8,.2,1),width .22s cubic-bezier(.2,.8,.2,1);animation:drawer-slide-in .24s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}.workspace__drawer--full{width:100%}.workspace__drawer--peek{transform:translate(100%);pointer-events:none}.workspace__drawer--closing{animation:none;transform:translate(100%);pointer-events:none}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.workspace__peek{position:fixed;right:0;top:50%;z-index:55;width:30px;height:110px;padding:0;transform:translateY(-50%);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.09);border-right:none;border-radius:12px 0 0 12px;box-shadow:-8px 0 24px #0006;color:#b5bdc8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.2,.8,.2,1),color .12s;animation:peek-slide-in .22s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}.workspace__peek:hover{color:#fff}.workspace__peek--closing{animation:none;transform:translate(100%,-50%);pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1)}@keyframes peek-slide-in{0%{transform:translate(100%,-50%)}to{transform:translateY(-50%)}}.workspace__drawer-handle{height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}.workspace__drawer-handle:after{content:"";width:36px;height:4px;border-radius:999px;background:#ffffff38}.workspace__drawer-handle:hover:after{background:#ffffff59}.workspace__resizer{width:6px;position:relative;background:transparent;cursor:col-resize;flex-shrink:0}.workspace__resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:#ffffff0f;transition:width .15s,background .15s,box-shadow .15s}.workspace__resizer:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:28px;border-radius:2px;background:#ffffff24;transform:translate(-50%,-50%);transition:background .15s,box-shadow .15s}.workspace__resizer:hover:before,.workspace__resizer:active:before{width:3px;background:var(--accent-mid);box-shadow:0 0 8px #20b8cd66}.workspace__resizer:hover:after,.workspace__resizer:active:after{background:var(--accent-strong);box-shadow:0 0 6px #20b8cd59}.workspace__close-btn{position:absolute;top:8px;right:8px;z-index:10;background:#00000080;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px;cursor:pointer;color:#ccc;display:flex;align-items:center;justify-content:center}.workspace__close-btn:hover{background:#ffffff14;color:#fff}.workspace__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center;color:#888;gap:4px}.artifact-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#1e1e1e}.artifact-panel--loading,.artifact-panel--error{align-items:center;justify-content:center;gap:8px;color:#aaa}.artifact-panel__header{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);flex-shrink:0}.artifact-panel__title-input{flex:1;min-width:0;background:transparent;border:none;outline:none;border-bottom:1px solid transparent;color:var(--text-primary);font-size:14px;font-weight:500;padding:4px 0;transition:border-color .15s}.artifact-panel__title-input::placeholder{color:var(--text-muted)}.artifact-panel__title-input:focus{border-bottom-color:var(--accent-mid)}.artifact-panel__status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--glass-highlight);border-radius:999px;font-size:11px;color:var(--text-secondary);flex-shrink:0}.artifact-panel__status-icon--dirty{color:#ffb86c}.artifact-panel__status-icon--clean{color:#6abf69}.artifact-panel__save-btn,.artifact-panel__export-btn,.artifact-panel__versions-btn,.artifact-panel__close-btn{height:30px;min-width:30px;padding:0 8px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;transition:background .12s,color .12s}.artifact-panel__save-btn:hover:not(:disabled),.artifact-panel__export-btn:hover:not(:disabled),.artifact-panel__versions-btn:hover:not(:disabled),.artifact-panel__close-btn:hover{background:#ffffff12;color:var(--text-primary)}.artifact-panel__save-btn:disabled,.artifact-panel__export-btn:disabled,.artifact-panel__versions-btn:disabled{opacity:.45;cursor:not-allowed}.artifact-panel__save-btn:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.artifact-panel__save-btn:not(:disabled):hover{background:var(--accent-soft-hover);color:var(--text-primary)}.artifact-panel__header-divider{width:1px;height:18px;background:var(--glass-border);margin:0 2px;flex-shrink:0}.chat-mode-picker{display:inline-flex;gap:2px;padding:3px;background:var(--glass-highlight);border:1px solid var(--glass-border);border-radius:999px;flex-shrink:0}.chat-mode-picker__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:transparent;border:none;border-radius:999px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.chat-mode-picker__chip:hover:not(.chat-mode-picker__chip--active){color:var(--text-primary)}.chat-mode-picker__chip--active{background:var(--accent-soft);color:var(--accent-text)}.chat-area__save-artifact-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--glass-highlight);border:1px solid var(--glass-border);border-radius:999px;color:var(--text-secondary);font-size:12px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.chat-area__save-artifact-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-mid)}.chat-area__save-artifact-btn:disabled{opacity:.4;cursor:not-allowed}.chat-area__save-artifact-btn--loading{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-mid)}.glass-popover{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 40px #00000073;padding:10px 12px;max-height:360px;overflow-y:auto;color:var(--text-primary);animation:glass-popover-enter .12s ease-out}@keyframes glass-popover-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.artifact-panel__save-error{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ff50501f;color:#ff8a8a;font-size:12px;border-bottom:1px solid rgba(255,80,80,.3)}.artifact-panel__editor{flex:1;min-height:0}.artifact-editor__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#888}.artifact-rich{display:flex;flex-direction:column;height:100%;min-height:0}.artifact-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;flex-shrink:0;padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.artifact-toolbar__btn{height:28px;min-width:28px;padding:0 6px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.artifact-toolbar__btn:hover:not(:disabled){background:#ffffff12;color:var(--text-primary)}.artifact-toolbar__btn--active{background:var(--accent-soft);color:var(--accent-text)}.artifact-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.artifact-toolbar__sep{width:1px;height:18px;margin:0 5px;background:var(--border-light)}.artifact-toolbar__spacer{flex:1}.artifact-download{display:flex;flex-direction:column;gap:2px}.artifact-download__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left}.artifact-download__item:hover:not(:disabled){background:var(--bg-hover)}.artifact-download__item:disabled{opacity:.5;cursor:default}.artifact-versions__current{padding:1px 6px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);font-size:10px;white-space:nowrap}.artifact-toolbar__size{min-width:20px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted);-webkit-user-select:none;user-select:none}.artifact-rich__scroll{flex:1;min-height:0;overflow-y:auto;padding:28px 32px 96px}.artifact-rich__content{max-width:780px;margin:0 auto;outline:none;color:var(--text-primary);font-size:var(--artifact-font-size, 15px);line-height:1.7}.artifact-rich__content>*:first-child{margin-top:0}.artifact-rich__content h1,.artifact-rich__content h2,.artifact-rich__content h3{font-weight:600;line-height:1.3;margin:26px 0 10px}.artifact-rich__content h1{font-size:1.73em}.artifact-rich__content h2{font-size:1.4em}.artifact-rich__content h3{font-size:1.13em}.artifact-rich__content p{margin:0 0 14px}.artifact-rich__content ul,.artifact-rich__content ol{margin:0 0 14px;padding-left:24px}.artifact-rich__content li{margin:4px 0}.artifact-rich__content li>p{margin:0}.artifact-rich__content blockquote{margin:0 0 14px;padding:2px 0 2px 14px;border-left:3px solid var(--accent-mid);color:var(--text-secondary)}.artifact-rich__content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.artifact-rich__content code:not(pre code){padding:1px 5px;border-radius:5px;background:var(--bg-tertiary);font-size:.9em}.artifact-rich__content pre{margin:0 0 14px;padding:12px 14px;border-radius:var(--radius);background:var(--bg-tertiary);overflow-x:auto}.artifact-rich__content pre code{font-size:.87em;line-height:1.55}.artifact-rich__content table{width:100%;margin:0 0 14px;border-collapse:collapse;table-layout:fixed}.artifact-rich__content th,.artifact-rich__content td{padding:7px 10px;border:1px solid var(--border-light);text-align:left;vertical-align:top}.artifact-rich__content th{background:var(--bg-tertiary);font-weight:600}.artifact-rich__content .selectedCell{background:var(--accent-soft)}.layout__admin-btn{margin-left:auto;background:#20b8cd1f;border:1px solid rgba(32,184,205,.32);color:#7aa2ff;padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer}.layout__admin-btn:hover{background:#20b8cd33}.admin{flex:1;overflow:auto;padding:24px;color:#ddd;background:#0d0f14}.admin--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%}.admin__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin__header h1{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.admin__header-actions{display:flex;align-items:center;gap:8px}.admin__days-select,.admin__refresh-btn{background:#1a1d25;border:1px solid rgba(255,255,255,.08);color:#ddd;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer}.admin__refresh-btn{display:flex;align-items:center;gap:4px}.admin__refresh-btn:hover{background:#ffffff0f}.admin__error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ff50501f;color:#ff8a8a;border-radius:6px;margin-bottom:12px}.admin__section{margin-bottom:28px}.admin__section h2{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 8px}.admin__empty{color:#666;font-style:italic}.admin__table{width:100%;border-collapse:collapse;font-size:13px}.admin__table th,.admin__table td{border-bottom:1px solid rgba(255,255,255,.05);padding:8px 10px;text-align:left}.admin__table th{font-weight:500;color:#888;background:#ffffff05}.admin__num{text-align:right;font-variant-numeric:tabular-nums}.admin__user-cell{display:flex;flex-direction:column}.admin__telegram-id{font-size:11px;color:#666}.admin__role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}.admin__role-badge--admin{background:#ffb4502e;color:#ffb86c}.admin__role-badge--vip{background:#b478ff2e;color:#b478ff}.admin__role-badge--member{background:#6abf692e;color:#6abf69}.admin__role-badge--guest{background:#9696962e;color:#aaa}.admin__providers-cell{max-width:280px;font-size:11px;color:#aaa}.admin__edit-btn{background:#2c5aa0;border:none;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer}.admin__edit-btn:hover{background:#3470c5}.admin-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.admin-modal{background:#1a1d25;border-radius:8px;width:440px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08)}.admin-modal__header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}.admin-modal__header h3{margin:0;font-size:14px}.admin-modal__close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}.admin-modal__body{padding:12px 16px;overflow-y:auto;flex:1}.admin-modal__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.admin-modal__row label{font-size:12px;color:#ccc;flex:1}.admin-modal__row input{width:140px;background:#0d0f14;border:1px solid rgba(255,255,255,.08);color:#ddd;padding:4px 8px;border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.admin-modal__subhead{margin:16px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#999}.admin-modal__hint{margin:0 0 8px;font-size:11px;color:#777}.admin-modal__footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:flex-end;gap:8px}.admin-modal__cancel,.admin-modal__save{padding:6px 14px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px}.admin-modal__cancel{background:transparent;border:1px solid rgba(255,255,255,.12);color:#ccc}.admin-modal__save{background:#2c5aa0;border:none;color:#fff}.admin-modal__save:disabled{background:#444;cursor:not-allowed}.project-sources-panel{display:flex;flex-direction:column;gap:0;max-height:520px;overflow:hidden}.project-sources-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid var(--glass-border);font-size:13px;font-weight:600;color:var(--text-primary)}.project-sources-panel__search{padding:8px 12px;border-bottom:1px solid var(--glass-border)}.project-sources-panel__search input{width:100%;box-sizing:border-box;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:6px;padding:5px 10px;font-size:12px;color:var(--text-primary);outline:none}.project-sources-panel__search input:focus{border-color:var(--accent)}.project-sources-panel__list{overflow-y:auto;flex:1;padding:6px 8px;display:flex;flex-direction:column;gap:6px}.project-sources-panel__empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:12px;line-height:1.6}.project-sources-panel__card{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:8px;padding:8px 10px;cursor:pointer;transition:background .12s}.project-sources-panel__card:hover{background:#ffffff12}.project-sources-panel__card.is-expanded{border-color:var(--accent-mid)}.project-sources-panel__card-row{display:flex;align-items:center;gap:8px}.project-sources-panel__favicon{width:16px;height:16px;border-radius:3px;flex-shrink:0}.project-sources-panel__card-info{flex:1;min-width:0}.project-sources-panel__card-title{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-sources-panel__card-meta{font-size:11px;color:var(--text-muted);display:flex;gap:6px;align-items:center}.project-sources-panel__card-actions{display:flex;gap:4px;flex-shrink:0}.project-sources-panel__btn{background:none;border:none;padding:3px 5px;border-radius:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;transition:color .1s,background .1s}.project-sources-panel__btn:hover{color:var(--text-primary);background:#ffffff14}.project-sources-panel__btn--danger:hover{color:#ff7070;background:#ff50501f}.project-sources-panel__detail{margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border)}.project-sources-panel__events{display:flex;flex-direction:column;gap:4px}.project-sources-panel__event{font-size:11px;color:var(--text-muted);cursor:pointer;padding:3px 6px;border-radius:4px;transition:background .1s}.project-sources-panel__event:hover{background:#ffffff0f;color:var(--accent)}.project-sources-panel__note-form{margin-top:6px;display:flex;flex-direction:column;gap:4px}.project-sources-panel__note-input{background:#ffffff0d;border:1px solid var(--glass-border);border-radius:5px;padding:4px 8px;font-size:12px;color:var(--text-primary);resize:vertical;min-height:48px;outline:none}.project-sources-panel__note-input:focus{border-color:var(--accent)}.project-sources-panel__add-btn{display:flex;align-items:center;gap:5px;margin:0 8px 8px;padding:6px 10px;background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:6px;color:var(--accent);font-size:12px;cursor:pointer;transition:background .12s;width:calc(100% - 16px);justify-content:center}.project-sources-panel__add-btn:hover{background:var(--accent-soft-hover)}.sidebar__sources-btn{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;transition:color .1s,background .1s;width:100%}.sidebar__sources-btn:hover,.sidebar__sources-btn.is-active{color:var(--accent);background:var(--accent-soft)}.chat-area__quote-btn{position:fixed;transform:translate(-50%,-100%);z-index:90;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--accent-text);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border:1px solid var(--accent-mid);border-radius:8px;box-shadow:0 6px 18px #00000059;cursor:pointer}.chat-area__quote-btn:hover{background:var(--accent-soft-hover)}.chat-search{padding:6px 10px 0}.chat-search__box{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px}.chat-search__box:focus-within{border-color:var(--accent-mid)}.chat-search__icon{color:var(--text-muted);flex:none}.chat-search__input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;min-width:0}.chat-search__input::placeholder{color:var(--text-muted)}.chat-search__clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer}.chat-search__clear:hover{color:var(--text);background:var(--glass-highlight)}.chat-search__results{margin-top:6px;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.chat-search__status{display:flex;align-items:center;gap:6px;padding:8px;font-size:12px;color:var(--text-muted)}.chat-search__result{display:flex;flex-direction:column;gap:2px;text-align:left;padding:7px 9px;background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer}.chat-search__result:hover{background:var(--glass-highlight);border-color:var(--glass-border)}.chat-search__result-title{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-search__result-snippet{font-size:12px;line-height:1.4;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-search__mark{background:var(--accent-soft);color:var(--accent-text);border-radius:3px;padding:0 2px}.artifact-sources{display:flex;flex-direction:column;gap:10px}.artifact-sources__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.artifact-sources__title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.artifact-sources__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;font-size:11px;font-weight:600;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:9px}.artifact-sources__edit-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--glass-border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.artifact-sources__edit-toggle:hover{color:var(--accent);border-color:var(--accent-mid);background:var(--accent-soft)}.artifact-sources__empty{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted);padding:12px;background:var(--glass-highlight);border:1px dashed var(--glass-border);border-radius:8px}.artifact-sources__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.artifact-sources__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid transparent;transition:background .12s,border-color .12s}.artifact-sources__item:hover{background:var(--glass-highlight);border-color:var(--glass-border)}.artifact-sources__bubble{flex:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent-soft),var(--accent-soft-hover));border:1px solid var(--accent-mid);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.artifact-sources__body{display:flex;flex-direction:column;min-width:0;flex:1}.artifact-sources__host{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none}.artifact-sources__host:hover{text-decoration:underline}.artifact-sources__url{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-sources__remove{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer}.artifact-sources__remove:hover{color:var(--danger);border-color:var(--danger);background:#ff6b6b14}.artifact-sources__add{display:flex;gap:6px}.artifact-sources__add-input{flex:1;height:30px;padding:0 10px;font-size:12px;color:var(--text);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;outline:none}.artifact-sources__add-input:focus{border-color:var(--accent-mid)}.artifact-sources__add-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:6px;color:var(--accent);cursor:pointer}.artifact-sources__add-btn:hover{background:var(--accent-soft-hover)}.artifact-sources__include{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;padding-top:4px;border-top:1px solid var(--glass-border);margin-top:2px}.login-form__tabs{display:flex;width:100%;gap:4px;background:var(--bg-input);border-radius:var(--radius);padding:4px;margin-bottom:4px}.login-form__tab{flex:1;padding:8px 12px;border-radius:calc(var(--radius) - 2px);font-size:14px;font-weight:500;color:var(--text-muted);transition:background .2s,color .2s}.login-form__tab--active{background:var(--bg-secondary);color:var(--text-primary)}.login-form__dev-link{font-size:12px;color:var(--text-muted);opacity:.6;margin-top:8px;transition:opacity .2s}.login-form__dev-link:hover:not(:disabled){opacity:1;color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s var(--ease-smooth)}.modal-box{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:400px;display:flex;flex-direction:column;gap:0;animation:fadeInScale .2s var(--ease-out)}.modal-box__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-light)}.modal-box__title{font-size:16px;font-weight:600;color:var(--text-primary)}.modal-box__close{color:var(--text-muted);transition:color .15s}.modal-box__close:hover{color:var(--text-primary)}.modal-box__body{padding:20px 24px;display:flex;flex-direction:column;gap:12px}.modal-box__footer{padding:12px 24px 20px;display:flex;justify-content:flex-end}.link-tg-modal__code{font-size:36px;font-weight:700;letter-spacing:8px;text-align:center;padding:16px;background:var(--bg-input);border-radius:var(--radius);color:var(--accent);font-family:monospace}.link-tg-modal__command{font-family:monospace;font-size:14px;padding:10px 14px;background:var(--bg-input);border-radius:var(--radius);color:var(--text-secondary);word-break:break-all}.link-tg-modal__hint{font-size:13px;color:var(--text-muted)}.link-tg-modal__expires{font-size:12px;color:var(--text-muted);opacity:.7}.link-tg-modal__error{color:var(--danger);font-size:13px}.link-tg-modal__copy-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius);background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-secondary);font-size:14px;font-weight:500;transition:background .2s,color .2s}.link-tg-modal__copy-btn:hover{background:var(--glass-bg-strong);color:var(--text-primary)}
