/* Tonka Explorer v2 — css/sync.css (sync agent). Info › Sync across devices (#info-sync-body).
   Tokens and .search/.btn/.lede come from css/app.css (see tonka-build/API.md §7). */
#info-sync-body .sync-field{margin-top:4px;height:auto;min-height:48px}
#info-sync-body .sync-field input{font-size:16px;height:auto;min-height:44px}   /* ≥ 16 px so iOS does not zoom the page; 44 px tall target */
#info-sync-body .sync-field.on input{font-weight:600;letter-spacing:.02em}
#info-sync-body .sync-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 8px}
#info-sync-body .sync-acts .btn[aria-busy="true"]{opacity:.7;pointer-events:none}
#info-sync-body .sync-status{margin:0;padding:6px 16px 4px;font:600 14px/1.4 var(--font);color:var(--ink);display:flex;align-items:flex-start;gap:8px}
#info-sync-body .sync-status::before{content:'';flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--mute)}
#info-sync-body .sync-status.ok::before{background:var(--ok)}
#info-sync-body .sync-status.wait::before{background:var(--warn)}
#info-sync-body .sync-status.busy::before{background:var(--navy-2);animation:sync-pulse 1.2s ease-in-out infinite}
#info-sync-body .sync-status.off::before{background:var(--mute)}
#info-sync-body .sync-sub{margin:0;padding:0 16px 14px;color:var(--mute);font-size:13px;line-height:1.45}
#info-sync-body .sync-sub b{color:var(--ink);font-weight:600}
#info-sync-body .sync-sub button.link{background:none;border:0;padding:0;color:var(--navy-2);font:inherit;text-decoration:underline;cursor:pointer;min-height:24px}
@keyframes sync-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){#info-sync-body .sync-status.busy::before{animation:none}}

/* ---- 2.0.13 backups (Info › Sync › Backups) and the map-file buttons (sync agent) ---- */
#info-sync-body .sync-hist{margin:0 16px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
#info-sync-body .sync-hist>summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:48px;padding:0 14px;font:600 15px var(--font);color:var(--ink);cursor:pointer}
#info-sync-body .sync-hist>summary::-webkit-details-marker{display:none}
#info-sync-body .sync-hist>summary::after{content:'';margin-left:auto;width:10px;height:10px;flex:none;border-right:2.5px solid var(--mute);border-bottom:2.5px solid var(--mute);transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s ease}
#info-sync-body .sync-hist[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
#info-sync-body .sync-hist>summary:focus-visible{outline:2px solid var(--navy);outline-offset:-2px;border-radius:12px}
#info-sync-body .sync-hist-n{color:var(--mute);font-weight:500}
#info-sync-body .sync-hist-body{border-top:1px solid var(--line)}
#info-sync-body .sync-hist-msg{margin:0;padding:10px 14px;color:var(--mute);font-size:13px;line-height:1.45}
#info-sync-body .sync-hist-list{list-style:none;margin:0;padding:0;max-height:52vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
#info-sync-body .sync-hist-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px;border-top:1px solid var(--line)}
#info-sync-body .sync-hist-row:first-child{border-top:0}
#info-sync-body .sync-hist-row.confirm{background:var(--surf)}
#info-sync-body .sync-hist-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:14px;line-height:1.35}
#info-sync-body .sync-hist-main b{font-weight:600;color:var(--ink)}
#info-sync-body .sync-hist-meta{color:var(--mute);font-size:12.5px}
#info-sync-body .sync-hist-tag{font-size:11px;font-weight:600;color:var(--navy-2);text-transform:uppercase;letter-spacing:.04em}
#info-sync-body .sync-hist-restore{flex:none;min-width:84px;padding:0 12px;background:var(--card)}
#info-sync-body .sync-hist-confirm{flex-basis:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:2px}
#info-sync-body .sync-hist-confirm p{margin:0 0 8px;font-size:13.5px;line-height:1.4;color:var(--ink)}
#info-sync-body .sync-hist-cbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#info-sync-body .sync-hist-foot{margin:0;padding:8px 14px 10px;font-size:12.5px;color:var(--mute);border-top:1px solid var(--line)}
#info-sync-body .sync-hist-foot .link,#info-sync-body .sync-hist-msg .link{background:none;border:0;padding:0;color:var(--navy-2);font:inherit;text-decoration:underline;cursor:pointer;min-height:24px}
#info-sync-body .sync-file-acts{padding-top:2px}
#info-sync-body .sync-file-sub{padding-top:2px}
