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