/* Accounts: pill avatar, account menu, sign-in dialog, paywall, lock badges. Tokens only. */
.pill.account { min-width: 72px; min-height: 44px; justify-content: center; border: 0; cursor: pointer; }
.pill.account[aria-busy="true"] { color: transparent !important; }
.pill.account.signed-in { min-width: 44px; width: 44px; height: 44px; padding: 0; }
.acct-av { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font: 800 15px var(--display); }
.acct-menu { position: absolute; top: calc(var(--top-h) - 6px); right: 16px; z-index: 60; min-width: 240px; padding: 12px; border-radius: var(--radius-lg); background: var(--raise); box-shadow: var(--shadow), var(--raise-ring); }
.acct-who { display: grid; margin: 0 0 4px; } .acct-who small, .acct-plan { color: var(--muted); font-size: 13px; }
.acct-plan { margin: 0 0 8px; }
.acct-out { width: 100%; min-height: 44px; border: 0; border-radius: var(--radius); background: transparent; color: var(--text); font: 600 15px var(--font); text-align: left; padding: 0 10px; cursor: pointer; }
.acct-out:hover, .acct-out:focus-visible { background: var(--panel); }

.acct-dlg { width: min(420px, calc(100vw - 32px)); padding: 28px; border: 0; border-radius: var(--radius-lg); background: var(--bg); color: var(--text); box-shadow: var(--shadow); }
.acct-dlg::backdrop { background: var(--scrim); }
.acct-dlg h2 { margin: 0 0 16px; font: 800 24px var(--display); }
.acct-x-form { position: absolute; top: 12px; right: 12px; margin: 0; }
.acct-form { display: grid; gap: 14px; }
.acct-form label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.acct-form input { min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); color: var(--text); font: 500 16px var(--font); }
.acct-form input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.acct-hint, .acct-lead { margin: -6px 0 0; color: var(--muted); font-size: 13px; }
.acct-alt { margin: 0; font-size: 14px; color: var(--muted); }
.linkish { min-height: 44px; padding: 0; border: 0; background: none; color: var(--accent-text); font: 600 14px var(--font); text-decoration: underline; cursor: pointer; }
.acct-err { margin: 12px 0 0; color: var(--bad); font-weight: 600; } .acct-err:empty, .acct-ok:empty { display: none; }
.acct-ok { margin: 12px 0 0; color: var(--ok); font-weight: 600; }

.lk { display: inline-flex; margin-left: 6px; color: var(--muted); vertical-align: -1px; }
.f8-advanced .lk { display: none; }

.paywall { margin: 24px 0; padding: 28px; border-radius: var(--radius-lg); background: var(--panel); box-shadow: inset 0 0 0 1px var(--line); }
.paywall h2 { margin: 8px 0; font: 800 26px var(--display); }
.paywall .pw-ic { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--bg); color: var(--text); }
.paywall ul { margin: 12px 0 20px; padding-left: 20px; } .paywall li small { color: var(--muted); }
.paywall .pw-note { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
.paywall .pw-err { color: var(--bad); font-weight: 600; } .paywall .pw-err:empty { display: none; }
.paid-skel { display: grid; gap: 14px; margin: 24px 0; }
.paid-skel i { display: block; border-radius: var(--radius); background: var(--panel); }
.paid-skel .sk-h { height: 30px; width: 55%; } .paid-skel .sk-demo { height: 260px; border-radius: var(--radius-lg); }
.paid-skel .sk-p { height: 16px; } .paid-skel .sk-p.short { width: 70%; }
@media (prefers-reduced-motion: no-preference) { .paid-skel i { animation: sk 1.2s var(--ease-out) infinite alternate; } }
@keyframes sk { to { opacity: .55; } }
.unlock-page { max-width: 560px; margin: 40px 0; }
