/* Scoped to Fansoci Achievements; no changes to existing theme widgets/cards. */
.fsa-app{--fsa-ink:#192642;--fsa-soft:#697794;--fsa-border:#e8eaf5;--fsa-purple:#7751f8;--fsa-pink:#ff218f;color:var(--fsa-ink);font:inherit;width:100%;max-width:1200px;margin:0 auto 32px;box-sizing:border-box}
.fsa-app *{box-sizing:border-box}.fsa-app .fsa-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.fsa-banner{border-radius:23px;min-height:174px;padding:28px 36px;display:flex;align-items:center;gap:24px;background:radial-gradient(circle at 85% -15%,rgba(255,255,255,.27),transparent 31%),linear-gradient(114deg,#513ded,#9450f0 52%,#fa218c);color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 32px rgba(121,77,229,.17)}
.fsa-banner-art{width:90px;height:90px;display:grid;place-items:center;flex:none;border-radius:25px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.36);box-shadow:inset 0 0 30px rgba(255,255,255,.07)}
.fsa-banner-copy{position:relative;z-index:2;max-width:610px}.fsa-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:900;color:#9251ff}.fsa-banner .fsa-eyebrow{color:#f5e9ff}
.fsa-banner h1{font-size:31px;line-height:1.16;margin:8px 0 8px!important;letter-spacing:-.8px;color:#fff}.fsa-banner p{margin:0;color:rgba(255,255,255,.92);font-size:13px;line-height:1.65}.fsa-banner-stars{position:absolute;right:34px;top:36px;font-size:52px;letter-spacing:9px;opacity:.12;pointer-events:none}
.fsa-overview{background:#fff;border:1px solid var(--fsa-border);border-radius:20px;margin-top:16px;padding:23px;box-shadow:0 8px 28px rgba(38,47,96,.035)}
.fsa-user{display:flex;gap:12px;align-items:center;color:var(--fsa-ink);text-decoration:none!important;width:fit-content}.fsa-user img{width:51px;height:51px;object-fit:cover;border-radius:50%;border:3px solid #f4f0ff}.fsa-user span,.fsa-metric span:last-child{display:grid;gap:4px}.fsa-user strong{font-size:15px}.fsa-user small,.fsa-metric small{color:#78849b;font-size:11px}.fsa-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 18px}.fsa-metric{background:#f7f8fe;border-radius:14px;padding:13px;display:flex;align-items:center;gap:12px;min-width:0}.fsa-metric strong{font-size:17px}.fsa-metric-icon{width:43px;height:43px;border-radius:13px;color:#7c4df4;background:#eee8ff;display:grid;place-items:center;flex:none}.fsa-metric-icon.pink{color:#ed2397;background:#ffeaf5}.fsa-metric-icon.blue{color:#3672fb;background:#eaf1ff}
.fsa-all-progress>span,.fsa-achievement-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.fsa-all-progress>span{font-size:12px;margin-bottom:10px}.fsa-all-progress b{color:#8a48f2}.fsa-track{height:9px;background:#eceefa;border-radius:50px;overflow:hidden}.fsa-track i{display:block;height:100%;background:linear-gradient(90deg,#7946ff,#ff2392);border-radius:50px;min-width:0}
.fsa-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:28px 0 17px;flex-wrap:wrap}.fsa-content-head h2{font-size:23px!important;line-height:1.2;margin:5px 0 7px!important;color:var(--fsa-ink)}.fsa-content-head p{color:var(--fsa-soft);font-size:12px;margin:0}.fsa-filters{padding:4px;border-radius:100px;background:#eff1f9;display:flex;gap:3px}.fsa-filters button{border:0;background:transparent;border-radius:100px;padding:9px 15px;font-size:11px;color:#5d6885;cursor:pointer;font-weight:750;white-space:nowrap}.fsa-filters button.is-active{color:#fff;background:linear-gradient(115deg,#7950f9,#f82396);box-shadow:0 3px 12px rgba(192,52,201,.16)}
.fsa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fsa-achievement{border:1px solid #e8eafa;background:#fff;border-radius:19px;padding:19px 20px 17px;display:flex;flex-direction:column;min-height:236px;box-shadow:0 5px 21px rgba(38,47,96,.035);position:relative;overflow:hidden}.fsa-achievement.is-unlocked:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#864bfa,#fc278e)}.fsa-achievement-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.fsa-glyph{width:58px;height:58px;border-radius:17px;background:#f1f2f9;color:#a4aac1;display:grid;place-items:center}.fsa-glyph.unlocked{background:linear-gradient(135deg,#ede9ff,#fff0f7);color:#a043f5}.fsa-status{display:flex;gap:4px;align-items:center;border-radius:100px;background:#f1f2f8;color:#8390a5;padding:6px 10px;font-size:10px;font-weight:800;white-space:nowrap}.is-unlocked .fsa-status{background:#e8faf1;color:#249a64}.fsa-achievement h3{font-size:17px!important;margin:14px 0 6px!important;color:#192642}.fsa-achievement p{font-size:12px;color:#6e7992;line-height:1.58;margin:0 0 15px!important;min-height:37px}.fsa-achievement-progress{margin-top:auto}.fsa-achievement-progress>div:first-child{font-size:12px;margin-bottom:9px}.fsa-achievement-progress strong{font-weight:800}.fsa-achievement-progress span{color:#8b95aa}.fsa-achievement .fsa-track{height:7px}.fsa-achievement footer{display:flex;justify-content:space-between;gap:7px;align-items:center;padding-top:16px;margin-top:14px;border-top:1px solid #edf0f7}.fsa-achievement footer>span{color:#7c4afd;display:flex;align-items:center;gap:6px;font-size:12px}.fsa-achievement footer small{font-size:10px;color:#8993a9}
.fsa-note{display:flex;align-items:flex-start;gap:8px;background:#f4f5fc;color:#727d95;padding:14px 16px;margin:18px 0 0!important;border-radius:13px;font-size:11px;line-height:1.6}.fsa-note .fsa-icon{color:#8b65e7}.fsa-empty{padding:20px}
.fsa-profile-label,.fsa-inline-badge{display:inline-flex;align-items:center;gap:5px;color:#8a3ef2;background:linear-gradient(110deg,#f0eaff,#fff0f7);font-size:10px;font-weight:800;padding:6px 10px;border-radius:100px;vertical-align:middle;text-decoration:none!important;white-space:nowrap}.fsa-profile-label{margin:7px 0 3px;width:fit-content}.fsa-profile-tab .fsa-icon{height:17px;width:17px}.fsa-profile-tab{display:inline-flex;align-items:center;gap:6px}.fsa-inline-badge{font-size:9px;padding:3px 7px;margin:0 0 0 4px}.fsa-inline-badge svg{width:13px;height:13px}.fsa-menu-icon{width:19px;height:19px}.fsa-hidden{display:none!important}
body.page .tz-main>section.tz-page:has(.fsa-app){padding:0!important;border:0;background:transparent;box-shadow:none}body.page .tz-main>section.tz-page:has(.fsa-app)>h1{display:none}
@media(max-width:900px){.fsa-overview-metrics{grid-template-columns:1fr 1fr}.fsa-grid{grid-template-columns:1fr}}
@media(max-width:680px){.fsa-banner{padding:22px 19px;min-height:140px;gap:15px;border-radius:17px}.fsa-banner-art{width:59px;height:59px;border-radius:17px}.fsa-banner-art svg{width:34px;height:34px}.fsa-banner h1{font-size:24px}.fsa-banner p{font-size:11px}.fsa-banner-stars{display:none}.fsa-overview{padding:15px;border-radius:16px}.fsa-overview-metrics{grid-template-columns:1fr;gap:8px;margin:15px 0}.fsa-metric{padding:9px 11px}.fsa-metric-icon{width:38px;height:38px}.fsa-content-head{align-items:flex-start;gap:15px;margin-top:21px}.fsa-content-head h2{font-size:20px!important}.fsa-filters{width:100%;justify-content:space-around}.fsa-filters button{flex:1;padding:10px 5px}.fsa-achievement{min-height:220px;padding:17px;border-radius:16px}.fsa-achievement h3{margin-top:12px!important}.fsa-note{margin-bottom:50px!important}}
@media(prefers-reduced-motion:reduce){.fsa-app *{scroll-behavior:auto!important;transition:none!important}}
/* Theme dark mode uses body/data-theme attributes; keep all achievement areas readable. */
body.dark-mode .fsa-app,body.tz-dark .fsa-app,html[data-theme="dark"] .fsa-app{--fsa-ink:#eaf0ff;--fsa-soft:#adb7ce;--fsa-border:#2d3549}
body.dark-mode .fsa-overview,body.dark-mode .fsa-achievement,body.tz-dark .fsa-overview,body.tz-dark .fsa-achievement,html[data-theme="dark"] .fsa-overview,html[data-theme="dark"] .fsa-achievement{background:#1e2637}
body.dark-mode .fsa-metric,body.tz-dark .fsa-metric,html[data-theme="dark"] .fsa-metric{background:#283248}
body.dark-mode .fsa-achievement h3,body.tz-dark .fsa-achievement h3,html[data-theme="dark"] .fsa-achievement h3{color:#f2f4ff}
@media(min-width:821px){.tz-layout:has(.fsa-app){grid-template-columns:215px minmax(0,1fr)!important}.tz-layout:has(.fsa-app)>.tz-right{display:none!important}.tz-layout:has(.fsa-app)>.tz-main{width:auto!important;max-width:none!important}}
@media(min-width:821px){.tz-profile-tabs:has(.fsa-profile-tab){grid-template-columns:repeat(7,minmax(0,1fr))!important}.tz-profile-tabs .fsa-profile-tab{font-size:12px}}
body.tz-appearance-dark .fsa-app{--fsa-ink:#f0f2ff;--fsa-soft:#abb7d1;--fsa-border:#303c54}
body.tz-appearance-dark .fsa-overview,body.tz-appearance-dark .fsa-achievement{background:#222b3d;color:#f0f2ff}
body.tz-appearance-dark .fsa-metric{background:#29354d}body.tz-appearance-dark .fsa-achievement h3{color:#f0f2ff}
/* Leaderboard v1.1: clean, native Fansoci tabs, ranking list and profile crown */
.fsa-main-tabs{display:flex;gap:8px;margin:18px 0 6px;padding:5px;border-radius:15px;background:#f0f1fa;width:max-content;max-width:100%}
.fsa-main-tabs a{display:inline-flex;align-items:center;gap:8px;padding:11px 19px;border-radius:12px;text-decoration:none!important;color:#67738e;font-weight:800;font-size:13px;transition:background .14s}
.fsa-main-tabs a.is-active{background:#fff;color:#7448e9;box-shadow:0 5px 15px #24235717}
.fsa-leaderboard{background:#fff;border:1px solid var(--fsa-border);border-radius:20px;padding:24px;margin-top:15px;box-shadow:0 10px 25px #2423570a}
.fsa-lb-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.fsa-lb-intro h2{display:flex;align-items:center;gap:10px;color:var(--fsa-ink);font-size:24px!important;margin:7px 0!important}.fsa-lb-intro h2 svg{color:#c98a23}
.fsa-lb-intro p{font-size:12px;color:var(--fsa-soft);line-height:1.6;margin:0}.fsa-lb-note{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:#f4efff;color:#7b45db;padding:10px 13px;font-size:11px;font-weight:800}
.fsa-lb-periods{display:flex;gap:8px;overflow:auto;padding:17px 0 19px;scrollbar-width:thin}.fsa-lb-periods a{color:#607087;text-decoration:none!important;display:inline-flex;justify-content:center;white-space:nowrap;border:1px solid #e5e7f3;border-radius:11px;padding:10px 17px;font-size:12px;font-weight:800;background:#f8f9fd}
.fsa-lb-periods a.is-active{border-color:transparent;background:linear-gradient(115deg,#8050f6,#f22b96);color:#fff;box-shadow:0 3px 12px #a84ce62b}
.fsa-lb-winner{display:flex;align-items:center;gap:16px;background:linear-gradient(111deg,#fff8e5,#fff3ee);border:1px solid #f4dfa8;border-radius:17px;padding:17px 20px;margin:0 0 16px}
.fsa-lb-winner-icon{width:57px;height:57px;border-radius:16px;display:grid;place-items:center;background:#ffe8ad;color:#c28c16;flex-shrink:0}.fsa-lb-winner>div{min-width:0;flex:1;display:grid;gap:4px}.fsa-lb-winner small{color:#ab7b17;font-size:10px;font-weight:900;letter-spacing:.08em}.fsa-lb-winner strong{color:#503e1b;font-size:19px}.fsa-lb-winner span:not(.fsa-lb-winner-icon){color:#937446;font-size:12px}.fsa-lb-winner>a{font-size:12px;text-decoration:none!important;color:#895415;font-weight:800;display:flex;align-items:center;gap:4px}
.fsa-lb-list{border:1px solid #edf0f7;border-radius:16px;overflow:hidden}.fsa-lb-member{display:flex;align-items:center;gap:14px;padding:12px 17px;text-decoration:none!important;color:var(--fsa-ink)!important;min-height:73px;background:#fff;border-bottom:1px solid #edf0f7}.fsa-lb-member:last-child{border-bottom:none}.fsa-lb-member:hover{background:#faf8ff}.fsa-lb-member.fsa-lb-me{background:#f6f0ff}.fsa-lb-position{min-width:33px;text-align:center;display:grid;place-items:center;color:#8b76ab;font-weight:900}.fsa-lb-member:first-child .fsa-lb-position{color:#c18b10}.fsa-lb-member:nth-child(2) .fsa-lb-position{color:#9da6b6}.fsa-lb-member:nth-child(3) .fsa-lb-position{color:#aa7951}
.fsa-lb-member img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:50%;background:#e9eaf3}.fsa-lb-member-name{min-width:0;flex:1;display:grid;gap:5px}.fsa-lb-member-name strong{display:flex;align-items:center;gap:7px;color:var(--fsa-ink);font-size:13px;overflow-wrap:anywhere}.fsa-lb-member-name small{font-size:11px;color:var(--fsa-soft)}.fsa-lb-crown{color:#e9ab16;display:inline-flex}.fsa-lb-score{display:grid;gap:2px;text-align:right;color:var(--fsa-ink)}.fsa-lb-score b{font-size:16px}.fsa-lb-score small{font-size:10px;font-weight:800;color:#9a7dc5}
.fsa-lb-you{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:15px 19px;margin-top:15px;background:#f4efff;color:#673abc;border-radius:13px}.fsa-lb-you span{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12px}.fsa-lb-you strong{font-size:14px}.fsa-lb-empty{display:grid;place-items:center;gap:10px;padding:44px 15px;color:#8892a9}.fsa-lb-empty p{font-size:13px;text-align:center}.fsa-lb-disclaimer{color:var(--fsa-soft);font-size:11px;line-height:1.7;margin:17px 0 0!important}
.tz-profile-copy h1 .fsa-profile-crown{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin-left:7px;color:#e2a91b;filter:drop-shadow(0 2px 2px #e6b13155);text-decoration:none!important}
.tz-profile-copy .fsa-crown-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;color:#997016;background:#fff3cb;border:1px solid #f9e6ae;border-radius:999px;text-decoration:none!important;padding:6px 10px;width:fit-content;margin:5px 0 2px}
.tz-shout-author .fsa-feed-crown{margin-left:4px;vertical-align:middle;display:inline-flex;align-items:center;color:#d99b14!important}
body.tz-appearance-dark .fsa-leaderboard,body.tz-dark .fsa-leaderboard,body.dark-mode .fsa-leaderboard,html[data-theme="dark"] .fsa-leaderboard{background:#222b3d;color:#f1f3fa}
body.tz-appearance-dark .fsa-lb-member,body.tz-dark .fsa-lb-member,body.dark-mode .fsa-lb-member,html[data-theme="dark"] .fsa-lb-member{background:#222b3d;border-color:#384053}
body.tz-appearance-dark .fsa-lb-member.fsa-lb-me,body.tz-dark .fsa-lb-member.fsa-lb-me{background:#352d51}
body.tz-appearance-dark .fsa-lb-member-name strong,body.tz-appearance-dark .fsa-lb-score,body.tz-dark .fsa-lb-member-name strong{color:#f0f2ff}
body.tz-appearance-dark .fsa-main-tabs,body.tz-dark .fsa-main-tabs{background:#343b52}
body.tz-appearance-dark .fsa-main-tabs a.is-active,body.tz-dark .fsa-main-tabs a.is-active{background:#453269;color:#f8ebff}
@media(max-width:680px){.fsa-leaderboard{padding:14px;border-radius:15px}.fsa-lb-intro h2{font-size:19px!important}.fsa-lb-note{font-size:10px}.fsa-lb-winner{padding:12px;gap:9px;flex-wrap:wrap}.fsa-lb-winner-icon{width:42px;height:42px}.fsa-lb-winner>a{margin-left:51px}.fsa-lb-member{gap:8px;padding:11px 9px}.fsa-lb-member img{width:40px;height:40px;flex-basis:40px}.fsa-lb-position{min-width:23px;font-size:12px}.fsa-lb-score b{font-size:13px}.fsa-lb-score small{font-size:9px}.fsa-lb-member-name strong{font-size:12px}.fsa-lb-periods a{padding:10px 11px}.fsa-main-tabs{width:100%}.fsa-main-tabs a{flex:1;justify-content:center}.fsa-lb-disclaimer{margin-bottom:42px!important}}
