/* ATLAS BEATS — Account page (v7.0). Formal member area on the About design language (ink, hairlines, restrained gold). */
body.account-page { background: #07060d; }
body.account-page .ab-main.ac-main { width: min(1040px, 100% - 32px); padding-top: 10px; }
body.account-page.ac-modal { overflow: hidden; }
.ac-app { min-height: 50vh; }
.ac-in { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s cubic-bezier(.2, .7, .2, 1); }
.ac-in.in { opacity: 1; transform: none; }
.ac-loading { display: grid; place-items: center; min-height: 40vh; }
.ac-spin { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--ab-line2); border-top-color: var(--ab-gold); animation: acSpin .8s linear infinite; }
@keyframes acSpin { to { transform: rotate(360deg); } }
.ac-h1 { margin: 14px 0 10px; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.12; font-weight: 800; letter-spacing: -.01em; color: var(--ab-ink); }
.ac-lead { margin: 0; max-width: 50ch; font-size: 15px; line-height: 1.85; color: var(--ab-ink2); }
.ac-muted { color: var(--ab-ink3); font-size: 13.5px; line-height: 1.7; margin: 10px 0; }
.ac-note { display: flex; gap: 10px; align-items: flex-start; margin: 22px 0 0; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink3); font-size: 12.5px; line-height: 1.7; }
.ac-note .i { width: 16px; height: 16px; flex: none; margin-top: 3px; stroke: currentColor; fill: none; stroke-width: 2; }
.ac-note.local { border-color: rgba(231, 201, 138, .35); color: rgba(231, 201, 138, .9); background: rgba(231, 201, 138, .06); }
.ac-card { border: 1px solid var(--ab-line); background: var(--ab-card); border-radius: var(--ab-r); padding: 26px; backdrop-filter: blur(10px); }
.ac-link { background: none; border: 0; padding: 6px 2px; color: var(--ab-ink3); font: inherit; font-size: 13px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ab-line2); }
.ac-link:hover { color: var(--ab-ink); }
.ac-link.danger { color: #f87171; text-decoration-color: rgba(248, 113, 113, .4); }
.ac-ib { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink2); cursor: pointer; }
.ac-ib:hover { background: var(--ab-card2); color: var(--ab-ink); }
.ac-ib .i { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }
.ac-count { min-width: 24px; padding: 2px 8px; border-radius: 999px; background: var(--ab-card2); border: 1px solid var(--ab-line); font-size: 12px; font-weight: 700; color: var(--ab-ink2); text-align: center; }
.ac-pill { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--ab-line2); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; color: var(--ab-ink3); text-transform: uppercase; }
.ac-pill.on { border-color: rgba(231, 201, 138, .5); color: var(--ab-gold); background: rgba(231, 201, 138, .08); }
.gold { color: var(--ab-gold) !important; }

/* ── auth ── */
.ac-auth { display: grid; grid-template-columns: 1.05fr .95fr; gap: 42px; align-items: start; padding: 26px 0 10px; }
.ac-perks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.ac-perks li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--ab-ink2); }
.ac-perks li svg { flex: none; }
.ac-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--ab-line); margin-bottom: 20px; }
.ac-tabs button { flex: 1; min-height: 40px; border: 0; border-radius: 10px; background: transparent; color: var(--ab-ink3); font: 600 13.5px/1 inherit; font-family: inherit; cursor: pointer; transition: background .2s, color .2s; }
.ac-tabs button.on { background: var(--ab-card2); color: var(--ab-ink); box-shadow: inset 0 0 0 1px var(--ab-line2); }
.ac-form { display: grid; gap: 14px; }
.ac-field { display: grid; gap: 7px; }
.ac-field > span { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-field input, .ac-field textarea, .ac-field select, .ac-inline input, .ac-inline select, .ac-search input { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--ab-line2); background: rgba(255, 255, 255, .04); color: var(--ab-ink); font: 500 15px/1.4 inherit; font-family: inherit; outline: none; transition: border-color .2s, background .2s, box-shadow .2s; }
.ac-field textarea { resize: vertical; min-height: 84px; }
.ac-field input:focus, .ac-field textarea:focus, .ac-field select:focus, .ac-inline input:focus, .ac-inline select:focus, .ac-search input:focus { border-color: rgba(231, 201, 138, .55); background: rgba(255, 255, 255, .06); box-shadow: 0 0 0 4px rgba(231, 201, 138, .08); }
.ac-field select option { background: #15131f; color: #fff; }
.ac-field.wide { grid-column: 1 / -1; }
.ac-hint { font-size: 12px; color: var(--ab-ink3); line-height: 1.5; }
.ac-hint.ok { color: #34d399; } .ac-hint.bad { color: #f87171; }
.ac-pw { position: relative; display: block; }
.ac-pw input { padding-inline-end: 48px; }
.ac-eye { position: absolute; top: 50%; inset-inline-end: 8px; transform: translateY(-50%); width: 34px; height: 34px; border: 0; border-radius: 9px; background: transparent; color: var(--ab-ink3); cursor: pointer; display: grid; place-items: center; }
.ac-eye.on, .ac-eye:hover { color: var(--ab-ink); background: var(--ab-card2); }
.ac-eye .i { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
.ac-strength { display: flex; align-items: center; gap: 10px; margin-top: -6px; min-height: 14px; }
.ac-strength i { flex: 1; height: 3px; border-radius: 3px; background: var(--ab-line2); position: relative; overflow: hidden; }
.ac-strength i::after { content: ""; position: absolute; inset: 0; width: 0; background: #f87171; transition: width .3s, background .3s; }
.ac-strength[data-s="1"] i::after { width: 34%; } .ac-strength[data-s="2"] i::after { width: 67%; background: #fbbf24; } .ac-strength[data-s="3"] i::after { width: 100%; background: #34d399; }
.ac-strength span { font-size: 11.5px; color: var(--ab-ink3); min-width: 40px; text-align: end; }
.ac-submit { justify-content: center; margin-top: 6px; }
.ab-btn.busy { opacity: .6; pointer-events: none; }
.ab-btn.busy span::after { content: "…"; }
.ab-btn.danger { border-color: rgba(248, 113, 113, .4); color: #fca5a5; }
.ab-btn.danger:hover { background: rgba(248, 113, 113, .12); }
.ac-terms { margin: 4px 0 0; font-size: 12px; line-height: 1.7; color: var(--ab-ink3); }

/* ── profile ── */
.ac-ava { --ac: #7c3aed; position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--ac) 70%, #fff 12%), color-mix(in srgb, var(--ac) 60%, #000)); color: #fff; font-weight: 800; overflow: hidden; flex: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.ac-ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ac-ava b { font-size: 40%; letter-spacing: .02em; }
.ac-ava.sm { width: 40px; height: 40px; } .ac-ava.lg { width: 84px; height: 84px; } .ac-ava.xl { width: 112px; height: 112px; }
.ac-ava.framed { overflow: visible; isolation: isolate; }
.ac-ava.framed::before { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: var(--aring); z-index: -1; animation: acRing 9s linear infinite; }
.ac-ava.framed::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; box-shadow: inset 0 0 0 2px #07060d; pointer-events: none; }
.ac-ava.framed img, .ac-ava.framed b { border-radius: 50%; overflow: hidden; }
.ac-ava.framed.xl::before { inset: -5px; }
@keyframes acRing { to { transform: rotate(360deg); } }
.ac-pcard { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: start; padding: 28px; border-radius: var(--ab-r); border: 1px solid var(--ab-line); background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); position: relative; overflow: hidden; margin-top: 10px; }
.ac-pcard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(231, 201, 138, .5), transparent); }
.ac-ava-btn { position: relative; border: 0; background: none; padding: 0; cursor: pointer; display: block; }
.ac-ava-edit { position: absolute; right: -2px; bottom: 2px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #15131f; border: 1px solid var(--ab-line2); color: var(--ab-ink); box-shadow: 0 6px 18px rgba(0, 0, 0, .4); }
[dir=rtl] .ac-ava-edit { right: auto; left: -2px; }
.ac-ava-edit .i { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
.ac-pmeta { min-width: 0; }
.ac-pname { display: flex; align-items: center; gap: 8px; margin: 4px 0 2px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--ab-ink); flex-wrap: wrap; }
.ac-name { overflow-wrap: anywhere; }
.ac-tick { flex: none; }
.ac-handle { font: 600 14px/1 'Inter', sans-serif; color: var(--ab-ink3); letter-spacing: .01em; margin-bottom: 12px; }
.ac-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.ac-badges:empty { display: none; }
.ac-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 7px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--bc) 45%, transparent); background: color-mix(in srgb, var(--bc) 10%, transparent); color: var(--ab-ink); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
[dir=rtl] .ac-badge { padding: 4px 7px 4px 10px; }
.ac-bio { margin: 0 0 12px; font-size: 14.5px; line-height: 1.8; color: var(--ab-ink2); overflow-wrap: anywhere; }
.ac-bio i { color: var(--ab-ink3); }
.ac-facts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--ab-ink3); margin-bottom: 8px; }
.ac-facts span { display: inline-flex; align-items: center; gap: 6px; }
.ac-facts span + span::before { content: "·"; opacity: .5; }
.ac-group { margin-top: 16px; border: 1px solid var(--ab-line); border-radius: 18px; background: var(--ab-card); overflow: hidden; }
.ac-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; width: 100%; min-height: 60px; padding: 10px 16px; border: 0; background: transparent; color: var(--ab-ink); text-align: start; font: inherit; font-family: inherit; cursor: pointer; transition: background .18s; }
.ac-row + .ac-row { border-top: 1px solid var(--ab-line); }
.ac-row:hover { background: var(--ab-card2); }
.ac-row-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: rgba(255, 255, 255, .05); border: 1px solid var(--ab-line); color: var(--ab-ink2); }
.ac-row-ic .i { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.ac-row.premium .ac-row-ic { color: var(--ab-gold); border-color: rgba(231, 201, 138, .3); background: rgba(231, 201, 138, .07); }
.ac-row.admin .ac-row-ic { color: #a78bfa; border-color: rgba(167, 139, 250, .3); }
.ac-row.danger { color: #fca5a5; } .ac-row.danger .ac-row-ic { color: #f87171; }
.ac-row-txt { min-width: 0; display: grid; gap: 2px; }
.ac-row-txt b { font-size: 15px; font-weight: 600; }
.ac-row-txt small { font-size: 12.5px; color: var(--ab-ink3); line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-row-r { display: inline-flex; align-items: center; gap: 10px; color: var(--ab-ink3); }
.ac-row-r .chev { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
[dir=rtl] .ac-row-r .chev { transform: scaleX(-1); }
.ac-row.on .ac-row-r .i { width: 16px; height: 16px; stroke: var(--ab-gold); fill: none; stroke-width: 2.2; }
.ac-shelf { margin-top: 16px; }
.ac-shelf-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 4px 10px; }
.ac-shelf-head b { font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-nft-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 150px; gap: 12px; overflow-x: auto; padding: 4px 4px 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.ac-nft-strip.sm { grid-auto-columns: 120px; }
.ac-nft-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.ac-nft { --tc: #9aa4b2; position: relative; display: grid; gap: 8px; padding: 8px; border-radius: 18px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink); text-align: start; font: inherit; font-family: inherit; cursor: pointer; scroll-snap-align: start; transition: transform .25s cubic-bezier(.2, .7, .2, 1), border-color .25s, box-shadow .25s; }
.ac-nft:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--tc) 55%, transparent); box-shadow: 0 16px 40px -18px color-mix(in srgb, var(--tc) 60%, transparent); }
.ac-nft-art { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 1; }
.ac-nft-art svg { width: 100%; height: 100%; display: block; }
.ac-nft-meta { display: grid; gap: 2px; padding: 0 4px 4px; min-width: 0; }
.ac-nft-meta b { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-nft-meta small { font-size: 11px; color: var(--tc); font-weight: 600; }
.ac-nft.t-mythic { border-color: rgba(248, 250, 252, .3); background: linear-gradient(135deg, rgba(244, 114, 182, .08), rgba(34, 211, 238, .08)); }
.ac-nft-eq { position: absolute; top: 14px; inset-inline-start: 14px; padding: 3px 8px; border-radius: 999px; background: rgba(7, 6, 13, .8); border: 1px solid var(--ab-line2); color: var(--ab-gold); font-size: 10px; font-weight: 700; font-style: normal; letter-spacing: .04em; }
.ac-nft-hero { display: grid; place-items: center; padding: 18px; margin-bottom: 16px; border-radius: 20px; background: radial-gradient(circle at 50% 40%, var(--tg, rgba(124, 58, 237, .3)), transparent 70%); }
.ac-nft-hero svg { width: min(260px, 70vw); height: auto; border-radius: 24px; box-shadow: 0 30px 70px -30px var(--tg, rgba(0, 0, 0, .6)); }
.ac-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 0 0 16px; }
.ac-dl div { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-dl dt { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ab-ink3); margin-bottom: 4px; }
.ac-dl dd { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--ab-ink); }
.ac-dl dd a { color: var(--ab-ink); text-decoration: underline; text-decoration-color: var(--ab-line2); text-underline-offset: 3px; }
.ac-prov { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--ab-line); }
.ac-prov b { display: block; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ab-ink3); margin-bottom: 10px; }
.ac-prov ol { margin: 0; padding: 0 0 0 18px; display: grid; gap: 8px; color: var(--ab-ink2); font-size: 13.5px; }
[dir=rtl] .ac-prov ol { padding: 0 18px 0 0; }
.ac-prov li { display: flex; justify-content: space-between; gap: 12px; }
.ac-prov li small { color: var(--ab-ink3); white-space: nowrap; }
.ac-transfer { margin-top: 12px; grid-template-columns: 1fr auto; align-items: end; }

/* sheet */
.ac-sheet-wrap { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: 20px; opacity: 0; transition: opacity .25s; }
.ac-sheet-wrap.in { opacity: 1; }
.ac-sheet-bg { position: absolute; inset: 0; background: rgba(4, 3, 10, .72); backdrop-filter: blur(6px); }
.ac-sheet { position: relative; width: min(520px, 100%); max-height: min(86vh, 860px); overflow: auto; border-radius: 24px; border: 1px solid var(--ab-line2); background: linear-gradient(180deg, #16131f, #0d0b15); box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .8); transform: translateY(16px) scale(.98); transition: transform .3s cubic-bezier(.2, .7, .2, 1); scrollbar-width: thin; }
.ac-sheet.wide { width: min(680px, 100%); }
.ac-sheet-wrap.in .ac-sheet { transform: none; }
.ac-sheet-grip { display: none; }
.ac-sheet-body { padding: 22px 24px 26px; }
.ac-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ac-sheet-head b { display: flex; align-items: center; gap: 6px; font-size: 19px; font-weight: 800; color: var(--ab-ink); }
.ac-sheet-head small { display: block; margin-top: 3px; font-size: 12.5px; color: var(--ab-ink3); }
.ac-sheet-acts { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.ac-sheet-acts.wrap { justify-content: flex-start; }
.ac-sub { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ab-ink3); margin-top: 6px; }
#fRotate { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--ab-line); }
.ac-edit-ava { display: flex; align-items: center; gap: 18px; margin-bottom: 6px; }
.ac-edit-ava-b { display: grid; gap: 6px; justify-items: start; }
.ac-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-sw { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); transition: transform .15s; }
.ac-sw.on { border-color: #fff; transform: scale(1.12); }
.ac-prem { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: 16px; border: 1px solid rgba(231, 201, 138, .3); background: rgba(231, 201, 138, .06); margin-bottom: 16px; }
.ac-prem p { margin: 0; font-size: 13.5px; line-height: 1.75; color: var(--ab-ink2); }
.ac-prem-ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(231, 201, 138, .1); }
.ac-prem-ico.big { width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%; }
.ac-reward { text-align: center; padding: 6px 0; }
.ac-reward p { margin: 10px 0 4px; font-size: 15px; font-weight: 600; color: var(--ab-ink); line-height: 1.6; }
.ac-reward small { color: var(--ab-ink3); }
.ac-rk { text-align: center; padding: 8px 0; }
.ac-rk .i { width: 34px; height: 34px; stroke: var(--ab-gold); fill: none; stroke-width: 1.8; }
.ac-rk p { margin: 10px auto 14px; max-width: 42ch; font-size: 13.5px; line-height: 1.75; color: var(--ab-ink2); }
.ac-rk code, .ac-qr code { display: block; padding: 12px 14px; border-radius: 12px; border: 1px dashed rgba(231, 201, 138, .5); background: rgba(231, 201, 138, .06); color: var(--ab-gold); font: 700 15px/1.4 'Inter', ui-monospace, monospace; letter-spacing: .06em; word-break: break-all; user-select: all; }
.ac-qr { display: grid; justify-items: center; gap: 14px; }
.ac-qr canvas { width: 220px; height: 220px; border-radius: 16px; background: #fff; padding: 10px; box-sizing: content-box; }
.ac-qr code { font-size: 12px; letter-spacing: 0; width: 100%; text-align: center; }
.ac-badge-list, .ac-list { display: grid; gap: 8px; }
.ac-badge-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); opacity: .55; filter: grayscale(.6); }
.ac-badge-row.on { opacity: 1; filter: none; border-color: color-mix(in srgb, var(--bc) 40%, transparent); }
.ac-badge-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--bc) 12%, transparent); }
.ac-badge-txt b { display: block; font-size: 14px; } .ac-badge-txt small { font-size: 12px; color: var(--ab-ink3); line-height: 1.5; }
.ac-badge-st { font-size: 11px; font-style: normal; font-weight: 700; color: var(--ab-ink3); white-space: nowrap; }
.ac-badge-row.on .ac-badge-st { color: var(--bc); }
.ac-dev { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-dev.cur { border-color: rgba(231, 201, 138, .35); }
.ac-dev > .i { width: 18px; height: 18px; stroke: var(--ab-ink2); fill: none; stroke-width: 1.8; }
.ac-dev-txt b { display: block; font-size: 13.5px; } .ac-dev-txt b i { font-style: normal; color: var(--ab-gold); font-size: 11px; margin-inline-start: 6px; } .ac-dev-txt small { font-size: 12px; color: var(--ab-ink3); }
.ac-switch { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); cursor: pointer; font-size: 14px; }
.ac-switch input { position: absolute; opacity: 0; pointer-events: none; }
.ac-switch i { position: relative; flex: none; width: 44px; height: 26px; border-radius: 999px; background: rgba(255, 255, 255, .12); transition: background .2s; }
.ac-switch i::after { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.ac-switch input:checked + i { background: var(--ab-gold); }
.ac-switch input:checked + i::after { transform: translateX(18px); }
[dir=rtl] .ac-switch input:checked + i::after { transform: translateX(-18px); }
.ac-empty { text-align: center; display: grid; justify-items: center; gap: 12px; padding: 50px 20px; }
.ac-empty .i { width: 36px; height: 36px; stroke: var(--ab-ink3); fill: none; stroke-width: 1.5; }

/* ── admin ── */
.ac-admin-head { padding: 10px 0 6px; }
.ac-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink2); font: 600 12.5px/1 inherit; font-family: inherit; cursor: pointer; }
.ac-back .i { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
[dir=rtl] .ac-back .i { transform: scaleX(-1); }
.ac-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 18px; }
.ac-stat { padding: 14px 14px 12px; border-radius: 16px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-stat b { display: block; font: 800 24px/1 'Montserrat', 'Inter', sans-serif; color: var(--ab-ink); letter-spacing: -.01em; }
.ac-stat span { display: block; margin-top: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-tabs.admin { max-width: 560px; }
.ac-admin-body { transition: opacity .2s; } .ac-admin-body.busy { opacity: .55; pointer-events: none; }
.ac-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.ac-search { position: relative; flex: 1 1 260px; }
.ac-search .i { position: absolute; top: 50%; inset-inline-start: 14px; transform: translateY(-50%); width: 16px; height: 16px; stroke: var(--ab-ink3); fill: none; stroke-width: 2; pointer-events: none; }
.ac-search input { padding-inline-start: 40px; min-height: 44px; }
.ac-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-chips button { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink3); font: 600 12px/1 inherit; font-family: inherit; cursor: pointer; }
.ac-chips button.on { color: var(--ab-ink); border-color: rgba(231, 201, 138, .5); background: rgba(231, 201, 138, .08); }
.ac-chips.sm { grid-column: 1 / -1; } .ac-chips.sm button { font-size: 11px; padding: 6px 10px; }
.ac-member { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); color: var(--ab-ink); text-align: start; font: inherit; font-family: inherit; cursor: pointer; transition: background .18s; }
.ac-member:hover { background: var(--ab-card2); }
.ac-m-txt { min-width: 0; } .ac-m-txt b { display: flex; align-items: center; gap: 5px; font-size: 14px; } .ac-m-txt small { display: block; font: 500 12px/1.3 'Inter', sans-serif; color: var(--ab-ink3); }
.ac-m-tags { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.tag { padding: 3px 8px; border-radius: 999px; border: 1px solid var(--ab-line2); font-size: 10.5px; font-style: normal; font-weight: 700; color: var(--ab-ink2); letter-spacing: .03em; }
.tag.gold, .tag.premium { color: var(--ab-gold); border-color: rgba(231, 201, 138, .45); } .tag.red { color: #fca5a5; border-color: rgba(248, 113, 113, .45); } .tag.staff { color: #c4b5fd; border-color: rgba(167, 139, 250, .45); } .tag.verify { color: #93c5fd; border-color: rgba(59, 130, 246, .45); } .tag.nft { color: #f0abfc; border-color: rgba(192, 38, 211, .45); } .tag.badge { color: #6ee7b7; border-color: rgba(16, 185, 129, .45); }
.ac-m-seen { font-size: 11.5px; color: var(--ab-ink3); white-space: nowrap; }
.ac-more { margin: 14px auto 0; display: flex; }
.ac-mem-top { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; margin-bottom: 14px; }
.ac-adm-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ac-adm-acts .ab-btn { min-height: 38px; padding: 0 14px; font-size: 13px; }
.ac-inline { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; padding: 10px 0; border-top: 1px solid var(--ab-line); }
.ac-inline label { display: grid; gap: 6px; } .ac-inline label span { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-inline input, .ac-inline select { min-height: 42px; }
.ac-inline .ab-btn { min-height: 42px; padding: 0 16px; font-size: 13px; }
.ac-codegen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-items: end; padding: 16px; border-radius: 18px; border: 1px solid var(--ab-line); background: var(--ab-card); margin-bottom: 14px; }
.ac-codegen .ab-btn { grid-column: 1 / -1; justify-content: center; }
.ac-code { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-code.used { opacity: .55; }
.ac-code code { font: 700 13.5px/1 'Inter', ui-monospace, monospace; letter-spacing: .06em; color: var(--ab-gold); }
.ac-code-k { display: grid; gap: 3px; min-width: 0; } .ac-code-k small { font-size: 11.5px; color: var(--ab-ink3); }
.ac-code-s { font-size: 11.5px; color: var(--ab-ink3); white-space: nowrap; }
.ac-code-a { display: flex; gap: 6px; }
.ac-ev { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); font-size: 13px; }
.ac-ev b { font: 700 12.5px/1 'Inter', sans-serif; color: var(--ab-ink); } .ac-ev span { color: var(--ab-ink2); min-width: 0; overflow-wrap: anywhere; } .ac-ev small { color: var(--ab-ink3); white-space: nowrap; } .ac-ev code { font-size: 11.5px; color: var(--ab-ink3); }

/* ── responsive ── */
@media (max-width: 900px) { .ac-auth { grid-template-columns: 1fr; gap: 24px; } .ac-stats { grid-template-columns: repeat(3, 1fr); } .ac-codegen { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  body.account-page .ab-main.ac-main { width: 100%; padding: 6px 14px 60px; }
  .ac-card { padding: 18px; }
  .ac-pcard { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 22px 18px; gap: 14px; }
  .ac-pname { justify-content: center; } .ac-badges, .ac-facts { justify-content: center; } .ac-pcard .ab-acts { justify-content: center; }
  .ac-stats { grid-template-columns: repeat(2, 1fr); gap: 8px; } .ac-stat b { font-size: 20px; }
  .ac-sheet-wrap { place-items: end center; padding: 0; }
  .ac-sheet, .ac-sheet.wide { width: 100%; max-height: 92dvh; border-radius: 24px 24px 0 0; transform: translateY(40px); }
  .ac-sheet-grip { display: block; width: 44px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .2); margin: 10px auto 0; }
  .ac-sheet-body { padding: 14px 16px calc(22px + env(safe-area-inset-bottom)); }
  .ac-member { grid-template-columns: auto 1fr; } .ac-m-tags { grid-column: 2; justify-content: flex-start; } .ac-m-seen { display: none; }
  .ac-code { grid-template-columns: 1fr auto; } .ac-code-k { grid-column: 1 / -1; } .ac-code-s { grid-column: 1; }
  .ac-ev { grid-template-columns: 1fr auto; } .ac-ev span { grid-column: 1 / -1; }
  .ac-codegen { grid-template-columns: 1fr; }
  .ac-dl { grid-template-columns: 1fr 1fr; }
  .ac-mem-top { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .ac-nft-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .ac-ava.framed::before { animation: none; } .ac-in { transition: none; opacity: 1; transform: none; } }

/* ── v7.1 · shop, wallet, premium looks ── */
.ac-coin { display: inline-flex; align-items: center; gap: 5px; color: var(--ab-gold); font: 700 13px/1 'Inter', sans-serif; white-space: nowrap; }
.ac-coin .i { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }
.ac-coin.lg { font-size: 18px; } .ac-coin.lg .i { width: 20px; height: 20px; }
.ac-coin.xl { font-size: 38px; letter-spacing: -.02em; } .ac-coin.xl .i { width: 34px; height: 34px; }
.ac-row.shop .ac-row-ic { color: var(--ab-gold); border-color: rgba(231, 201, 138, .3); background: rgba(231, 201, 138, .07); }
.ac-row.looks .ac-row-ic { color: #c4b5fd; border-color: rgba(167, 139, 250, .35); background: rgba(124, 58, 237, .12); }
.ab-btn.gold { border-color: rgba(231, 201, 138, .5); color: var(--ab-gold); background: rgba(231, 201, 138, .08); }
.ab-btn.gold:hover { background: rgba(231, 201, 138, .16); }
.ab-btn.wait { opacity: .6; cursor: default; }
.ab-btn.sm { min-height: 36px; padding: 0 14px; font-size: 12.5px; }
.ac-sheet-acts.start { justify-content: flex-start; margin-top: 4px; }
.ac-wallet { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; padding: 26px 28px; border-radius: var(--ab-r); border: 1px solid rgba(231, 201, 138, .28); background: radial-gradient(120% 160% at 0% 0%, rgba(231, 201, 138, .14), transparent 55%), linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); position: relative; overflow: hidden; margin-top: 10px; }
.ac-wallet::after { content: ""; position: absolute; inset: auto -40px -60px auto; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(231, 201, 138, .18); box-shadow: inset 0 0 0 30px rgba(231, 201, 138, .04); pointer-events: none; }
.ac-wallet-k, .ac-wallet-s { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-wallet-n { margin: 6px 0 4px; } .ac-wallet-n.center { text-align: center; padding: 10px 0 16px; }
.ac-wallet-acts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.ac-plans, .ac-boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
.ac-plan, .ac-box { display: grid; gap: 10px; padding: 18px; border-radius: 18px; border: 1px solid var(--ab-line); background: var(--ab-card); position: relative; overflow: hidden; }
.ac-plan.best { border-color: rgba(231, 201, 138, .45); background: linear-gradient(180deg, rgba(231, 201, 138, .09), rgba(231, 201, 138, .02)); }
.ac-plan-top { display: flex; align-items: center; gap: 8px; } .ac-plan-top b { font-size: 16px; } .ac-plan-top .tag { margin-inline-start: auto; }
.ac-plan small, .ac-box small { color: var(--ab-ink3); font-size: 12.5px; line-height: 1.5; min-height: 2.6em; }
.ac-plan .ab-btn, .ac-box .ab-btn { justify-content: center; }
.ac-box { text-align: center; justify-items: center; } .ac-box b { font-size: 15px; }
.ac-box-art { width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .25), transparent 55%), var(--bx, #6b7280); box-shadow: 0 14px 30px -14px var(--bx, #6b7280); }
.ac-box-art .i { width: 34px; height: 34px; stroke: #fff; fill: none; stroke-width: 1.8; }
.ac-box.b-common { --bx: #64748b; } .ac-box.b-rare { --bx: #2563eb; } .ac-box.b-epic { --bx: #7c3aed; }
.ac-lsts { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-top: 12px; }
.ac-lst { display: grid; grid-template-columns: 76px 1fr; grid-template-rows: auto auto; gap: 6px 12px; padding: 12px; border-radius: 16px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-lst-art { grid-row: 1 / 3; border: 0; padding: 0; background: none; cursor: pointer; border-radius: 12px; overflow: hidden; box-shadow: 0 0 0 1px color-mix(in srgb, var(--tc) 40%, transparent); } .ac-lst-art svg { width: 76px; height: 76px; display: block; }
.ac-lst-meta { display: grid; gap: 2px; min-width: 0; } .ac-lst-meta b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ac-lst-meta small { color: var(--ab-ink3); font-size: 11.5px; }
.ac-lst-seller { display: inline-flex; gap: 4px; align-items: center; }
.ac-lst-buy { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ac-tabs.sheet { margin: 4px 0 14px; }
.ac-packs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 6px; }
.ac-pack { position: relative; display: grid; gap: 6px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); cursor: pointer; }
.ac-pack input { position: absolute; opacity: 0; pointer-events: none; }
.ac-pack:has(input:checked) { border-color: rgba(231, 201, 138, .6); background: rgba(231, 201, 138, .08); box-shadow: inset 0 0 0 1px rgba(231, 201, 138, .4); }
.ac-pack-c { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .ac-pack-p { font-size: 12.5px; color: var(--ab-ink2); }
.ac-cardno { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 14px 16px; border-radius: 16px; border: 1px solid rgba(231, 201, 138, .35); background: linear-gradient(135deg, rgba(231, 201, 138, .12), rgba(124, 58, 237, .1)); margin-bottom: 8px; }
.ac-cardno code { font: 700 20px/1.2 'Inter', monospace; letter-spacing: .14em; color: var(--ab-ink); } .ac-cardno small { grid-column: 1 / -1; color: var(--ab-ink2); }
.ac-ev.tx b.pos { color: #6ee7b7; } .ac-ev.tx b.neg { color: #fca5a5; }
.ac-receipt { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--ab-line); background: var(--ab-card2); border-radius: 12px; padding: 6px 10px 6px 6px; cursor: pointer; color: var(--ab-ink2); font: 600 12px/1 inherit; font-family: inherit; }
.ac-receipt img { width: 36px; height: 36px; object-fit: cover; border-radius: 8px; } .ac-receipt-full { width: 100%; border-radius: 14px; display: block; }
.ac-pay { display: grid; gap: 8px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: var(--ab-card); }
.ac-pay.pending { border-color: rgba(231, 201, 138, .3); }
.ac-pay-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .ac-pay-top small { margin-inline-start: auto; color: var(--ab-ink3); }
.ac-pay-mid { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: var(--ab-ink2); font-size: 13px; } .ac-pay-mid code { font-size: 12px; }
.ac-pay-acts { display: flex; gap: 8px; }
.ac-codegen.shop textarea { min-height: 96px; font-family: 'Inter', monospace; }
.ac-switches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ac-inline input[type=text] { min-height: 42px; }
.ac-inline:has(#amCoins) { grid-template-columns: 1fr 1fr auto; }
/* name gradients · status · frames */
.ac-name.ng { background: var(--ng); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.ac-emo { display: inline-block; margin-inline-start: 2px; font-size: .78em; line-height: 1; vertical-align: -1px; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .4)); }
.ac-ava.fr-pulse::before { animation: acRing 4s linear infinite, acPulse 2.2s ease-in-out infinite; }
.ac-ava.fr-neon::before { animation: acRing 6s linear infinite; filter: drop-shadow(0 0 8px rgba(34, 211, 238, .7)) drop-shadow(0 0 14px rgba(232, 121, 249, .5)); }
.ac-ava.fr-ice::before { filter: drop-shadow(0 0 10px rgba(125, 211, 252, .6)); }
.ac-ava.fr-gold::before { filter: drop-shadow(0 0 10px rgba(231, 201, 138, .55)); }
@keyframes acPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
/* motion profile backgrounds (pure CSS; static on reduced motion / mobile) */
.ac-pcard.has-bg { isolation: isolate; }
.ac-pcard.has-bg > *:not(.ac-pbg):not(.ac-fx) { position: relative; z-index: 1; }
.ac-pcard > .ac-fx, .ac-pcard > .ac-pbg { position: absolute; }
.ac-pbg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
.ac-pbg i { position: absolute; inset: 0; display: block; }
.ac-pbg.bg-aurora i:nth-child(1) { background: radial-gradient(60% 80% at 20% 30%, rgba(52, 211, 153, .35), transparent 60%), radial-gradient(50% 70% at 80% 20%, rgba(96, 165, 250, .35), transparent 60%), radial-gradient(60% 60% at 60% 90%, rgba(167, 139, 250, .35), transparent 60%); filter: blur(30px); animation: pbAur 14s ease-in-out infinite alternate; }
.ac-pbg.bg-aurora i:nth-child(2) { background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .06) 50%, transparent 70%); background-size: 300% 100%; animation: pbSheen 9s linear infinite; }
@keyframes pbAur { 0% { transform: translate(-6%, -4%) scale(1.1) rotate(0deg); } 100% { transform: translate(6%, 6%) scale(1.25) rotate(8deg); } }
@keyframes pbSheen { from { background-position: 150% 0; } to { background-position: -150% 0; } }
.ac-pbg.bg-nebula i:nth-child(1) { background: radial-gradient(40% 50% at 30% 40%, rgba(236, 72, 153, .4), transparent 70%), radial-gradient(45% 55% at 75% 60%, rgba(124, 58, 237, .45), transparent 70%); filter: blur(34px); animation: pbNeb 18s ease-in-out infinite alternate; }
.ac-pbg.bg-nebula i:nth-child(2) { background-image: radial-gradient(1.5px 1.5px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 48% 72%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 78% 28%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 90% 82%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 32% 88%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 62% 12%, #fff 50%, transparent 51%); opacity: .7; animation: pbTwinkle 4s ease-in-out infinite alternate; }
@keyframes pbNeb { 0% { transform: scale(1) translate(0, 0); } 100% { transform: scale(1.3) translate(8%, -6%); } }
@keyframes pbTwinkle { from { opacity: .35; } to { opacity: .9; } }
.ac-pbg.bg-waves i { inset: auto -20% -60% -20%; height: 120%; border-radius: 45%; border: 1px solid rgba(255, 255, 255, .08); background: radial-gradient(closest-side, rgba(59, 130, 246, .18), transparent); animation: pbWave 12s linear infinite; }
.ac-pbg.bg-waves i:nth-child(2) { animation-duration: 17s; animation-direction: reverse; background: radial-gradient(closest-side, rgba(124, 58, 237, .16), transparent); } .ac-pbg.bg-waves i:nth-child(3) { animation-duration: 23s; bottom: -70%; }
@keyframes pbWave { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.ac-pbg.bg-grid i:nth-child(1) { background-image: linear-gradient(rgba(124, 58, 237, .25) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 58, 237, .25) 1px, transparent 1px); background-size: 34px 34px; transform: perspective(300px) rotateX(55deg) translateY(-20%) scale(2); transform-origin: 50% 100%; animation: pbGrid 3s linear infinite; mask-image: linear-gradient(180deg, transparent, #000 40%); -webkit-mask-image: linear-gradient(180deg, transparent, #000 40%); }
.ac-pbg.bg-grid i:nth-child(2) { background: radial-gradient(60% 50% at 50% 100%, rgba(59, 130, 246, .3), transparent 70%); }
@keyframes pbGrid { from { background-position: 0 0; } to { background-position: 0 34px; } }
.ac-pbg.bg-rain i { background-image: repeating-linear-gradient(90deg, transparent 0 14px, rgba(255, 255, 255, .035) 14px 15px); } 
.ac-pbg.bg-rain i:nth-child(2) { background-image: linear-gradient(180deg, transparent 0 60%, rgba(147, 197, 253, .5) 85%, transparent 100%); background-size: 2px 90px; background-repeat: repeat; animation: pbRain 1.1s linear infinite; opacity: .5; mask-image: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 27px); -webkit-mask-image: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 27px); }
.ac-pbg.bg-rain i:nth-child(3) { background-image: linear-gradient(180deg, transparent 0 55%, rgba(196, 181, 253, .45) 85%, transparent 100%); background-size: 2px 140px; animation: pbRain 1.7s linear infinite; opacity: .4; mask-image: repeating-linear-gradient(90deg, transparent 0 11px, #000 11px 13px, transparent 13px 41px); -webkit-mask-image: repeating-linear-gradient(90deg, transparent 0 11px, #000 11px 13px, transparent 13px 41px); }
@keyframes pbRain { from { background-position: 0 -140px; } to { background-position: 0 140px; } }
.ac-pbg.bg-pulse i { inset: 50% auto auto 50%; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(231, 201, 138, .5); transform: translate(-50%, -50%); animation: pbPulse 4s ease-out infinite; }
.ac-pbg.bg-pulse i:nth-child(2) { animation-delay: 1.33s; } .ac-pbg.bg-pulse i:nth-child(3) { animation-delay: 2.66s; }
@keyframes pbPulse { 0% { transform: translate(-50%, -50%) scale(1); opacity: .9; } 100% { transform: translate(-50%, -50%) scale(18); opacity: 0; } }
.ac-pbg.bg-stars i:nth-child(1) { background-image: radial-gradient(1.3px 1.3px at 8% 30%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 22% 70%, #fff 50%, transparent 51%), radial-gradient(1.6px 1.6px at 38% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 55% 60%, #fff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 70% 35%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 84% 76%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 93% 20%, #fff 50%, transparent 51%); animation: pbTwinkle 3s ease-in-out infinite alternate; }
.ac-pbg.bg-stars i:nth-child(2) { background-image: radial-gradient(1px 1px at 15% 50%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 45% 85%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 63% 10%, #fff 50%, transparent 51%), radial-gradient(1.3px 1.3px at 78% 55%, #fff 50%, transparent 51%); animation: pbTwinkle 4.6s ease-in-out infinite alternate-reverse; }
.ac-pbg.bg-stars i:nth-child(3) { inset: 10% auto auto -10%; width: 120px; height: 1px; background: linear-gradient(90deg, transparent, #fff, transparent); transform: rotate(-20deg); animation: pbShoot 7s ease-in infinite; opacity: 0; }
@keyframes pbShoot { 0%, 80% { opacity: 0; transform: translate(0, 0) rotate(-20deg); } 82% { opacity: .9; } 100% { opacity: 0; transform: translate(120vw, 40vw) rotate(-20deg); } }
.ac-pbg.bg-ember i:nth-child(1) { background: radial-gradient(70% 60% at 50% 110%, rgba(249, 115, 22, .45), rgba(239, 68, 68, .15) 50%, transparent 75%); animation: pbEmberGlow 3s ease-in-out infinite alternate; }
.ac-pbg.bg-ember i:nth-child(2), .ac-pbg.bg-ember i:nth-child(3) { background-image: radial-gradient(2px 2px at 10% 100%, #fdba74 50%, transparent 51%), radial-gradient(1.5px 1.5px at 30% 100%, #fb923c 50%, transparent 51%), radial-gradient(2px 2px at 52% 100%, #fcd34d 50%, transparent 51%), radial-gradient(1.5px 1.5px at 74% 100%, #fb923c 50%, transparent 51%), radial-gradient(2px 2px at 90% 100%, #fdba74 50%, transparent 51%); background-size: 100% 100%; animation: pbRise 6s linear infinite; }
.ac-pbg.bg-ember i:nth-child(3) { animation-duration: 8.5s; animation-delay: -3s; background-position: 7% 0; opacity: .7; }
@keyframes pbRise { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(-140%); opacity: 0; } }
@keyframes pbEmberGlow { from { opacity: .7; } to { opacity: 1; } }
html.reduce-motion .ac-pbg i, html.mobile .ac-pbg i, html.lite .ac-pbg i { animation: none !important; }
/* looks picker */
.ac-pcard.mini { padding: 18px 20px; gap: 16px; margin: 0 0 14px; align-items: center; } .ac-pcard.mini .ac-pname { font-size: 18px; margin: 0; }
.ac-look-g { display: grid; gap: 8px; margin: 6px 0 12px; } .ac-look-g > b { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ab-ink3); }
.ac-looks { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-look { --lg: linear-gradient(135deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04)); display: grid; justify-items: center; gap: 5px; min-width: 64px; padding: 6px; border-radius: 12px; border: 1px solid var(--ab-line); background: var(--ab-card); cursor: pointer; color: var(--ab-ink2); font-family: inherit; }
.ac-look span { width: 34px; height: 34px; border-radius: 50%; background: var(--lg); display: grid; place-items: center; font-size: 20px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.ac-look small { font-size: 10.5px; } .ac-look.on { border-color: rgba(231, 201, 138, .6); box-shadow: 0 0 0 1px rgba(231, 201, 138, .5); color: var(--ab-ink); }
.ac-look.bgp span { width: 88px; height: 48px; border-radius: 10px; position: relative; overflow: hidden; background: #0d0b18; } .ac-look.bgp span .ac-pbg, .ac-look.bgp span { pointer-events: none; }
.ac-looks.bgs .ac-look { min-width: 100px; } .ac-looks.emo .ac-look { min-width: 48px; } .ac-looks.emo .ac-look small { display: none; }
.ac-form.looks.locked { position: relative; } .ac-locked { filter: blur(3px) saturate(.6); opacity: .45; pointer-events: none; max-height: 420px; overflow: hidden; mask-image: linear-gradient(180deg, #000 60%, transparent); -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); }
.ac-lock-cta { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 12px; text-align: center; padding: 20px; } .ac-lock-cta p { max-width: 320px; color: var(--ab-ink2); }
.ac-note.ok { border-color: rgba(110, 231, 183, .35); color: #a7f3d0; }
@media (max-width: 767px) {
  .ac-wallet { grid-template-columns: 1fr; padding: 20px; } .ac-wallet-acts { justify-content: flex-start; } .ac-wallet-acts .ab-btn { flex: 1 1 auto; justify-content: center; }
  .ac-plans, .ac-boxes, .ac-switches { grid-template-columns: 1fr; } .ac-lsts { grid-template-columns: 1fr; } .ac-packs { grid-template-columns: 1fr; }
  .ac-coin.xl { font-size: 32px; } .ac-inline:has(#amCoins) { grid-template-columns: 1fr; }
}
/* framed avatars: the ring paints above the host background, so initials carry their own disc */
.ac-ava.framed b { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--ac) 70%, #fff 12%), color-mix(in srgb, var(--ac) 60%, #000)); position: relative; z-index: 1; }
.ac-ava.framed img { position: relative; z-index: 1; }

/* ═══════════ v7.3 — custom background, particle effects, avatar motion, name effects, gifts, stats, diagnosis ═══════════ */
.ac-pbg.bg-custom { background-size: cover; background-position: center; filter: saturate(1.1); }
.ac-pbg.bg-custom::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 6, 13, .15), rgba(7, 6, 13, .78)); }
.ac-pcard.custom-bg { border-color: rgba(255, 255, 255, .16); }
.ac-pcard.custom-bg .ac-handle, .ac-pcard.custom-bg .ac-facts, .ac-pcard.custom-bg .ac-bio { text-shadow: 0 1px 6px rgba(0, 0, 0, .7); }
/* particle layers: each <i> is one particle, positioned by --x, delayed by --d, duration --t, scale --s, hue --h */
.ac-fx { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
.ac-fx i { position: absolute; left: var(--x); top: -8%; font-style: normal; font-size: calc(14px * var(--s)); line-height: 1; opacity: 0; animation: fxFall var(--t) linear var(--d) infinite; will-change: transform, opacity; }
.ac-fx.fx-hearts i { color: #fb7185; text-shadow: 0 0 10px rgba(251, 113, 133, .6); }
.ac-fx.fx-sparkles i { color: #fde68a; text-shadow: 0 0 10px rgba(253, 230, 138, .9); animation-name: fxTwinkle; top: calc(var(--x) * .9); }
.ac-fx.fx-snow i { color: #fff; text-shadow: 0 0 6px rgba(255, 255, 255, .6); animation-name: fxSnow; }
.ac-fx.fx-notes i { color: #c4b5fd; text-shadow: 0 0 10px rgba(167, 139, 250, .7); animation-name: fxRise; top: auto; bottom: -8%; }
.ac-fx.fx-fireflies i { color: #bef264; font-size: calc(18px * var(--s)); text-shadow: 0 0 12px #bef264, 0 0 24px rgba(190, 242, 100, .6); animation-name: fxFly; top: calc(var(--x) * .8); }
.ac-fx.fx-bubbles i { color: rgba(125, 211, 252, .9); font-size: calc(16px * var(--s)); animation-name: fxRise; top: auto; bottom: -8%; }
.ac-fx.fx-confetti i { color: hsl(var(--h) 90% 60%); font-size: calc(10px * var(--s)); animation-name: fxConfetti; }
.ac-fx.fx-rain i { color: rgba(147, 197, 253, .7); font-size: calc(16px * var(--s)); animation-name: fxRain; animation-duration: calc(var(--t) * .3); }
@keyframes fxFall { 0% { transform: translateY(0) rotate(0); opacity: 0; } 10% { opacity: .9; } 90% { opacity: .7; } 100% { transform: translateY(120vh) translateY(260px) rotate(40deg); opacity: 0; } }
@keyframes fxSnow { 0% { transform: translate(0, 0); opacity: 0; } 10% { opacity: .9; } 50% { transform: translate(14px, 130px); } 100% { transform: translate(-10px, 280px); opacity: 0; } }
@keyframes fxRise { 0% { transform: translateY(0) scale(.6); opacity: 0; } 15% { opacity: .9; } 100% { transform: translateY(-300px) translateX(18px) scale(1.1); opacity: 0; } }
@keyframes fxTwinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0); } 50% { opacity: 1; transform: scale(1.2) rotate(90deg); } }
@keyframes fxFly { 0% { transform: translate(0, 0); opacity: 0; } 20% { opacity: 1; } 50% { transform: translate(40px, 30px); opacity: .3; } 80% { opacity: 1; } 100% { transform: translate(-30px, 60px); opacity: 0; } }
@keyframes fxConfetti { 0% { transform: translateY(0) rotate(0) scaleX(1); opacity: 0; } 10% { opacity: 1; } 50% { transform: translateY(140px) rotate(400deg) scaleX(.2); } 100% { transform: translateY(280px) rotate(760deg) scaleX(1); opacity: 0; } }
@keyframes fxRain { 0% { transform: translateY(0) scaleY(1.6); opacity: 0; } 15% { opacity: .8; } 100% { transform: translateY(300px) scaleY(1.6); opacity: 0; } }
/* avatar motion */
.ac-ava.mo-float { animation: moFloat 4s ease-in-out infinite; } @keyframes moFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
.ac-ava.mo-pulse { animation: moPulse 2.2s ease-in-out infinite; } @keyframes moPulse { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(124, 58, 237, 0)); } 50% { transform: scale(1.05); filter: drop-shadow(0 0 16px color-mix(in srgb, var(--ac) 70%, transparent)); } }
.ac-ava.mo-swing { animation: moSwing 3.4s ease-in-out infinite; transform-origin: 50% -20%; } @keyframes moSwing { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
.ac-ava.mo-orbit::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle, #fff, var(--ac)); box-shadow: 0 0 10px var(--ac); top: -6px; left: calc(50% - 5px); z-index: 3; transform-origin: 5px calc(50% + 6px + 50%); animation: moOrbit 3s linear infinite; }
.ac-ava.mo-orbit { position: relative; overflow: visible; } @keyframes moOrbit { to { transform: rotate(360deg); } }
.ac-ava.mo-beat { animation: moBeat 1s ease-in-out infinite; } @keyframes moBeat { 0%, 30%, 100% { transform: scale(1); } 10% { transform: scale(1.08); } 20% { transform: scale(.98); } }
/* name effects */
.ac-name.nx-shimmer { background-image: linear-gradient(100deg, currentColor 40%, #fff 50%, currentColor 60%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: nxShimmer 2.8s linear infinite; }
.ac-name.ng.nx-shimmer { background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, .85) 50%, rgba(255, 255, 255, 0) 60%), var(--ng); }
@keyframes nxShimmer { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }
.ac-name.nx-neon { color: #e0f2fe; text-shadow: 0 0 6px #67e8f9, 0 0 16px #22d3ee, 0 0 30px rgba(34, 211, 238, .6); animation: nxNeon 2.6s ease-in-out infinite alternate; }
.ac-name.ng.nx-neon { -webkit-text-fill-color: initial; background: none; color: #e0f2fe; }
@keyframes nxNeon { from { text-shadow: 0 0 4px #67e8f9, 0 0 10px #22d3ee; } to { text-shadow: 0 0 8px #67e8f9, 0 0 22px #22d3ee, 0 0 40px rgba(34, 211, 238, .7); } }
.ac-name.nx-rainbow { background-image: linear-gradient(90deg, #f43f5e, #f59e0b, #22c55e, #06b6d4, #8b5cf6, #f43f5e); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: nxRainbow 5s linear infinite; }
@keyframes nxRainbow { to { background-position: 300% 0; } }
.ac-name.nx-glitch { position: relative; animation: nxGlitch 3s steps(1) infinite; } @keyframes nxGlitch { 0%, 92%, 100% { text-shadow: none; transform: none; } 93% { text-shadow: -2px 0 #22d3ee, 2px 0 #f43f5e; transform: translateX(1px); } 95% { text-shadow: 2px 0 #22d3ee, -2px 0 #f43f5e; transform: translateX(-1px) skewX(-4deg); } 97% { text-shadow: -1px 0 #22d3ee, 1px 0 #f43f5e; transform: none; } }
.ac-name.nx-wave { display: inline-block; animation: nxWave 2.4s ease-in-out infinite; } @keyframes nxWave { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(-1deg); } 75% { transform: translateY(2px) rotate(1deg); } }
/* looks tiles for the new groups */
.ac-look.g-effect .fxch { font-size: 18px; color: #fde68a; background: linear-gradient(135deg, rgba(124, 58, 237, .35), rgba(59, 130, 246, .2)); }
.ac-look.g-motion span.ac-ava { width: 38px; height: 38px; font-size: 13px; } .ac-look.g-motion span.ac-ava b { font-size: 13px; }
.ac-look.g-nameFx { min-width: 96px; } .ac-look.g-nameFx span.ac-name { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; font-weight: 800; font-size: 14px; padding: 4px 6px; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.ac-look.bgp.up span { display: grid; place-items: center; background: linear-gradient(135deg, rgba(231, 201, 138, .25), rgba(124, 58, 237, .25)) center/cover; border: 1px dashed rgba(231, 201, 138, .5); }
.ac-look.bgp.up span .i { width: 22px; height: 22px; color: #fff; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .7)); }
.ac-look.bgp.up span[style*="background-image"] { border-style: solid; }
.ac-hint { display: block; margin-top: 6px; color: var(--ab-muted); font-size: 11.5px; }
/* gifts */
.ac-gifts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.ac-gift { position: relative; display: grid; justify-items: center; gap: 4px; padding: 14px 10px 12px; border-radius: 18px; background: linear-gradient(180deg, color-mix(in srgb, var(--tc) 16%, transparent), rgba(255, 255, 255, .025)); border: 1px solid color-mix(in srgb, var(--tc) 35%, transparent); text-align: center; transition: transform .25s, box-shadow .25s; }
.ac-gift:hover { transform: translateY(-3px); box-shadow: 0 14px 34px -14px var(--tg); }
.ac-gift.out { opacity: .55; filter: saturate(.4); }
.ac-gift-art { width: 86px; height: 86px; border-radius: 24px; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--tc) 55%, #fff 10%), color-mix(in srgb, var(--tc) 40%, #000) 75%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15), 0 10px 26px -12px var(--tg); margin-bottom: 4px; }
.ac-gift-emo { font-size: 46px; line-height: 1; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45)); animation: giftIdle 4s ease-in-out infinite; }
@keyframes giftIdle { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(-4deg); } }
.ac-gift > b { font-size: 14px; } .ac-gift > small { color: var(--ab-muted); font-size: 11.5px; } .ac-gift .ab-btn { width: 100%; margin-top: 4px; }
.ac-gattrs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 10px 0 4px; }
.ac-gattrs > div { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; padding: 8px 10px; }
.ac-gattrs dt { font-size: 11px; color: var(--ab-muted); margin-bottom: 2px; } .ac-gattrs dd { margin: 0; font-weight: 700; font-size: 13.5px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ac-gattrs .pct { font-style: normal; font-size: 11px; color: #e7c98a; background: rgba(231, 201, 138, .12); border-radius: 999px; padding: 1px 7px; margin-inline-start: auto; }
.ac-gattrs .sw { width: 14px; height: 14px; border-radius: 4px; display: inline-block; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.ac-nft-svg.gift { border-radius: 14%; }
/* level & stats */
.ac-level { background: linear-gradient(135deg, rgba(231, 201, 138, .14), rgba(124, 58, 237, .14)); border: 1px solid rgba(231, 201, 138, .3); border-radius: 16px; padding: 14px 16px; margin-bottom: 12px; }
.ac-level-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; } .ac-level-top b { font-size: 18px; } .ac-level-top span { color: var(--ab-muted); font-size: 12.5px; }
.ac-level-bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; margin: 10px 0 6px; } .ac-level-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e7c98a, #7c3aed); transition: width .6s cubic-bezier(.2, .8, .2, 1); }
.ac-level small { color: var(--ab-muted); font-size: 11.5px; }
.ac-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ac-stat { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; padding: 12px 8px; text-align: center; display: grid; gap: 2px; }
.ac-stat b { font-size: 20px; } .ac-stat small { color: var(--ab-muted); font-size: 11px; } .ac-stat.gold b { color: #e7c98a; }
.ac-stat.t-common b { color: #9aa4b2; } .ac-stat.t-rare b { color: #3b82f6; } .ac-stat.t-epic b { color: #c026d3; } .ac-stat.t-legendary b { color: #f59e0b; } .ac-stat.t-mythic b { color: #ef4444; }
/* database diagnosis card (local mode only) */
.ac-diag { margin: 10px auto 0; max-width: 640px; border: 1px solid rgba(245, 158, 11, .35); background: rgba(245, 158, 11, .07); border-radius: 14px; padding: 12px 14px; display: grid; gap: 6px; font-size: 13px; }
.ac-diag b { color: #fbbf24; } .ac-diag p { margin: 0; line-height: 1.7; } .ac-diag small { color: var(--ab-muted); font-size: 11.5px; word-break: break-all; }
@media (max-width: 520px) { .ac-gifts { grid-template-columns: repeat(2, 1fr); } .ac-stats { grid-template-columns: repeat(2, 1fr); } }
@media (prefers-reduced-motion: reduce) { .ac-fx, .ac-ava[class*="mo-"], .ac-name[class*="nx-"], .ac-gift-emo { animation: none !important; } .ac-fx { display: none; } }

/* ── v7.4 Telegram-style profile card: centered avatar, name + tick below, the member's own gifts patterned around ── */
.ac-pcard.tg { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 12px; padding: 34px 22px 24px; }
.ac-pcard.tg .ac-pmeta { width: 100%; display: flex; flex-direction: column; align-items: center; }
.ac-pcard.tg .ac-pname, .ac-pcard.tg .ac-badges, .ac-pcard.tg .ac-facts, .ac-pcard.tg .ab-acts { justify-content: center; }
.ac-pcard.tg .ac-bio { max-width: 560px; }
.ac-pcard.tg.mini { padding: 22px 16px 16px; gap: 8px; }
.ac-pcard.has-pattern { background-color: #0c0a16; }
.ac-pbg.bg-gifts { background: radial-gradient(120% 80% at 50% 0%, rgba(255, 255, 255, .04), transparent 60%); }
.ac-pbg.bg-gifts.over { mix-blend-mode: screen; opacity: .9; }
.ac-pattern { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ac-pcard.has-pattern .ac-ava { box-shadow: 0 0 0 4px rgba(12, 10, 22, .9), 0 0 0 5px rgba(255, 255, 255, .12), 0 18px 50px rgba(0, 0, 0, .55); }
.ac-pcard.has-pattern .ac-handle, .ac-pcard.has-pattern .ac-facts { text-shadow: 0 1px 8px rgba(0, 0, 0, .8); }
.gift-art { display: block; overflow: visible; }
.ac-gift-art svg { width: 68px; height: 68px; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45)); }
.ac-pattern { -webkit-mask-image: linear-gradient(#000 70%, rgba(0, 0, 0, .55)); mask-image: linear-gradient(#000 70%, rgba(0, 0, 0, .55)); }
.ac-ava.xl b { font-size: 44px; } .ac-ava.lg b { font-size: 32px; } .ac-ava.sm b { font-size: 15px; }


/* ── v7.5: richer profile (title, supporter chip, links), specials, purchase sheet, support & feedback ── */
.ac-ptitle { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 2px 0 6px; }
.ac-title { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: #f5e6c4; background: linear-gradient(135deg, rgba(231, 201, 138, .22), rgba(231, 201, 138, .08)); border: 1px solid rgba(231, 201, 138, .4); letter-spacing: .01em; }
.ac-sup { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 800; border: 1px solid; }
.ac-sup .i { width: 12px; height: 12px; }
.ac-sup.s-bronze { color: #f0b48a; border-color: rgba(205, 127, 50, .55); background: rgba(205, 127, 50, .16); }
.ac-sup.s-silver { color: #e5e7eb; border-color: rgba(203, 213, 225, .55); background: rgba(203, 213, 225, .14); }
.ac-sup.s-gold { color: #ffe9a8; border-color: rgba(251, 191, 36, .6); background: rgba(251, 191, 36, .16); box-shadow: 0 0 14px rgba(251, 191, 36, .25); }
.ac-plinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 2px 0 10px; }
.ac-plink { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--ab-ink); text-decoration: none; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); transition: background .2s, transform .2s; max-width: 220px; }
.ac-plink span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: ltr; }
.ac-plink:hover { background: rgba(255, 255, 255, .13); transform: translateY(-1px); }
.ac-plink svg { width: 15px; height: 15px; fill: currentColor; flex: none; }
.ac-plink.k-instagram svg { color: #f472b6; } .ac-plink.k-telegram svg { color: #38bdf8; } .ac-plink.k-youtube svg { color: #ef4444; } .ac-plink.k-spotify svg { color: #22c55e; } .ac-plink.k-soundcloud svg { color: #f97316; } .ac-plink.k-website svg { color: #a78bfa; } .ac-plink.k-x svg { color: #e5e7eb; }
.ac-count.hot { background: #ef4444; color: #fff; border-color: transparent; }
.ac-nft-eq.pin { background: rgba(96, 165, 250, .9); color: #06111f; }
.ac-nft-eq.gift { background: rgba(244, 63, 94, .92); color: #fff; font-size: 12px; }
.ac-giftnote { margin: 10px 0 6px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(135deg, rgba(244, 63, 94, .16), rgba(168, 85, 247, .12)); border: 1px solid rgba(244, 63, 94, .3); }
.ac-giftnote b { font-size: 13px; } .ac-giftnote p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; }
.ab-btn.sm { min-height: 34px; padding: 0 12px; font-size: 12.5px; border-radius: 10px; gap: 6px; }
.ab-btn.on { border-color: rgba(96, 165, 250, .6); background: rgba(96, 165, 250, .16); }
.ac-links-ed { display: grid; gap: 8px; margin-top: 6px; }
.ac-link-row { display: grid; grid-template-columns: 130px 1fr; gap: 8px; }
.ac-link-row select, .ac-link-row input { min-width: 0; }
.ac-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
/* shop: gift button + specials */
.ac-gift { position: relative; }
.ac-ib.gift { position: absolute; top: 10px; inset-inline-end: 10px; width: 32px; height: 32px; border-radius: 10px; background: rgba(244, 63, 94, .18); border: 1px solid rgba(244, 63, 94, .35); color: #fb7185; }
.ac-ib.gift:hover { background: rgba(244, 63, 94, .32); }
.ac-sub-h { display: flex; align-items: baseline; gap: 10px; margin: 16px 0 10px; font-size: 14px; font-weight: 800; }
.ac-sub-h small { font-weight: 500; color: var(--ab-ink3); font-size: 12px; }
.ac-titles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.ac-title-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 10px 12px; border-radius: 16px; border: 1px solid var(--ab-line); background: rgba(255, 255, 255, .035); text-align: center; }
.ac-title-card.owned { border-color: rgba(231, 201, 138, .35); } .ac-title-card.on { background: linear-gradient(180deg, rgba(231, 201, 138, .16), rgba(231, 201, 138, .04)); border-color: rgba(231, 201, 138, .6); }
.ac-title-card b { font-size: 13.5px; } .ac-title-card .ac-plan-price { margin: 0; } .ac-title-card .ab-btn { width: 100%; margin-top: auto; }
.ac-title-ic { font-size: 26px; line-height: 1; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .4)); }
.ac-title-ic.big { font-size: 48px; }
.ac-sups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ac-sup-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 12px; border-radius: 18px; border: 1px solid var(--ab-line); background: rgba(255, 255, 255, .035); text-align: center; }
.ac-sup-card b { font-size: 14px; } .ac-sup-card small { color: var(--ab-ink3); font-size: 12px; line-height: 1.5; } .ac-sup-card .ab-btn, .ac-sup-card .ac-pill { margin-top: auto; }
.ac-sup-ic { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; }
.ac-sup-ic .i { width: 22px; height: 22px; }
.ac-sup-card.s-bronze .ac-sup-ic { background: rgba(205, 127, 50, .2); color: #f0b48a; } .ac-sup-card.s-silver .ac-sup-ic { background: rgba(203, 213, 225, .18); color: #e5e7eb; } .ac-sup-card.s-gold .ac-sup-ic { background: rgba(251, 191, 36, .2); color: #ffe9a8; box-shadow: 0 0 18px rgba(251, 191, 36, .3); }
.ac-sup-card.on { border-color: rgba(231, 201, 138, .5); }
/* purchase sheet */
.ac-buy-art { width: 120px; height: 120px; margin: 4px auto 10px; border-radius: 32px; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .14), rgba(255, 255, 255, .03) 70%); border: 1px solid rgba(255, 255, 255, .1); }
.ac-buy-art svg.gift-art { width: 92px; height: 92px; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .5)); }
.ac-buy-art .i { width: 48px; height: 48px; color: #e7c98a; }
.ac-buy-art.sup .i { color: #fb7185; }
.ac-dl.buy { margin-top: 6px; } .ac-dl dd.neg { color: #fb7185; font-weight: 800; }
.ac-buy-friend { display: grid; gap: 8px; margin-bottom: 4px; }
/* support */
.ac-sup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.ac-sup-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; border-radius: 18px; border: 1px solid rgba(231, 201, 138, .3); background: linear-gradient(135deg, rgba(231, 201, 138, .14), rgba(255, 255, 255, .03)); color: var(--ab-ink); text-align: start; cursor: pointer; font: inherit; transition: transform .2s, border-color .2s; }
.ac-sup-cta:hover { transform: translateY(-2px); border-color: rgba(231, 201, 138, .6); }
.ac-sup-cta.fb { border-color: rgba(96, 165, 250, .3); background: linear-gradient(135deg, rgba(96, 165, 250, .14), rgba(255, 255, 255, .03)); }
.ac-sup-cta b { font-size: 15px; } .ac-sup-cta small { color: var(--ab-ink3); font-size: 12px; }
.ac-list.tickets { gap: 8px; }
.ac-ticket { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: rgba(255, 255, 255, .03); color: var(--ab-ink); text-align: start; cursor: pointer; font: inherit; transition: background .2s; }
.ac-ticket:hover { background: rgba(255, 255, 255, .07); }
.ac-ticket.unread { border-color: rgba(239, 68, 68, .4); background: rgba(239, 68, 68, .06); }
.ac-tk-no { font-family: ui-monospace, monospace; font-size: 12px; color: var(--ab-ink3); }
.ac-tk-txt { min-width: 0; display: grid; gap: 2px; } .ac-tk-txt b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ac-tk-txt small { color: var(--ab-ink3); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-tk-r { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } .ac-tk-r small { color: var(--ab-ink3); font-size: 11px; }
.tag.st-open { background: rgba(59, 130, 246, .2); color: #93c5fd; } .tag.st-answered { background: rgba(34, 197, 94, .2); color: #86efac; } .tag.st-closed { background: rgba(148, 163, 184, .18); color: #cbd5e1; }
.ac-tk-card { padding: 0; }
.ac-thread-head { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-bottom: 1px solid var(--ab-line); flex-wrap: wrap; }
.ac-thread-head > div { min-width: 0; display: grid; gap: 2px; } .ac-thread-head b { font-size: 15px; } .ac-thread-head small { color: var(--ab-ink3); font-size: 12px; } .ac-thread-head .ac-back { margin: 0; }
.ac-thread { display: flex; flex-direction: column; gap: 10px; padding: 16px; max-height: 52vh; overflow: auto; background: radial-gradient(100% 60% at 50% 0%, rgba(124, 58, 237, .08), transparent 70%); }
.ac-msg { display: flex; flex-direction: column; gap: 4px; max-width: 86%; align-self: flex-start; }
.ac-msg.mine { align-self: flex-end; align-items: flex-end; }
.ac-msg-b { padding: 10px 14px; border-radius: 16px 16px 16px 4px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .08); font-size: 14px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.ac-msg.mine .ac-msg-b { border-radius: 16px 16px 4px 16px; background: linear-gradient(135deg, rgba(124, 58, 237, .4), rgba(59, 130, 246, .3)); border-color: rgba(124, 58, 237, .35); }
.ac-msg.staff .ac-msg-b { background: linear-gradient(135deg, rgba(231, 201, 138, .2), rgba(231, 201, 138, .06)); border-color: rgba(231, 201, 138, .4); }
.ac-msg small { color: var(--ab-ink3); font-size: 11px; }
.ac-reply { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px 16px 6px; align-items: end; }
.ac-reply textarea { min-height: 44px; resize: vertical; }
.ac-tk-acts { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 16px 16px; }
.ac-tk-closed { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px; color: var(--ab-ink3); font-size: 13px; }
.ac-rate { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--ab-ink3); }
.ac-rate.center { justify-content: center; margin: 4px 0 12px; }
.ac-stars { display: inline-flex; gap: 2px; direction: ltr; }
.ac-stars button { appearance: none; background: none; border: 0; padding: 0 2px; font-size: 24px; line-height: 1; color: rgba(255, 255, 255, .22); cursor: pointer; transition: color .15s, transform .15s; }
.ac-stars button.on, .ac-stars button:hover { color: #fbbf24; text-shadow: 0 0 12px rgba(251, 191, 36, .6); }
.ac-stars button:hover { transform: scale(1.15); }
.ac-stars.big button { font-size: 36px; }
.ac-stars.ro { color: #fbbf24; font-size: 14px; letter-spacing: 1px; }
.ac-stars-l { font-size: 12.5px; color: #fbbf24; min-width: 48px; }
.ac-fb-q { text-align: center; font-size: 16px; font-weight: 800; margin: 2px 0 8px; }
.ac-chip-l { position: relative; } .ac-chip-l input { position: absolute; opacity: 0; inset: 0; pointer-events: none; }
.ac-chip-l span { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--ab-line); font-size: 12.5px; cursor: pointer; color: var(--ab-ink2); }
.ac-chip-l input:checked + span { background: rgba(231, 201, 138, .16); border-color: rgba(231, 201, 138, .55); color: #f5e6c4; }
.ac-fb-stats { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--ab-ink3); } .ac-fb-stats b { color: var(--ab-ink); font-size: 15px; margin-inline-end: 4px; }
.ac-list.fb { gap: 10px; }
.ac-fb-item { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--ab-line); background: rgba(255, 255, 255, .03); display: grid; gap: 8px; }
.ac-fb-item.st-new { border-color: rgba(59, 130, 246, .4); } .ac-fb-item.st-starred { border-color: rgba(251, 191, 36, .5); background: rgba(251, 191, 36, .05); } .ac-fb-item.st-archived { opacity: .6; }
.ac-fb-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; } .ac-fb-top small { color: var(--ab-ink3); margin-inline-start: auto; }
.ac-fb-item p { margin: 0; font-size: 14px; line-height: 1.65; }
.ac-fb-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.ac-empty-s { padding: 18px; text-align: center; line-height: 1.8; }
@media (max-width: 640px) {
  .ac-sups { grid-template-columns: 1fr; } .ac-sup-grid { grid-template-columns: 1fr; } .ac-two { grid-template-columns: 1fr; } .ac-link-row { grid-template-columns: 110px 1fr; }
  .ac-ticket { grid-template-columns: 1fr auto; } .ac-tk-no { display: none; } .ac-thread { max-height: 48vh; } .ac-msg { max-width: 94%; }
  .ac-titles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
