/* Actualización — estilos propios (prefijo upd-). Solo tokens de app.css/kit.css. */
.upd-host{max-width:720px}
.upd-card{display:flex;flex-direction:column;gap:var(--s4)}
.upd-head{display:flex;align-items:flex-start;gap:var(--s4)}
.upd-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#14100a}
.upd-ic .ic{width:22px;height:22px}
.upd-bad .upd-ic{background:linear-gradient(135deg,#ff5a74,#ff3b5c)}
.upd-title{font:700 19px/1.25 var(--display);letter-spacing:-.01em}
.upd-sub{color:var(--muted);margin-top:6px;line-height:1.5;max-width:60ch}
.upd-notes{border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff08;padding:var(--s4);max-height:260px;overflow:auto;user-select:text}
.upd-notes:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.upd-nk{display:block;color:var(--muted);font:700 10.5px var(--body);letter-spacing:.08em;margin-bottom:var(--s2)}
.upd-notes p{white-space:pre-wrap;word-break:break-word;line-height:1.55}
.upd-safe{font-size:12.5px;line-height:1.5}
.upd-actions{margin-top:var(--s2);align-items:center}
.upd-actions .spacer{flex:1}
.upd-progress{display:flex;flex-direction:column;gap:var(--s3)}
.upd-prow{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3)}
.upd-status{color:var(--muted)}
.upd-pct{font:700 20px var(--display);font-variant-numeric:tabular-nums}
.upd-progress .progress{height:10px}
.upd-err{color:var(--bad);line-height:1.5;word-break:break-word;user-select:text}

/* aviso "Actualización disponible" (equivale al toast de la ventana clásica) */
@media (max-width:700px){.upd-actions{flex-wrap:wrap}}

.nt-h{display:block;margin:10px 0 4px;font:800 13px var(--body);color:var(--text)}.nt-h:first-child{margin-top:0}.nt-l{margin:2px 0 6px;padding-left:18px;display:grid;gap:3px;color:var(--muted)}.nt-p{margin:3px 0;color:var(--muted);line-height:1.5}

.download-scene{display:flex;align-items:center;gap:32px;padding:14px 0 22px}
.download-kicker{display:block;font:700 10px var(--mono);letter-spacing:.1em;color:var(--accent);margin-bottom:12px}
.download-orbit{position:relative;flex-shrink:0;width:120px;height:120px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--accent-soft)}
.download-orbit>i{position:absolute;inset:5px;border:1px dashed var(--accent);border-radius:50%;animation:download-orbit 9s linear infinite;animation-play-state:paused}
.download-orbit>i::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.download-core{display:grid;place-items:center;width:74px;height:74px;border:1px solid var(--accent);border-radius:22px;background:var(--surface-2);color:var(--accent)}
.download-core>.ic{width:32px;height:32px;animation:download-bob 2.4s ease-in-out infinite;animation-play-state:paused}
@keyframes download-orbit{to{transform:rotate(360deg)}}
@keyframes download-bob{0%,100%{transform:translateY(-4px);opacity:.65}50%{transform:translateY(5px);opacity:1}}
[data-page="m-update"]:not([hidden]) .download-orbit>i,[data-page="m-update"]:not([hidden]) .download-core>.ic{animation-play-state:running}
html.motion-paused .download-orbit>i,html.motion-paused .download-core>.ic{animation-play-state:paused!important}
html.lite .download-orbit *,html.lite .download-orbit *::after{animation:none!important}
@media(prefers-reduced-motion:reduce){.download-orbit *{animation:none!important}}
@media(max-width:600px){.download-scene{gap:20px;flex-direction:column;text-align:center}.download-orbit{width:108px;height:108px}}
