:root{--app-height: 100vh;--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #161616;--bg-accent: #1a1a1a;--bg-hover: #222;--bg-active: #1f1f1f;--border-primary: #1a1a1a;--border-secondary: #252525;--border-accent: #2e2e2e;--border-strong: #333;--text-primary: #d0d0d0;--text-secondary: #a0a0a0;--text-muted: #707070;--text-bright: #ffffff;--accent-color: #ffffff;--accent-contrast: #000000;--bg-deep: #0d0d0d;--border-deep: #202020;--shadow: rgba(0, 0, 0, .6);--selection-bg: rgba(255, 255, 255, .25);--link-color: #60a5fa;--link-hover: #93c5fd}body.light-mode{--bg-primary: #ffffff;--bg-secondary: #f6f6f8;--bg-tertiary: #f0f0f2;--bg-accent: #ffffff;--bg-hover: #f1f2f5;--bg-active: #e8eaed;--border-primary: #ebebed;--border-secondary: #e2e2e6;--border-accent: #d8d8de;--border-strong: #c8c8cd;--text-primary: #121212;--text-secondary: #3c3c43;--text-muted: #6e6e73;--text-bright: #000000;--accent-color: #1a1a1b;--accent-contrast: #ffffff;--bg-deep: #ffffff;--border-deep: #ebebed;--shadow: rgba(0, 0, 0, .04);--selection-bg: rgba(70, 120, 180, .18);--link-color: #2563eb;--link-hover: #1d4ed8}::selection{background-color:var(--selection-bg)}::-moz-selection{background-color:var(--selection-bg)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:var(--app-height, 100vh);display:flex;font-size:14px;line-height:1.4;transition:background .3s ease,color .3s ease;caret-color:var(--text-primary)}a:not([class]){color:var(--link-color);text-decoration:none;transition:color .2s ease}a:not([class]):hover{color:var(--link-hover);text-decoration:underline}.preload *{transition:none!important}#sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;height:100vh;height:var(--app-height, 100vh);flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1),border-color .3s ease;overflow:visible;position:relative;will-change:width;contain:style}body.sidebar-collapsed #sidebar{width:0;border-color:transparent;overflow:visible}#sidebar-toggle{position:absolute;top:12px;left:216px;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;padding:0;transition:left .3s cubic-bezier(.4,0,.2,1),background .2s ease,border-color .2s ease,color .2s ease;z-index:10;display:flex;align-items:center;justify-content:center;width:32px;height:32px}#sidebar-toggle:hover{color:var(--text-primary)}body.sidebar-collapsed #sidebar-toggle{left:12px;background:var(--bg-accent);border:1px solid var(--border-strong);border-radius:4px}#sidebar-header{padding:3.5rem .75rem .75rem;border-bottom:1px solid var(--border-primary);transition:border-color .3s ease;min-height:calc(4.25rem + 32px)}body.sidebar-collapsed #sidebar-header{border-color:transparent;padding-top:3.5rem;min-height:calc(4.25rem + 32px)}#new-chat-btn{position:absolute;top:3.5rem;left:.75rem;width:calc(100% - 1.5rem);height:32px;background:var(--bg-accent);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:6px;padding:0 7px;font-size:.8rem;cursor:pointer;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-start;gap:10px;overflow:hidden;white-space:nowrap;z-index:11}#new-chat-btn svg{width:16px;height:16px;flex-shrink:0}body.sidebar-collapsed #new-chat-btn{width:32px;background:var(--bg-accent);border:1px solid var(--border-secondary)}body.sidebar-collapsed #new-chat-btn:hover{background:var(--bg-hover)}body.sidebar-collapsed #new-chat-btn span{display:none}#new-chat-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}#conversations-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;transition:opacity .2s ease;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}body.sidebar-collapsed #conversations-list{visibility:hidden;opacity:0;pointer-events:none}body:not(.sidebar-collapsed) #conversations-list{animation:fadeIn .15s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#conversations-list::-webkit-scrollbar{width:4px}#conversations-list::-webkit-scrollbar-track{background:transparent}#conversations-list::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:2px}.conversation-item{padding:.55rem .7rem;border-radius:5px;cursor:pointer;font-size:.8rem;color:var(--text-primary);margin-bottom:2px;transition:all .1s ease;display:flex;align-items:center;justify-content:space-between;white-space:nowrap;overflow:hidden}.conversation-item:hover{background:var(--bg-accent);color:var(--text-bright)}.conversation-item.active{background:var(--bg-active);color:var(--text-primary)}.conversation-title{overflow:hidden;text-overflow:ellipsis;flex:1}.conversation-delete{opacity:0;color:#707070;padding:.2rem;border-radius:4px;display:flex;align-items:center;justify-content:center;margin-left:.5rem;transition:all .15s ease}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{background:#2a2a2a;color:#e0e0e0}.conversation-delete svg{width:14px;height:14px}.sidebar-spinner{width:14px;height:14px;border:2px solid var(--text-muted);border-top-color:var(--text-primary);border-radius:50%;animation:spin 1s linear infinite;display:none;flex-shrink:0;margin-left:.5rem}.conversation-item.generating .sidebar-spinner{display:block}.conversation-item.generating .conversation-delete{display:none}#sidebar-bottom{margin-top:auto;border-top:1px solid var(--border-primary);display:flex;align-items:center;height:60px;padding:0 12px 0 56px;position:relative;transition:border-color .3s ease,opacity .2s ease;overflow:hidden}body.sidebar-collapsed #sidebar-bottom{border-color:transparent;width:0;padding:0}#sidebar-footer{font-size:.65rem;color:var(--text-muted);white-space:nowrap;transition:opacity .2s ease;opacity:1;overflow:hidden;text-overflow:ellipsis}body.sidebar-collapsed #sidebar-footer{opacity:0;pointer-events:none;width:0}#main{flex:1;display:flex;flex-direction:column;height:100vh;height:var(--app-height, 100vh);min-width:0}header{padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.header-logo{height:24px;width:auto;transition:opacity .3s ease,margin-left .3s ease,visibility .3s ease;cursor:pointer}body.sidebar-collapsed .header-logo{margin-left:48px;opacity:1;visibility:visible}body:not(.sidebar-collapsed) .header-logo{opacity:0;visibility:hidden}.sidebar-logo{position:absolute;top:16px;left:20px;height:24px;width:auto;z-index:10;opacity:0;visibility:hidden;transition:all .3s ease;cursor:pointer}body:not(.sidebar-collapsed) .sidebar-logo{opacity:1;visibility:visible}body.light-mode .header-logo,body.light-mode .sidebar-logo,body.light-mode #intro-logo-container img{filter:invert(1) brightness(.2)}#header-right{display:flex;align-items:center;gap:.75rem}#model-select{background:var(--bg-accent);color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:4px;padding:.3rem .5rem;font-size:.7rem;cursor:pointer;font-family:inherit}#model-select:hover{background:var(--bg-hover);border-color:var(--border-strong)}#model-select:focus{outline:none;border-color:var(--border-accent)}.header-btn{background:var(--bg-accent);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:6px;padding:.4rem .8rem;font-size:.8rem;cursor:pointer;transition:all .15s ease;font-family:inherit;font-weight:500}.header-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-bright)}.custom-select-container{position:relative;font-size:.7rem;min-width:150px}.select-trigger{background:var(--bg-accent);color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:4px;padding:.3rem .5rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;-webkit-user-select:none;user-select:none}.select-trigger:hover{background:var(--bg-hover);border-color:var(--border-strong)}.select-options{position:absolute;top:100%;right:0;left:0;background:var(--bg-accent);border:1px solid var(--border-secondary);border-radius:4px;margin-top:4px;z-index:100;display:none;max-height:200px;overflow-y:auto;box-shadow:0 4px 6px var(--shadow)}.custom-select-container.open .select-options{display:block}.select-option{padding:.4rem .5rem;color:var(--text-secondary);cursor:pointer;transition:background .1s ease}.select-option:hover{background:var(--bg-hover);color:var(--text-primary)}.select-option.selected{background:var(--bg-active);color:var(--text-bright)}#chat-area{flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden;transition:justify-content .2s ease}#chat-area.centered{justify-content:flex-start;padding-top:15vh;padding-bottom:5vh}#chat-area.centered #chat-container{display:none}#chat-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem;display:block;width:100%}@media(min-width:850px){#chat-container{padding-left:max(.75rem,calc(50% - 400px));padding-right:max(.75rem,calc(50% - 400px))}#welcome-title,#input-container{max-width:800px;width:calc(100% - 1.5rem);margin-left:auto!important;margin-right:auto!important}}#chat-container::-webkit-scrollbar{width:8px}#chat-container::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}#chat-container::-webkit-scrollbar-thumb:hover{background:var(--border-strong);cursor:pointer}.message{padding:.7rem 1rem;border-radius:6px;max-width:90%;line-height:1.5;font-size:1rem;position:relative;display:flex;flex-direction:column;flex-shrink:0;width:fit-content;margin-bottom:2.2rem}.message:after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:35px;z-index:5}.message-content{display:block;width:100%}.message-content p{margin-bottom:.75rem}.message-content p:last-child{margin-bottom:0}.message-content ul,.thought-bubble ul,.draft-content ul,.message-content ol,.thought-bubble ol,.draft-content ol{margin-left:0;padding-left:1.5rem;margin-bottom:.75rem}.message-content ol{padding-left:1.8rem}.message-content li{margin-bottom:.25rem}.legal-list{list-style:none;padding-left:1.25rem;border-left:2px solid var(--border-secondary);margin:1rem 0;transition:border-color .2s ease}.legal-list:hover{border-left-color:var(--border-strong)}.legal-list-item{margin-bottom:.75rem;position:relative}.message-content code{background:var(--bg-accent);padding:.1rem .3rem;border-radius:3px;font-family:SF Mono,Consolas,monospace;font-size:.9em}.message-content pre{background:var(--bg-accent);padding:.75rem;border-radius:6px;overflow-x:auto;margin-bottom:.75rem;border:1px solid var(--border-secondary)}.message-content pre code{background:transparent;padding:0;border-radius:0;font-size:.85em}.message-content h1,.message-content h2,.message-content h3{margin-top:1rem;margin-bottom:.5rem;color:var(--text-bright);font-weight:600}.message-content h1{font-size:1.25rem}.message-content h2{font-size:1.1rem}.message-content h3{font-size:1rem}.thought-bubble p{margin-bottom:.4rem}.thought-bubble p:last-child{margin-bottom:0}.message.user{background:var(--bg-tertiary);margin-left:auto;color:var(--text-primary);border:1px solid var(--border-secondary)}.message.assistant{background:transparent;margin-right:auto;color:var(--text-primary);border:none;min-width:60px}.message.system{background:transparent;margin:0 auto;font-size:.75rem;color:var(--text-muted);border:none;padding:.4rem;text-align:center}.tool-info{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-primary)}.tool-details{margin-top:8px;border-radius:8px;overflow:hidden;width:100%}.tool-summary{font-size:.8em;color:var(--text-muted);cursor:pointer;padding:4px 8px;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px;transition:color .2s;width:100%}.summary-content{display:flex;align-items:center;gap:6px;flex:1}.tool-summary::-webkit-details-marker{display:none}.summary-content:before{content:"▶";font-size:.7em;transition:transform .2s;flex-shrink:0}.tool-details[open] .summary-content:before{transform:rotate(90deg)}.tool-summary:hover{color:var(--text-primary)}.tool-summary:has(.message-copy-btn:hover){color:var(--text-muted)}.tool-summary .message-copy-btn{opacity:0;transition:opacity .2s;margin-left:auto}.message:hover .message-copy-btn{opacity:1}.message-footer{display:flex;justify-content:flex-end;padding-top:4px;margin-top:4px;width:100%}.message-footer .message-copy-btn{opacity:0;transition:opacity .2s}.message-header{display:flex;justify-content:flex-start;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-secondary)}.message-toggle{display:flex;background:var(--bg-secondary);border-radius:6px;padding:2px;gap:2px}.toggle-option{padding:2px 8px;border-radius:4px;font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;font-weight:500;display:flex;align-items:center;gap:4px}.toggle-option.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.toggle-option:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.toggle-option .spinner{margin-right:4px}.tool-tag{font-size:.58rem;font-family:SF Mono,Consolas,monospace;padding:.2rem .25rem;border-radius:2px;background:var(--bg-tertiary);border:1px solid var(--border-deep);color:var(--text-muted);display:flex;align-items:flex-start;gap:.25rem;line-height:1.3;width:100%;max-width:100%;word-break:break-word;overflow-wrap:anywhere}.tool-tag svg{width:8px;height:8px;opacity:.4}.tool-tag.search,.tool-tag.read,.tool-tag.docs{color:var(--text-secondary);background:var(--bg-deep);border-color:var(--border-secondary)}.draft-details{margin-bottom:12px;border-radius:6px;background:var(--bg-deep);border:1px solid var(--border-primary)}.draft-summary{font-size:.8em;color:var(--text-muted);cursor:pointer;padding:8px 12px;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.draft-icon{width:14px;height:14px;color:#606060;flex-shrink:0}.draft-summary::-webkit-details-marker{display:none}.draft-summary .summary-content:before{content:"▶";font-size:.7em;margin-right:6px;transition:transform .2s}.draft-details[open] .summary-content:before{transform:rotate(90deg)}.draft-summary:hover{color:var(--text-primary)}.draft-content{padding:12px;border-top:1px solid var(--border-primary);color:var(--text-secondary);font-size:.9em;line-height:1.5}.draft-content p{margin-bottom:.5rem}.draft-content p:last-child{margin-bottom:0}.message.assistant.loading{min-height:40px;padding-left:2.2rem}.message.assistant.loading .message-content{padding-right:0}.message.assistant.loading .tool-info{margin-top:0;padding-top:0;border-top:none}.loading-logo-container{position:absolute;top:.5rem;left:.5rem;width:30px;height:30px;display:block;overflow:visible}.loading-logo-container svg{width:100%;height:100%;overflow:visible}.message.loading .message-copy-btn{display:none!important}#welcome-title{text-align:center;color:#e0e0e0;font-weight:500;font-size:1.5rem;margin-bottom:1.2rem;transition:opacity .2s ease,transform .2s ease}#welcome-title.hidden{opacity:0;pointer-events:none;display:none}#input-container{display:flex;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.2rem;margin-right:.6rem;margin-left:.6rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:12px;transition:border-color .2s,background .2s}#input-container.has-features{align-items:center}#input-container.has-features #input-main{flex:0 0 100%;order:-1}#input-container.drag-over{border-color:var(--accent-color);border-style:dashed;background:var(--bg-tertiary)}#chat-area.centered #input-container{max-width:600px;width:calc(100% - 1.5rem);margin:0 auto}#input-main{flex:1;display:flex;flex-direction:column}#attachments-preview{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}#message-input{width:100%;background:transparent;border:none;padding:.5rem 10px .5rem .25rem;color:var(--text-primary);font-size:.9rem;resize:none;min-height:24px;max-height:30vh;font-family:inherit;line-height:1.5;overflow-y:auto}#message-input:focus{outline:none;box-shadow:none;border:none}#message-input::-webkit-scrollbar{width:6px}#message-input::-webkit-scrollbar-track{background:transparent}#message-input::-webkit-scrollbar-thumb{background:#333;border-radius:3px}#active-features{display:flex;flex:1;align-items:center;gap:6px}#active-features:empty{display:none}.active-feature-chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 6px 0 8px;background:#3b82f61a;color:#3b82f6;border-radius:6px;font-size:.75rem;line-height:1;box-sizing:border-box}.active-feature-chip svg{flex-shrink:0}.active-feature-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:inherit;cursor:pointer;padding:1px;border-radius:3px;opacity:.6;transition:opacity .15s ease}.active-feature-remove:hover{opacity:1}@media(max-width:480px){.active-feature-chip span{display:none}.active-feature-chip{padding:0 4px;gap:3px}}#plus-menu-wrapper{position:relative;margin-right:4px;margin-bottom:5px}#input-container.has-features #plus-menu-wrapper{margin-bottom:0}#plus-menu-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}#plus-menu-btn:hover,#plus-menu-btn.open{color:var(--text-primary);background:var(--bg-hover)}.plus-menu{position:absolute;left:0;background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:8px;padding:4px;display:flex;flex-direction:column;min-width:190px;box-shadow:0 4px 16px #00000040;z-index:100;opacity:1;transition:opacity .15s ease}.plus-menu.hidden{opacity:0;pointer-events:none}.plus-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:.85rem;font-family:inherit;transition:all .15s ease;white-space:nowrap}.plus-menu-item:hover{color:var(--text-primary);background:var(--bg-hover)}.plus-menu-item.active{color:#3b82f6;background:#3b82f61a}.plus-menu-item.active:hover{background:#3b82f62e}.tool-tag.web-search{color:var(--text-secondary);background:var(--bg-deep);border-color:var(--border-secondary)}.tool-tag.web-search svg{opacity:.4}.web-search-content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.web-search-sources{display:flex;flex-wrap:wrap;gap:3px}.web-search-source-link{font-size:.55rem;color:var(--text-secondary);background:var(--bg-deep);border:1px solid var(--border-secondary);border-radius:3px;padding:1px 5px;text-decoration:none;transition:all .15s ease;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.web-search-source-link:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.tool-tag.document-generated{color:var(--text-secondary);background:var(--bg-deep);border-color:var(--border-secondary)}.tool-tag.document-generated svg{opacity:.5;color:#4d94ff}.document-download-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.document-download-btn{display:inline-flex;align-items:center;gap:4px;font-size:.58rem;color:#4d94ff;background:#4d94ff14;border:1px solid rgba(77,148,255,.2);border-radius:3px;padding:2px 6px;text-decoration:none;transition:all .15s ease;cursor:pointer;width:fit-content}.document-download-btn svg{width:10px;height:10px;opacity:.8;color:#4d94ff}.document-download-btn:hover{background:#4d94ff26;border-color:#4d94ff66;color:#6db3ff}.tool-tag.error{color:#ff8080;background:#ff4d4d0d;border-color:#ff4d4d33}.document-download-card{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-top:8px;background:#4d94ff0a;border:1px solid rgba(77,148,255,.15);border-radius:8px;transition:border-color .2s}.document-download-card:hover{border-color:#4d94ff4d}.document-card-icon{width:28px;height:28px;color:#4d94ff;flex-shrink:0;opacity:.7}.document-card-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.document-card-title{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-card-subtitle{font-size:.7rem;color:var(--text-muted)}.document-card-btn{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:500;color:#4d94ff;background:#4d94ff1a;border:1px solid rgba(77,148,255,.25);border-radius:6px;padding:6px 12px;text-decoration:none;transition:all .2s ease;cursor:pointer;white-space:nowrap;flex-shrink:0}.document-card-btn svg{width:14px;height:14px}.document-card-btn:hover{background:#4d94ff2e;border-color:#4d94ff73;color:#6db3ff;transform:translateY(-1px);box-shadow:0 2px 6px #4d94ff26}.web-citation-link{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-accent);color:var(--text-secondary);border:1px solid var(--border-accent);border-radius:4px;padding:0 7px;font-size:.65rem;font-weight:500;text-decoration:none;margin:0 2px;transition:all .2s cubic-bezier(.4,0,.2,1);vertical-align:middle;cursor:pointer;line-height:1.5;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 2px #0000001a}.web-citation-link:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-bright);transform:translateY(-1.5px);box-shadow:0 4px 8px #0003}#send-button{background:var(--accent-color);color:var(--accent-contrast);border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:auto;margin-bottom:3px}#input-container.has-features #send-button{margin-bottom:0}#send-button svg{width:18px;height:18px}#send-button:hover{opacity:.9}#send-button:disabled{background:var(--bg-secondary);color:var(--text-muted);opacity:.5;cursor:not-allowed}#send-button:not(:disabled):hover{transform:scale(1.05)}#send-button.cancelling{background:#333;color:#fff}#send-button.cancelling:hover{background:#444}#attachments-preview{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}#attachments-preview:empty{display:none}#attachments-preview .attachment-chip{padding:4px 8px;font-size:.8rem;background:var(--bg-tertiary);border-color:var(--border-secondary)}#attachments-preview .attachment-icon{width:14px;height:14px}.attachment-chip{display:flex;align-items:center;gap:8px;background:var(--bg-active);border:1px solid var(--border-secondary);border-radius:6px;padding:6px 10px;font-size:.85rem;color:var(--text-primary);animation:fadeIn .2s ease;transition:all .2s ease}.attachment-chip.pdf .attachment-icon{color:#ff4d4d}.attachment-chip.docx .attachment-icon{color:#4d94ff}.attachment-format-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:1px 4px;border-radius:3px;margin-left:auto;opacity:.8}.pdf .attachment-format-badge{background:#ff4d4d;color:#fff}.docx .attachment-format-badge{background:#4d94ff;color:#fff}.attachment-chip.image .attachment-icon{color:#4dcc88}.image .attachment-format-badge{background:#4dcc88;color:#fff}.attachment-chip.loading{opacity:.7}.attachment-icon{width:16px;height:16px;color:#909090}.attachment-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-remove{background:transparent;border:none;color:#707070;cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:50%;transition:background .2s,color .2s}.attachment-remove:hover{background:#3a3a3a;color:#ff6b6b}.attachment-chip.error{border-color:#ff4d4d;color:#ff8080}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{width:14px;height:14px;border:2px solid #555;border-top-color:#e0e0e0;border-radius:50%;animation:spin 1s linear infinite}.message-attachments-sent{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-secondary)}.message-attachments-sent .attachment-chip{background:var(--bg-accent);border-color:var(--border-secondary);font-size:.8rem;padding:4px 8px}.message-attachments-sent .attachment-remove{display:none}.message-actions{position:absolute;top:100%;right:0;display:none;gap:.25rem;padding-top:6px;z-index:10}.message:hover .message-actions{display:flex}.message-edit-btn,.message-delete-btn,.message-copy-btn{background:transparent;color:gray;border:none;border-radius:4px;padding:.25rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:26px;height:26px}.message-edit-btn svg,.message-delete-btn svg,.message-copy-btn svg{width:14px;height:14px}.message-edit-btn:hover,.message-delete-btn:hover,.message-copy-btn:hover{background:var(--bg-hover);color:var(--text-bright);border-color:var(--border-strong)}.message.editing{width:100%!important;max-width:100%!important;padding:0!important;border:none!important;background:transparent!important}.message.editing .message-content,.message.editing .message-attachments-sent,.message.editing .message-actions{display:none!important}.edit-container{display:flex;flex-direction:column;gap:.5rem;width:100%;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:6px;padding:.7rem 1rem;box-sizing:border-box}.edit-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:0}.edit-textarea{background:transparent;border:none;padding:0;color:var(--text-primary);font-size:1rem;font-family:inherit;line-height:1.5;resize:none;min-height:40px;max-height:400px;width:100%;outline:none;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.edit-textarea::-webkit-scrollbar{width:6px}.edit-textarea::-webkit-scrollbar-track{background:transparent}.edit-textarea::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.edit-textarea::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}.edit-textarea:focus{outline:none;border-color:#2a2a2a}.edit-actions{display:flex;gap:.3rem;justify-content:flex-end}.edit-save-btn,.edit-cancel-btn,.edit-delete-btn{padding:.35rem;border-radius:3px;cursor:pointer;border:1px solid;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.edit-save-btn svg,.edit-cancel-btn svg,.edit-delete-btn svg{width:14px;height:14px}.edit-save-btn{background:var(--accent-color);color:var(--accent-contrast);border-color:var(--accent-color)}.edit-save-btn:hover{background:#fff;color:#000;border-color:#fff}.edit-cancel-btn{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-secondary)}.edit-cancel-btn:hover{background:var(--bg-accent);color:var(--text-primary)}.edit-delete-btn{background:#2a1a1a;color:#c08080;border-color:#3a2525;margin-right:auto}.edit-delete-btn:hover{background:#3a2222;color:#e09090}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000b3;align-items:center;justify-content:center}.modal.open{display:flex}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:12px;padding:1.75rem;width:100%;max-width:340px;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 10px 30px var(--shadow);position:relative}.modal-content h3{font-size:1rem;color:#e0e0e0;font-weight:500}.modal-content p{font-size:.85rem;color:#909090}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#606060;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#1a1a1a;color:#e0e0e0}.input-group{width:100%}.input-group input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-strong);padding:.75rem .9rem;border-radius:6px;color:var(--text-primary);font-size:.9rem;outline:none;transition:all .2s ease;font-family:inherit}.input-group input:focus{border-color:var(--border-accent);background:var(--bg-accent);box-shadow:0 0 0 1px var(--shadow)}.input-group input::placeholder{color:#555}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-btn{padding:.6rem 1.2rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s ease;font-family:inherit}.modal-btn.cancel{background:transparent;color:var(--text-secondary);border-color:var(--border-strong)}.modal-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-btn.save{background:#fff;color:#000;border-color:#fff}.modal-btn.save:hover{background:#e0e0e0;border-color:#e0e0e0}#user-profile-btn svg{width:16px;height:16px}#user-profile{position:absolute;bottom:12px;left:12px;z-index:100;width:32px;height:32px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;transform:translateZ(0)}#user-profile-btn{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}#user-profile-btn:hover{background:var(--bg-accent);border-color:var(--border-accent);color:var(--text-bright)}#user-modal.modal{background:transparent}#user-modal.open{display:block!important}#user-modal .modal-content{position:absolute;bottom:60px;left:12px;margin:0;pointer-events:auto;box-shadow:0 10px 30px var(--shadow);border:1px solid var(--border-strong);transform:translateY(10px);opacity:0;transition:all .2s ease}#user-modal.open .modal-content{transform:translateY(0);opacity:1}.modal-content.small{max-width:280px;padding:1.25rem}.user-profile-modal{width:max-content!important;max-width:240px!important;min-width:160px;gap:.5rem!important}.user-profile-info{display:flex;flex-direction:column}.user-email{font-weight:600;font-size:.85rem;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.user-tier{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.user-profile-actions{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border-secondary);padding-top:.75rem;margin-top:.25rem}.usage-container{margin-top:.6rem;width:100%;display:flex;flex-direction:column;gap:.3rem}.usage-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-secondary)}.usage-text{color:var(--text-primary);font-weight:500;font-family:SF Mono,Consolas,monospace;font-size:.7rem}.usage-bar-track{width:100%;height:4px;background:var(--bg-accent);border-radius:2px;overflow:hidden}.usage-bar-fill{height:100%;background:linear-gradient(90deg,#606060,#a0a0a0);border-radius:2px;transition:width .3s ease}.action-btn{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);padding:.55rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:flex-start;text-decoration:none;gap:.7rem;font-family:inherit;font-weight:500}.action-btn span{font-size:.8rem}.action-btn svg{width:16px;height:16px}.action-btn:hover,.action-btn.logout:hover{background:var(--bg-hover);color:var(--text-bright);border-color:var(--border-strong)}.user-details{border-bottom:1px solid var(--border-secondary);padding-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:.8rem}@media(max-width:1100px){body.sidebar-collapsed #user-profile{display:none!important}}@media(max-width:768px){#sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;box-shadow:2px 0 12px #00000080}body.sidebar-collapsed #sidebar{background:transparent;box-shadow:none}#welcome-title{font-size:1.5rem}}#intro-logo-container{width:140px;height:140px;margin:0 auto 1.5rem;transition:opacity .3s ease,margin-top .3s ease;position:relative;display:block;opacity:1;perspective:800px;transform-style:preserve-3d;color:var(--text-primary)}#intro-logo-container.hidden{opacity:0;pointer-events:none;display:none}#intro-logo-container svg{width:100%;height:100%;overflow:visible;display:block}#neural-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.4}#beam-group,#left-scale-group,#right-scale-group{will-change:transform}.law-link{color:#ff9f43;text-decoration:none;border-bottom:1px dotted #ff9f43;padding-bottom:0;transition:all .2s ease;cursor:pointer}.law-link:hover{background:#ff9f431a;border-bottom-style:solid}.case-law-wrapper{position:relative;display:inline-block;vertical-align:baseline;line-height:normal}.case-link{display:inline}#global-case-preview{position:fixed;transform:translate(-50%) translateY(0);width:90%;max-width:340px;background:var(--bg-hover);border:1px solid var(--border-strong);border-radius:12px;padding:16px;box-shadow:0 15px 50px var(--shadow);z-index:100000;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.16,1,.3,1);pointer-events:none;font-family:var(--font-main);line-height:1.5;text-align:left}#global-case-preview.visible{opacity:1;visibility:visible;pointer-events:auto}#global-case-preview span{display:block}.preview-header{display:flex!important;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:12px}.preview-header span{display:inline!important}.preview-court{font-weight:700;font-size:.75rem;color:var(--text-muted)!important;text-transform:uppercase;letter-spacing:.5px}.preview-date{font-size:.75rem;color:var(--text-muted)!important;white-space:nowrap}.preview-type{font-weight:600;font-size:.95rem;color:var(--text-primary)!important;margin-bottom:12px}.preview-teze{font-size:.85rem;color:var(--text-primary)!important;background:var(--bg-accent);padding:10px;border-radius:8px;border:1px solid var(--border-secondary);margin-bottom:14px;max-height:180px;overflow-y:auto}.preview-teze::-webkit-scrollbar{width:4px}.preview-teze::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.preview-footer{border-top:1px solid #2a2a2a;padding-top:14px;display:flex!important;justify-content:center}.preview-download-btn{display:flex!important;align-items:center;gap:8px;background:var(--bg-tertiary)!important;color:var(--text-primary)!important;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s ease;width:100%;justify-content:center;border:1px solid var(--border-secondary)}.preview-download-btn:hover{background:var(--bg-hover)!important;border-color:#ff9f43!important;transform:translateY(-1px)}.preview-download-btn svg{width:18px;height:18px;display:inline-block;stroke:#ff9f43}.settings-modal-resizable{max-width:650px;width:90%;padding:0!important;overflow:hidden;display:flex}.settings-container{display:flex;width:100%;height:500px;max-height:80vh}.settings-sidebar{width:200px;background:var(--bg-tertiary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column}.settings-sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-primary)}.settings-sidebar-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-bright)}.settings-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.settings-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit;font-size:.9rem}.settings-nav-item svg{width:18px;height:18px}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-bright)}.settings-nav-item.active{background:var(--bg-active);color:var(--text-bright);font-weight:500}.settings-main{flex:1;padding:2rem;overflow-y:auto;background:var(--bg-primary)}.settings-main::-webkit-scrollbar{width:8px}.settings-main::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}.settings-main::-webkit-scrollbar-thumb:hover{background:var(--border-strong);cursor:pointer}.settings-section{display:none}.settings-section.active{display:block;animation:fadeIn .3s ease}#welcome-title{margin-bottom:2rem;font-size:2.2rem;font-weight:700;text-align:center;color:var(--text-primary);max-width:800px;line-height:1.2;transition:color .3s ease}.section-title{margin-top:0;margin-bottom:2rem;font-size:1.2rem;font-weight:600;color:var(--text-bright)}.settings-main .form-group{margin-bottom:1.5rem}.settings-main label{display:block;margin-bottom:.75rem;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.settings-main input{width:100%;padding:.85rem;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-family:inherit;transition:all .2s}.settings-main input:focus{outline:none;border-color:var(--border-accent);background:var(--bg-accent)}.settings-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.settings-actions .cancel-btn{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem}.settings-actions .cancel-btn:hover{background:var(--bg-hover);color:var(--text-bright)}.auth-submit-btn{background:var(--accent-color);color:var(--accent-contrast);border:1px solid var(--accent-color);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.9rem;font-weight:600}.auth-submit-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-bright)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.settings-modal-resizable{flex-direction:column;max-height:90vh}.settings-container{flex-direction:column;height:auto}.settings-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-secondary)}.settings-nav{flex-direction:row;overflow-x:auto;padding:.5rem}.settings-nav-item{white-space:nowrap;padding:.5rem 1rem}}.theme-toggle-container{display:flex;gap:.5rem;background:var(--bg-tertiary);padding:.25rem;border-radius:8px;border:1px solid var(--border-secondary);margin-top:.5rem}.theme-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.theme-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-btn.active{transition:all .2s cubic-bezier(.4,0,.2,1)}#theme-dark-btn.active{background:#1a1a1b;color:#fff}#theme-light-btn.active{background:#fff;color:#1a1a1b;border:1px solid #ebebed}.theme-btn svg{flex-shrink:0}input,textarea{caret-color:var(--text-primary)}
