:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-hover:#e8e8e8;--text-primary:#1a1a1a;--text-secondary:#666;--border-color:#e0e0e0;--shadow-color:#00000014;--btn-action:#8a8a8a;--btn-action-hover:#6e6e6e;--btn-action-text:#fff}body.dark-theme{--bg-primary:#1a1a2e;--bg-secondary:#25253e;--bg-hover:#2f2f4a;--text-primary:#e0e0e0;--text-secondary:#9a9a9a;--border-color:#3a3a5a;--shadow-color:#0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .3s,color .3s}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{outline:none;font-family:inherit}.theme-toggle{z-index:1000;background-color:var(--bg-secondary);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,transform .2s;display:flex;position:fixed;top:20px;right:20px}.theme-toggle:hover{background-color:var(--bg-hover);transform:scale(1.1)}.theme-toggle__icon{width:18px;height:18px}.upload-bar__wrapper{align-items:center;gap:16px;width:100%;max-width:640px;display:flex}.upload-bar{background-color:var(--bg-secondary);border:2px dashed var(--border-color);cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:12px;padding:14px 20px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.upload-bar:hover{border-color:var(--btn-action);box-shadow:0 2px 12px var(--shadow-color)}.upload-bar--drag-over{border-color:var(--btn-action);background-color:var(--bg-hover);box-shadow:0 4px 16px var(--shadow-color)}.upload-bar__icon{color:var(--text-secondary);flex-shrink:0}.upload-bar__text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.upload-bar__input{display:none}.upload-bar__record{background-color:#dc3545;border:3px solid #b02a37;border-radius:50%;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;transition:transform .2s,box-shadow .2s;display:flex}.upload-bar__record:hover{transform:scale(1.08);box-shadow:0 2px 12px #dc354566}.upload-bar__record--active{animation:1.5s ease-in-out infinite pulse-ring;box-shadow:0 0 0 4px #dc35454d}.upload-bar__record-inner{background-color:#fff;border-radius:50%;width:18px;height:18px;transition:border-radius .2s,width .2s,height .2s}.upload-bar__record--active .upload-bar__record-inner{border-radius:3px;width:14px;height:14px}@keyframes pulse-ring{0%{box-shadow:0 0 #dc354566}70%{box-shadow:0 0 0 8px #dc354500}to{box-shadow:0 0 #dc354500}}.chat-panel{width:100%;max-width:640px;margin-top:24px;animation:.3s ease-out slide-up}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.chat-panel__file-info{background-color:var(--bg-secondary);color:var(--text-secondary);border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.chat-panel__file-name{color:var(--text-primary);font-weight:500}.chat-panel__file-size{color:var(--text-secondary)}.chat-panel__messages{background-color:var(--bg-secondary);border-radius:10px;min-height:120px;max-height:320px;margin-bottom:12px;padding:12px;overflow-y:auto}.chat-panel__empty{height:120px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}.chat-panel__message{border-radius:10px;margin-bottom:12px;padding:10px 14px}.chat-panel__message--user{background-color:var(--bg-hover);margin-left:40px}.chat-panel__message--ai{background-color:var(--bg-primary);border:1px solid var(--border-color);margin-right:40px}.chat-panel__message-role{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:11px;font-weight:600}.chat-panel__message-text{color:var(--text-primary);margin-top:4px;font-size:14px;line-height:1.5}.chat-panel__input-area{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;transition:border-color .2s;display:flex}.chat-panel__input-area:focus-within{border-color:var(--btn-action)}.chat-panel__input{color:var(--text-primary);background:0 0;border:none;flex:1;padding:6px 4px;font-size:14px}.chat-panel__input::placeholder{color:var(--text-secondary)}.chat-panel__send-btn{background-color:var(--btn-action);width:34px;height:34px;color:var(--btn-action-text);border-radius:8px;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.chat-panel__send-btn:hover{background-color:var(--btn-action-hover)}.chat-panel__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-panel__action-btn{color:#fff;background-color:#8a8a8a;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background-color .2s,transform .1s;display:flex}.chat-panel__action-btn:hover{background-color:#6e6e6e;transform:translateY(-1px)}.chat-panel__translate-wrapper{position:relative}.chat-panel__language-dropdown{background-color:var(--bg-primary);border:1px solid var(--border-color);width:200px;max-height:280px;box-shadow:0 4px 20px var(--shadow-color);z-index:100;border-radius:10px;margin-bottom:6px;padding:6px;animation:.15s ease-out fade-in;position:absolute;bottom:100%;left:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel__language-option{text-align:left;width:100%;color:var(--text-primary);border-radius:6px;padding:8px 12px;font-size:13px;transition:background-color .15s;display:block}.chat-panel__language-option:hover{background-color:var(--bg-hover)}.app{flex-direction:column;min-height:100vh;display:flex}.app__main{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px 80px;display:flex}.app__title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:8px;font-size:32px;font-weight:600}.app__subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:15px;font-weight:300}@media (width<=480px){.app__main{padding:24px 16px 40px}.app__title{font-size:26px}.app__subtitle{font-size:13px}}
