.ac{--ac-line:var(--line,#dfe3dc);--ac-ink:var(--ink,#131713);--ac-muted:var(--muted,#687068);--ac-accent:var(--green,#1e5b3a);--ac-soft:var(--green-soft,#e7f0e9);display:grid;gap:16px;max-width:560px}
.ac [hidden]{display:none!important}
.ac-card{display:grid;gap:12px}
.ac-card p{margin:0}
.ac-title{margin:0;font-size:22px}
.ac-lead,.ac-muted,.ac-foot,.ac-loading{color:var(--ac-muted);font-size:15px}
.ac-loading{margin:0}
.ac-form{display:flex;flex-wrap:wrap;gap:8px}
.ac-form input[type=email]{flex:1 1 240px;min-width:0;padding:12px 14px;border:1px solid var(--ac-line);border-radius:999px;font-size:15px;color:var(--ac-ink);background:#fff}
.ac-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer;background:var(--ac-ink);color:#fff;text-decoration:none}
.ac-btn.ghost{background:transparent;border:1px solid var(--ac-ink);color:var(--ac-ink)}
.ac-btn:disabled{opacity:.55;cursor:default}
.ac-status{font-size:14px;color:var(--ac-muted);min-height:1.4em}
.ac-status.is-error{color:#9a2f2f}
.ac-alert{background:#fbeeee;border:1px solid #e3b9b9;color:#7d2424;border-radius:10px;padding:10px 12px;font-size:14px}
.ac-done{background:var(--ac-soft);border:1px solid var(--ac-accent);border-radius:12px;padding:18px}
.ac-done .ac-title::before{content:"\2713";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:50%;background:var(--ac-accent);color:#fff;font-size:16px;vertical-align:2px}
.ac-signed{font-size:15px;color:var(--ac-muted)}
.ac-signed strong{color:var(--ac-ink)}
.ac-plan{margin:0;display:grid;gap:10px;border-top:1px solid var(--ac-line);padding-top:12px}
.ac-plan div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ac-plan dt{color:var(--ac-muted);font-size:14px}
.ac-plan dd{margin:0;font-weight:700;text-align:right}
.ac-actions{display:flex;flex-wrap:wrap;gap:8px}
.ac-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ac-books{display:grid;gap:10px;border-top:1px solid var(--ac-line);padding-top:14px}
.ac-booklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ac-booklist li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--ac-line);border-radius:10px;padding:10px 12px}
.ac-booklist .ac-btn{padding:8px 16px;font-size:14px}
