.update-overlay{animation:updateFadeIn .2s ease}.update-modal{max-width:420px;animation:updateSlideIn .2s ease}.update-modal-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary)}.update-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm);flex-shrink:0}.update-modal-body{display:flex;flex-direction:column;gap:8px}.update-version{font-size:13px;font-weight:600;color:var(--primary)}.update-message{font-size:14px;color:var(--text-secondary);line-height:1.6}@keyframes updateFadeIn{0%{opacity:0}to{opacity:1}}@keyframes updateSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.release-notes{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.release-notes-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.release-notes-content{max-height:200px;overflow-y:auto;padding-right:8px}.release-notes-list{margin:0;padding:0;list-style:none}.release-notes-heading{font-size:12px;font-weight:600;color:var(--text-secondary);margin:8px 0 6px;text-transform:uppercase;letter-spacing:.03em}.release-notes-heading:first-child{margin-top:0}.release-notes-item{font-size:13px;color:var(--text-secondary);line-height:1.5;padding:4px 0 4px 16px;position:relative}.release-notes-item:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.release-notes-item strong{color:var(--text-primary);font-weight:600}.release-notes-content::-webkit-scrollbar{width:4px}.release-notes-content::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:2px}.release-notes-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.release-notes-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.update-progress-container{display:flex;flex-direction:column;gap:6px;margin:4px 0}.update-progress-bar-row{display:flex;align-items:center;gap:8px}.update-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}.update-progress-fill{height:100%;border-radius:3px;background:var(--gradient-primary);transition:width .3s ease}.update-progress-cancel{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:color .15s ease,background .15s ease;flex-shrink:0}.update-progress-cancel:hover{color:var(--text-error, #ef4444);background:var(--bg-error, rgba(239, 68, 68, .1))}.update-progress-text{font-size:12px;color:var(--text-muted);text-align:center}.update-status{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;margin:4px 0}.update-status-success{background:var(--bg-success, rgba(34, 197, 94, .1));color:var(--text-success, #22c55e)}.update-status-retrying{background:var(--bg-warning, rgba(245, 158, 11, .12));color:var(--text-warning, #d97706)}.update-status-error{background:var(--bg-error, rgba(239, 68, 68, .1));color:var(--text-error, #ef4444);flex-direction:column;align-items:flex-start}.update-error-toggle{border:none;background:transparent;color:inherit;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.update-error-detail{font-size:11px;opacity:.7;word-break:break-all;margin-top:4px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
