.fy-account-enabled { --fy-surface:#fff; --fy-soft:#f4f6f3; --fy-text:#232923; --fy-muted:#687168; --fy-border:#dfe5dc; --fy-accent:#41644a; --fy-strong:#334d3b; --fy-on-strong:#fff; --fy-balance:#edf3e9; --fy-balance-edge:#d4e2ca; --fy-dialog-shadow:#14201630; --fy-backdrop:#10181269; }
.fy-account-enabled.theme-dark,.fy-account-enabled.studio-theme-dark { --fy-surface:#1b1d21; --fy-soft:#25282e; --fy-text:#edf0f4; --fy-muted:#9ca3af; --fy-border:#353a43; --fy-accent:#c5cfdf; --fy-strong:#e3e7ed; --fy-on-strong:#20242b; --fy-balance:#23262c; --fy-balance-edge:#393e47; --fy-dialog-shadow:#00000066; --fy-backdrop:#07080ba6; }
#fyAccountCenter { font-family:var(--font-body,"FengYu UI Latin","Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif); font-size:13px; color:var(--fy-text); }
#fyAccountCenter *,#fyAccountCenter *::before,#fyAccountCenter *::after { box-sizing:border-box; }
#fyAccountCenter [hidden] { display:none !important; }
#fyAccountCenter button { font:inherit; cursor:pointer; color:var(--fy-text); border:1px solid var(--fy-border); background:var(--fy-surface); border-radius:12px; padding:10px 14px; transition:background .16s,border-color .16s,transform .16s; }
#fyAccountCenter button:hover { background:var(--fy-soft); border-color:var(--fy-muted); }
#fyAccountCenter button:active { transform:translateY(1px); }
#fyAccountCenter button:disabled { opacity:.55; cursor:wait; }
#fyAccountCenter :is(button,input):focus-visible { outline:3px solid var(--fy-accent); outline-offset:3px; }
#fyAccountCenter .fy-account-bar { position:fixed; z-index:900; top:27px; right:28px; display:flex; align-items:center; gap:5px; padding:5px; background:var(--fy-surface); border:1px solid var(--fy-border); border-radius:18px; box-shadow:0 3px 14px #0000000a; }
#fyAccountCenter .fy-account-bar { transition:opacity .16s ease, visibility .16s ease; }
/* The account bar belongs to the infinite canvas only. The shell home page
   and secondary pages must keep their own header unobstructed. */
.app-shell:not(.shell-page-canvas) ~ #fyAccountCenter .fy-account-bar,
body:has(.home-shell) #fyAccountCenter .fy-account-bar,
#fyAccountCenter.canvas-overlay-active .fy-account-bar,
body:has(#imageEditModal.open, .image-text-editor[open], .idphoto-editor[open]) #fyAccountCenter .fy-account-bar { opacity:0; visibility:hidden; pointer-events:none; }
#fyAccountCenter .fy-account-bar button { display:flex; align-items:center; gap:8px; border:0; background:transparent; min-height:38px; padding:6px 10px; }
#fyAccountCenter .fy-account-bar button:hover { background:var(--fy-soft); }
.fy-api-open svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.fy-avatar { display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--fy-strong);color:var(--fy-on-strong);font-weight:800;font-size:14px; }
.fy-identity-copy { display:flex;flex-direction:column;gap:1px;text-align:left;max-width:130px; }
.fy-identity-copy b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px; }
.fy-identity-copy small,.fy-points small { color:var(--fy-muted);font-size:10px; }
#fyAccountCenter .fy-points { position:relative; gap:7px; margin-left:4px; padding-inline:15px; border-radius:10px; }
#fyAccountCenter .fy-points::before { content:""; position:absolute; width:1px; height:24px; left:-2px; background:var(--fy-border); }
.fy-points-icon { flex:none; width:18px; height:18px; color:var(--fy-accent); }
.fy-points-copy { display:flex; flex-direction:column; gap:2px; align-items:flex-start; }
.fy-points-copy small { font-size:9px; line-height:1.2; }
#fyAccountCenter .fy-account-bar .fy-recharge-quick { gap:4px; min-height:32px; padding:8px 12px; border:1px solid var(--fy-balance-edge); border-radius:11px; color:var(--fy-accent); background:var(--fy-balance); font-size:11px; font-weight:650; }
#fyAccountCenter .fy-account-bar .fy-recharge-quick:hover { background:var(--fy-soft); border-color:var(--fy-accent); }
.fy-recharge-quick svg { width:14px; height:14px; }
#fyPointsValue { font-size:16px; font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; }
#fySyncDot { color:#b45309;font-weight:800; }
#fyAccountCenter .fy-dialog { color:var(--fy-text);background:var(--fy-surface);border:1px solid var(--fy-border);border-radius:22px;padding:28px;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-shadow:0 20px 80px var(--fy-dialog-shadow);overflow:auto; }
#fyAccountCenter .fy-dialog::backdrop { background:var(--fy-backdrop);backdrop-filter:blur(6px); }
#fyAccountCenter .fy-dialog[open] { animation:fy-dialog-enter .18s ease-out; }
.fy-dialog-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px; }
.fy-dialog-head small { color:var(--fy-muted);font-size:11px;letter-spacing:.035em; }
.fy-dialog-head h2 { font-size:24px;letter-spacing:-.03em;margin:7px 0 0;font-weight:650; }
#fyAccountCenter [data-close] { display:grid;place-items:center;width:32px;height:32px;padding:0;flex:none;font-size:22px;border:0; }
.fy-login-form { display:grid;gap:19px; }
.fy-login-form label { display:grid;gap:9px;font-size:12px;font-weight:650; }
#fyAccountCenter .fy-auth-tabs { display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:-5px 0 22px;border:1px solid var(--fy-border);border-radius:14px;background:var(--fy-soft); }
#fyAccountCenter .fy-auth-tabs button { padding:10px 12px;background:transparent;border-color:transparent;border-radius:10px;font-weight:650;color:var(--fy-muted); }
#fyAccountCenter .fy-auth-tabs button[aria-selected="true"] { background:var(--fy-surface);border-color:var(--fy-border);color:var(--fy-text);box-shadow:0 2px 5px #00000008; }
#fyAccountCenter .fy-register-form { gap:15px; }
.fy-register-intro { display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--fy-border);border-radius:14px;background:var(--fy-soft); }
.fy-register-symbol { display:grid;place-items:center;flex:none;width:37px;height:37px;background:var(--fy-surface);color:var(--fy-accent);border:1px solid var(--fy-border);border-radius:11px; }
.fy-register-symbol svg { width:20px;height:20px; }
#fyAccountCenter .fy-register-intro b { font-size:13px;font-weight:700!important; }
.fy-register-intro p { margin:5px 0 0;font-size:11px;line-height:1.6;color:var(--fy-muted); }
.fy-register-availability { display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--fy-border);border-radius:12px; }
#fyAccountCenter .fy-register-availability .fy-note { margin:0;flex:1; }
#fyAccountCenter .fy-register-availability button { flex:none;padding:8px 10px;font-size:11px; }
.fy-email-code { display:flex;gap:8px;min-width:0; }
#fyAccountCenter .fy-email-code input { min-width:0;flex:1;width:0;letter-spacing:.08em; }
#fyAccountCenter .fy-email-code button { flex:none;min-width:108px;padding:10px 12px;font-size:12px;font-weight:650;color:var(--fy-accent);font-variant-numeric:tabular-nums; }
.fy-field-hint { margin:-7px 0 0;font-size:11px;line-height:1.6;color:var(--fy-muted);overflow-wrap:anywhere; }
#fyAccountCenter .fy-register-note { margin:0;font-size:11px; }
#fyAccountCenter input { width:100%;border:1px solid var(--fy-border);background:var(--fy-soft);color:var(--fy-text);font:inherit;border-radius:12px;padding:13px 14px; }
#fyAccountCenter input::placeholder { color:var(--fy-muted);font-weight:400; }
.fy-password { position:relative; }
#fyAccountCenter .fy-password input { padding-right:68px; }
#fyAccountCenter .fy-password button { position:absolute;right:6px;top:5px;border:0;background:transparent;padding:8px;font-size:11px; }
#fyAccountCenter .fy-primary { background:var(--fy-strong);color:var(--fy-on-strong);border-color:transparent;padding:14px;font-weight:700; }
#fyAccountCenter .fy-primary:hover { background:var(--fy-accent);color:var(--fy-surface); }
.fy-note { font-size:12px;line-height:1.8;color:var(--fy-muted);margin:14px 0 0; }
.fy-feedback { background:var(--fy-soft);border:1px solid var(--fy-border);border-radius:12px;padding:12px 14px;line-height:1.7;overflow-wrap:anywhere; }
.fy-feedback.is-error { color:#b42318;background:#fff1ee;border-color:#f0b4aa; }
.theme-dark .fy-feedback.is-error,.studio-theme-dark .fy-feedback.is-error { color:#ffb9ad;background:#392522;border-color:#74433c; }
/* Membership emblems retain their own silhouettes in every theme. */
#fyAccountCenter [data-member-tier] {
    --fy-member-ink:#285f50; --fy-member-tint:#edf5f1; --fy-member-edge:#b6d1c5;
    --fy-member-medal:#d2e7dc; --fy-member-deep:#1c473d; --fy-member-glint:#91cdb6;
    --fy-member-sheen:#ffffffa6; --fy-member-wash:#c6e2d536;
}
#fyAccountCenter [data-member-tier="monthly"] {
    --fy-member-ink:#24588c; --fy-member-tint:#eef5ff; --fy-member-edge:#b4cdee;
    --fy-member-medal:#d4e5fb; --fy-member-deep:#193e65; --fy-member-glint:#93ccff; --fy-member-wash:#a2cfff33;
}
#fyAccountCenter [data-member-tier="quarterly"] {
    --fy-member-ink:#694394; --fy-member-tint:#f4f0ff; --fy-member-edge:#cbb9e5;
    --fy-member-medal:#e6dcf7; --fy-member-deep:#483062; --fy-member-glint:#d5b3ff; --fy-member-wash:#c8a6f533;
}
#fyAccountCenter [data-member-tier="yearly"] {
    --fy-member-ink:#865719; --fy-member-tint:#fff6e3; --fy-member-edge:#e0c28a;
    --fy-member-medal:#f5dfae; --fy-member-deep:#62451f; --fy-member-glint:#f9d990; --fy-member-wash:#edc77938;
}
#fyAccountCenter [data-member-tier="permanent"] {
    --fy-member-ink:#f4dcc0; --fy-member-tint:#2c2b35; --fy-member-edge:#817062;
    --fy-member-medal:#49414a; --fy-member-deep:#292630; --fy-member-glint:#e8ccb0;
    --fy-member-sheen:#d7bdd01a; --fy-member-wash:#c8a89726;
}
.fy-account-enabled:is(.theme-dark,.studio-theme-dark) #fyAccountCenter [data-member-tier] {
    --fy-member-ink:#d1d7e0; --fy-member-tint:#2b3038; --fy-member-edge:#555e6b;
    --fy-member-medal:#3a424d; --fy-member-deep:#242a33; --fy-member-glint:#cad3df;
    --fy-member-sheen:#ffffff0c; --fy-member-wash:#b4c1d018;
}
.fy-account-enabled:is(.theme-dark,.studio-theme-dark) #fyAccountCenter [data-member-tier="monthly"] {
    --fy-member-ink:#b8daff; --fy-member-tint:#233750; --fy-member-edge:#4c719b;
    --fy-member-medal:#304d6e; --fy-member-wash:#85b5f21a;
}
.fy-account-enabled:is(.theme-dark,.studio-theme-dark) #fyAccountCenter [data-member-tier="quarterly"] {
    --fy-member-ink:#dec7ff; --fy-member-tint:#382d4b; --fy-member-edge:#796196;
    --fy-member-medal:#4e3d65; --fy-member-wash:#bc97e51a;
}
.fy-account-enabled:is(.theme-dark,.studio-theme-dark) #fyAccountCenter [data-member-tier="yearly"] {
    --fy-member-ink:#f6d898; --fy-member-tint:#403421; --fy-member-edge:#94784a;
    --fy-member-medal:#58472c; --fy-member-wash:#dfb76c1c;
}
.fy-account-enabled:is(.theme-dark,.studio-theme-dark) #fyAccountCenter [data-member-tier="permanent"] {
    --fy-member-ink:#f4dcc0; --fy-member-tint:#302c35; --fy-member-edge:#8f796c;
    --fy-member-medal:#49404a; --fy-member-sheen:#e8d3bd16; --fy-member-wash:#d7b7971c;
}
#fyAccountCenter .fy-member-badge {
    display:inline-flex; align-items:center; gap:7px; flex:none; width:max-content; max-width:100%;
    padding:4px 11px 4px 5px; border:1px solid var(--fy-member-edge); border-radius:10px;
    background:linear-gradient(125deg,var(--fy-member-sheen),transparent 54%),var(--fy-member-tint);
    color:var(--fy-member-ink); box-shadow:inset 0 1px 0 var(--fy-member-sheen);
    vertical-align:middle; font-size:12px; font-weight:750; line-height:1; letter-spacing:.025em; white-space:nowrap;
}
.fy-member-medal {
    display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:7px;
    background:var(--fy-member-medal); color:var(--fy-member-ink);
}
.fy-member-emblem { display:block; width:22px; height:22px; flex:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.fy-emblem-fill { fill:currentColor; fill-opacity:.14; }
.fy-emblem-solid { fill:currentColor; stroke:none; }
.fy-emblem-ribbon { stroke-width:2.6; }
#fyAccountCenter .fy-member-badge-compact {
    gap:4px; min-height:19px; padding:1px 6px 1px 3px; border-radius:6px; font-size:10px; letter-spacing:.015em;
}
.fy-member-badge-compact .fy-member-medal { width:16px; height:16px; background:none; border-radius:0; }
.fy-member-badge-compact .fy-member-emblem { width:16px; height:16px; stroke-width:1.9; }
#fyAccountCenter .fy-identity { gap:10px; padding:4px 9px; }
.fy-identity-copy { gap:3px; }
.fy-identity .fy-avatar {
    width:34px; height:34px; border:1px solid var(--fy-member-edge); border-radius:50%;
    background:var(--fy-member-tint); color:var(--fy-member-ink);
}
.fy-profile-card {
    position:relative; display:flex; align-items:center; gap:14px; min-width:0;
    padding:0 0 22px; border:0; background:transparent;
}
.fy-profile-eyebrow { display:block; margin-bottom:4px; color:var(--fy-muted); font-size:10px; letter-spacing:.035em; }
.fy-profile-card h3 { color:var(--fy-text); font-size:20px; line-height:1.4; margin:0 0 7px; overflow-wrap:anywhere; font-weight:650; }
.fy-profile-identity { min-width:0; flex:1; }
/* The standalone canvas resets all text to 400; identity keeps its hierarchy. */
#fyAccountCenter .fy-member-name,#fyAccountCenter .fy-profile-card h3 { font-weight:750 !important; }
#fyAccountCenter .fy-identity-copy b { font-weight:700 !important; }
#fyAccountCenter .fy-avatar { font-weight:800 !important; }
.fy-avatar-large {
    width:54px; height:54px; flex:none; border:1px solid var(--fy-member-edge); border-radius:50%; font-size:22px;
    color:var(--fy-member-ink); background:var(--fy-member-tint);
}
.fy-profile-insignia {
    position:relative; display:grid; place-items:center; flex:none; width:43px; height:46px;
    border:1px solid var(--fy-member-edge); border-radius:14px; color:var(--fy-member-ink);
    background:var(--fy-member-tint); transform:rotate(7deg); transition:transform .22s ease;
}
.fy-profile-insignia .fy-member-emblem { width:29px; height:29px; stroke-width:1.4; transform:rotate(-7deg); }
.fy-profile-insignia[data-member-tier="monthly"] { border-radius:50%; width:44px; height:44px; }
.fy-profile-insignia[data-member-tier="quarterly"] { border-radius:10px 18px 10px 18px; }
.fy-profile-insignia[data-member-tier="yearly"] { border-radius:12px 12px 20px 20px; }
.fy-profile-insignia[data-member-tier="permanent"] { border-radius:14px; }
@media(hover:hover) { .fy-profile-card:hover .fy-profile-insignia { transform:rotate(3deg) translateY(-2px); } }
.fy-balance-card { padding:19px 20px 0; border:1px solid var(--fy-balance-edge); border-radius:17px; background:var(--fy-balance); }
.fy-balance-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--fy-text); font-size:12px; }
.fy-balance-caption small { display:flex; align-items:center; gap:5px; color:var(--fy-muted); font-size:10px; }
.fy-balance-caption small::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--fy-accent); }
.fy-balance-caption small.is-stale::before { background:#ba822e; }
.fy-balance-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:14px 0 19px; }
.fy-balance-row>div { display:flex; min-width:0; flex-wrap:wrap; align-items:baseline; column-gap:6px; row-gap:4px; }
.fy-balance-row strong { font-size:34px; line-height:1.1; font-weight:650; letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.fy-balance-row>div>span { color:var(--fy-muted); font-size:11px; }
#fyAccountCenter .fy-balance-row button { display:flex; align-items:center; gap:5px; flex:none; padding:10px 12px; border-radius:10px; font-size:11px; font-weight:650; }
.fy-balance-row svg { width:14px; height:14px; }
#fyAccountCenter .fy-balance-ledger { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:12px 0; border:0; border-top:1px solid var(--fy-balance-edge); border-radius:0; background:transparent; color:var(--fy-accent); font-size:11px; text-align:left; }
#fyAccountCenter .fy-balance-ledger:hover { color:var(--fy-text); background:transparent; }
.fy-balance-ledger svg { width:16px; height:16px; }
.fy-account-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:21px 0 0; padding:0; }
.fy-account-facts div { display:flex; flex-direction:column; gap:7px; min-width:0; }
.fy-account-facts dt { color:var(--fy-muted); font-size:11px; }
.fy-account-facts dd { margin:0; text-align:left; font-size:12px; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
#fyMemberHint { margin-top:17px; font-size:11px; line-height:1.8; }
.fy-profile-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:21px; padding-top:17px; border-top:1px solid var(--fy-border); }
#fyAccountCenter .fy-profile-actions button { padding:8px 10px; font-size:11px; border-radius:9px; }
#fyAccountCenter .fy-profile-actions #fyAccountLogout { margin-left:auto; padding-inline:2px; border-color:transparent; color:var(--fy-muted); background:transparent; }
#fyAccountCenter .fy-profile-actions #fyAccountLogout:hover { color:var(--fy-text); }
#fyAccountCenter .fy-ledger-dialog { width:min(730px,calc(100vw - 32px)); }
.fy-recharge-dialog { width:min(560px,calc(100vw - 32px)); }
.fy-recharge-hero { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:17px 18px; border:1px solid var(--fy-border); border-radius:17px; background:radial-gradient(circle at 100% 0,var(--fy-member-wash),transparent 65%),var(--fy-soft); }
.fy-recharge-hero>div:first-child { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; }
.fy-recharge-hero span { display:block; width:100%; color:var(--fy-muted); font-size:11px; }
.fy-recharge-hero strong { font-size:29px; letter-spacing:-.05em; }
.fy-recharge-hero em { color:var(--fy-muted); font-style:normal; font-size:12px; }
.fy-recharge-rate { display:flex; align-items:center; gap:7px; color:var(--fy-accent); font-size:12px; }
.fy-recharge-rate span { width:auto; color:var(--fy-muted); }
#fyAccountCenter .fy-recharge-methods { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:20px 0 14px; padding:4px; border:1px solid var(--fy-border); border-radius:14px; background:var(--fy-soft); }
#fyAccountCenter .fy-recharge-methods button { min-width:0; padding:11px 9px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--fy-muted); font-weight:650; }
#fyAccountCenter .fy-recharge-methods button[aria-selected="true"] { color:var(--fy-accent); background:var(--fy-surface); border-color:var(--fy-border); box-shadow:0 2px 5px #00000008; }
.fy-recharge-step { display:flex; align-items:center; gap:8px; margin:18px 0 4px; color:var(--fy-muted); font-size:11px; }
.fy-recharge-step span { white-space:nowrap; }
.fy-recharge-step .is-active { color:var(--fy-accent); font-weight:700; }
.fy-recharge-step i { flex:1; height:1px; background:var(--fy-border); }
.fy-recharge-options { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; }
.fy-recharge-options button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:78px; padding:15px; border-radius:16px; background:var(--fy-soft); }
.fy-recharge-options button:hover { border-color:var(--fy-accent); transform:translateY(-1px); }
.fy-recharge-options strong { font-size:21px; letter-spacing:-.03em; }
.fy-recharge-options span { color:var(--fy-muted); font-size:11px; }
.fy-redeem-purchase { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; margin:20px 0 4px; padding:16px; border:1px solid var(--fy-border); border-radius:18px; background:radial-gradient(circle at 0 0,var(--fy-border),transparent 68%),var(--fy-soft); }
.fy-redeem-mark { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--fy-accent); border-radius:14px; color:var(--fy-accent); background:var(--fy-surface); font-size:13px; font-weight:800; letter-spacing:.08em; }
.fy-redeem-mark svg { width:25px; height:25px; }
.fy-redeem-copy { min-width:0; }
.fy-redeem-copy strong { display:block; font-size:14px; }
.fy-redeem-copy p { margin:5px 0 0; color:var(--fy-muted); font-size:11px; line-height:1.6; }
.fy-redeem-actions { grid-column:2; display:flex; gap:8px; flex-wrap:wrap; }
.fy-redeem-actions button { padding:9px 12px; font-size:12px; }
.fy-redeem-dialog { width:min(480px,calc(100vw - 32px)); }
.fy-redeem-dialog .fy-login-form { gap:15px; }
.fy-payment-view { display:flex; align-items:center; gap:26px; padding:18px; border:1px solid var(--fy-border); border-radius:18px; background:var(--fy-soft); }
.fy-payment-qr { display:flex; flex-direction:column; align-items:center; gap:8px; flex:none; }
.fy-payment-qr img { display:block; width:200px; height:200px; padding:8px; background:#fff; border-radius:12px; }
.fy-payment-qr span,.fy-payment-meta span,.fy-payment-meta small { color:var(--fy-muted); font-size:12px; }
.fy-payment-code { max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--fy-muted); font-size:9px; }
.fy-payment-meta { display:flex; flex-direction:column; gap:11px; min-width:0; }
.fy-payment-meta b { font-size:25px; }
.fy-payment-meta button { margin-top:8px; }
@media(max-width:560px) { .fy-recharge-options { grid-template-columns:repeat(2,1fr); } .fy-payment-view { flex-direction:column; } .fy-recharge-hero { align-items:flex-start; flex-direction:column; } .fy-recharge-rate { align-self:flex-end; } }
@media(max-width:420px) { .fy-redeem-purchase { grid-template-columns:auto minmax(0,1fr); } .fy-redeem-actions { grid-column:1 / -1; } }
.fy-ledger-summary { display:flex;justify-content:space-between;align-items:center;padding:20px;border-radius:17px;background:var(--fy-soft);margin-bottom:15px; }
.fy-ledger-summary div { display:flex;flex-direction:column;gap:8px; }
.fy-ledger-summary span { color:var(--fy-muted);font-size:12px; }
.fy-ledger-summary strong { font-size:29px;letter-spacing:-.04em; }
.fy-ledger-list { max-height:45vh;overflow:auto;overscroll-behavior:contain; }
.fy-ledger-row { display:flex;justify-content:space-between;gap:20px;padding:16px 3px;border-bottom:1px solid var(--fy-border); }
.fy-ledger-row>div { display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere; }
.fy-ledger-row span,.fy-ledger-row small { color:var(--fy-muted);font-size:11px; }
.fy-ledger-amount { text-align:right;flex:none;font-variant-numeric:tabular-nums; }
.fy-ledger-amount strong { font-size:17px; }
.fy-ledger-amount .is-positive { color:var(--fy-accent); }
.fy-empty { min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px; }
.fy-empty span { color:var(--fy-muted);font-size:12px; }
#fyAccountCenter .fy-api-dialog { width:min(1160px,calc(100vw - 48px));height:min(840px,calc(100dvh - 48px));padding:0;overflow:hidden; }
.fy-api-dialog-head { height:49px;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--fy-border);color:var(--fy-muted);font-size:12px; }
#fyApiFrame { display:block;width:100%;height:calc(100% - 49px);border:0;background:var(--fy-surface); }
.fy-account-enabled .generation-history-fab { top:94px; }
.fy-account-enabled .generation-history-panel { top:144px; }
@keyframes fy-dialog-enter { from { opacity:0;transform:translateY(10px) scale(.99); } to { opacity:1;transform:none; } }
@media(max-width:720px) { #fyAccountCenter .fy-account-bar { top:16px;right:16px;gap:1px; } .fy-identity-copy { max-width:80px; } #fyAccountCenter .fy-account-bar button { padding:5px 7px; } #fyAccountCenter .fy-dialog { padding:21px; } #fyAccountCenter .fy-api-dialog { padding:0;width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:none; } }
@media(max-width:420px) { .fy-profile-insignia { display:none; } .fy-profile-card { gap:12px; } .fy-balance-card { padding:16px 15px 0; } .fy-balance-row { gap:10px; } .fy-balance-row strong { font-size:30px; } }
@media(max-width:380px) { #fyAccountCenter .fy-email-code button { min-width:94px;padding-inline:8px; } .fy-register-availability { align-items:stretch;flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { #fyAccountCenter *,#fyAccountCenter *::before { animation:none!important;transition:none!important; } }
@media(forced-colors:active) { #fyAccountCenter .fy-account-bar,#fyAccountCenter .fy-dialog,#fyAccountCenter .fy-balance-card,#fyAccountCenter button,#fyAccountCenter input {border:1px solid CanvasText;box-shadow:none;} #fyAccountCenter .fy-avatar {background:Highlight;color:HighlightText;} .fy-balance-caption small::before {background:CanvasText;} }
@media(forced-colors:active) {
    #fyAccountCenter .fy-auth-tabs button[aria-selected="true"] { color:HighlightText;background:Highlight;border-color:Highlight;forced-color-adjust:none; }
    #fyAccountCenter .fy-register-intro,#fyAccountCenter .fy-register-symbol,#fyAccountCenter .fy-register-availability { border:1px solid CanvasText; }
    #fyAccountCenter .fy-member-badge,#fyAccountCenter .fy-profile-card,#fyAccountCenter .fy-profile-insignia {
        color:CanvasText; background:Canvas; border:1px solid CanvasText; box-shadow:none;
    }
    #fyAccountCenter .fy-member-medal { color:CanvasText; background:Canvas; }
    #fyAccountCenter .fy-profile-card::before { display:none; }
    #fyAccountCenter .fy-avatar { border:1px solid CanvasText; box-shadow:none; }
    #fyAccountCenter .fy-emblem-fill { fill-opacity:0; }
}
