.sync-pill{min-height:36px;color:var(--ah-muted);background:var(--ah-surface);border:1px solid var(--ah-line);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:750;display:inline-flex}.sync-action-notice{border:1px solid var(--ah-accent);background:var(--ah-surface-2);border-radius:12px;align-items:center;gap:8px;max-width:380px;padding:8px 10px;font-size:11px;line-height:1.45;display:flex}.sync-action-notice button{width:32px;height:32px;color:var(--ah-text);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:8px;display:grid}.sync-action-notice .companion-icon,.sync-pill .companion-icon{width:16px;height:16px}.sync-pill:hover{color:var(--ah-text);border-color:var(--ah-accent)}.sync-dot{opacity:.65;background:currentColor;border-radius:50%;width:6px;height:6px}.sync-pill[data-status=saved]{color:var(--ah-accent)}.sync-pill[data-status=unavailable]{color:var(--ah-warn);border-color:color-mix(in srgb, var(--ah-warn) 45%, var(--ah-line));background:color-mix(in srgb, var(--ah-warn) 9%, var(--ah-surface))}.sync-pill[data-status=review]{color:var(--ah-text);border-color:var(--ah-accent);background:var(--ah-surface-2)}.sync-pill[data-status=pending] .sync-dot,.sync-pill[data-status=saving] .sync-dot{animation:1.5s ease-in-out infinite alternate sync-breathe}@keyframes sync-breathe{0%{opacity:.3}to{opacity:1}}.home-studio-layer:has(.sync-dialog){z-index:200;background:#1e1e2c9e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.home-studio-layer:has(.sync-dialog)[hidden]{display:none}.sync-dialog{border:1px solid var(--ah-line);background:var(--ah-surface);width:min(100%,470px);max-height:calc(100dvh - 32px);color:var(--ah-text);box-shadow:var(--ah-shadow-overlay);border-radius:24px;overflow-y:auto}.sync-dialog-heading{background:var(--ah-surface-2);border-bottom:1px solid var(--ah-line);justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 24px 18px;display:flex}.sync-dialog-heading h2{margin:8px 0 0;font-size:25px;line-height:1.15}.sync-close{width:36px;height:36px;color:var(--ah-muted);background:var(--ah-surface);border:1px solid var(--ah-line);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:8px;display:grid}.sync-close .companion-icon{width:18px;height:18px}.sync-dialog-body{padding:20px 24px 24px}.sync-dialog-body p,.sync-review p{color:var(--ah-muted);margin:0 0 16px;font-size:13px;line-height:1.6}.sync-timestamp{border-top:1px solid var(--ah-line);color:var(--ah-muted);align-items:flex-start;gap:8px;margin-top:20px;padding-top:16px;font-size:11px;display:flex}.sync-timestamp .companion-icon{width:16px;height:16px;color:var(--ah-accent);flex:none}.sync-timestamp time{color:var(--ah-text);margin-top:2px;font-weight:750;display:block}.sync-dialog-body .sync-note{margin:12px 0 0;font-size:11px}.sync-review>b{margin-bottom:8px;font-size:15px;display:block}.sync-review ul{border:1px solid var(--ah-line);border-radius:12px;max-height:180px;margin:12px 0 18px;padding:0;list-style:none;overflow-y:auto}.sync-review li{overflow-wrap:anywhere;padding:10px 12px;font-size:12px;font-weight:700}.sync-review li+li{border-top:1px solid var(--ah-line)}.sync-field-values{color:var(--ah-muted);grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;font-size:10px;font-weight:500;display:grid}.sync-field-values b{color:var(--ah-text);margin-top:3px;font-size:12px;font-weight:750;display:block}.sync-actions{flex-wrap:wrap;gap:8px;display:flex}.sync-actions .button{white-space:normal}.sync-confirm{border:1px solid var(--ah-accent);background:var(--ah-surface-2);border-radius:14px;padding:14px}.sync-confirm strong{margin-bottom:6px;font-size:13px;display:block}.sync-recovery{color:var(--ah-muted);margin-top:16px;font-size:12px}.sync-recovery summary{cursor:pointer;padding:10px 0}.sync-recovery p{line-height:1.5}.sync-pill:focus-visible,.sync-close:focus-visible{outline:3px solid var(--ah-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){.sync-dot{animation:none!important}}@media (max-width:520px){.sync-pill{min-height:40px}.sync-actions .button{flex:100%}.sync-dialog-heading{padding:20px}.sync-dialog-body{padding:18px 20px 20px}}
