/* Visual treatment inspired by the local Invision Community Achievements templates. */
.gsa-achievement-art{display:block;width:100%;height:100%;object-fit:contain}
.gsa-rank-icon--art{background:transparent;border-radius:0;color:inherit}
.gsa-rank-icon--art .gsa-achievement-art{width:42px;height:42px}
.gsa-mini-badge--art{width:34px;height:34px;background:transparent;border-radius:0;padding:1px;color:inherit}
.gsa-badge-icon--art,.gsa-history-icon--art{background:transparent;border-radius:0;color:inherit}
.gsa-public-badges{padding:20px 24px}
.gsa-badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px 24px}
.gsa-badge-card{align-items:flex-start;min-width:0;padding:12px 4px;border:0;border-radius:0;background:transparent;box-shadow:none}
.gsa-badge-card>div{min-width:0}
.gsa-badge-card strong{line-height:1.35}
.gsa-badge-card small{display:block;margin-top:5px}
.gsa-history-row{min-height:54px}
.gsa-history-row time{white-space:nowrap}
.gsa-admin-art{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;color:#7257e8}
.gsa-admin-art img{display:block;width:40px;height:40px;object-fit:contain}
.gsa-admin-art--ips{background:transparent}
.gsa-award-label{display:inline-flex;align-items:center;gap:8px;min-height:30px}
.gsa-award-label img{display:block;width:28px;height:28px;object-fit:contain;flex:0 0 28px}
.gsa-author-rank .gsa-achievement-art{width:12px;height:12px;flex:0 0 12px}
.gsa-rank-form,.gsa-badge-form{border-radius:8px;background:rgba(120,125,140,.025)}
.gsa-migration-list article{border-radius:8px}
.gsa-admin-button:focus-visible,.gsa-admin-nav a:focus-visible,.gsa-admin-back:focus-visible{outline:2px solid #7457e7;outline-offset:3px}
@media(max-width:850px){.gsa-admin-art{align-self:flex-start}}
@media(max-width:520px){.gsa-public-badges{padding:16px}.gsa-badge-grid{grid-template-columns:1fr;gap:10px}.gsa-history-row{align-items:flex-start}.gsa-history-row time{white-space:normal;text-align:right;max-width:82px}}
@media(prefers-reduced-motion:reduce){.gsa-switch span:after{transition:none}}

/* Gameskel profile Achievements: a compact rank rail beside the full collection. */
.gsa-profile-achievements-content{min-width:0}
.gsa-profile-achievements{display:grid;grid-template-columns:minmax(210px,244px) minmax(0,1fr);align-items:start;gap:20px;min-width:0}
.gsa-achievements-sidebar{position:sticky;top:24px;display:grid;gap:12px;min-width:0}
.gsa-achievements-sidebar>.card,.gsa-profile-achievements-main>.card{margin:0;min-width:0}
.gsa-profile-achievements-main{display:grid;gap:18px;min-width:0}
.gsa-achievements-rank-summary{display:flex;align-items:center;gap:13px;min-width:0}
.gsa-achievements-rank-summary .gsa-rank-icon{width:54px;height:54px;flex:0 0 54px}
.gsa-achievements-rank-summary .gsa-achievement-art{width:50px;height:50px}
.gsa-achievements-rank-copy{min-width:0}
.gsa-achievements-rank-copy h2{margin:0;font-size:19px;line-height:1.25;overflow-wrap:anywhere}
.gsa-achievements-rank-copy p,.gsa-top-rank,.gsa-merits-received,.gsa-badge-collection-count{margin:4px 0 0;font-size:12px;line-height:1.5;opacity:.68}
.gsa-achievements-progress-heading{display:flex;justify-content:space-between;gap:12px;margin:20px 0 0;font-size:11px;font-weight:700}
.gsa-profile-achievements .gsa-progress{margin:8px 0 5px}
.gsa-profile-achievements .gsa-next-rank{margin:0;font-size:11px;line-height:1.45;opacity:.68}
.gsa-profile-achievements .gsa-merits-received{margin-top:12px;padding-top:10px;border-top:1px solid rgba(120,125,140,.13)}
.gsa-achievements-sidebar-nav .card-body{display:grid;gap:4px;padding:8px}
.gsa-achievements-nav-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 10px;border-radius:9px;color:inherit;font-size:11px;font-weight:700;line-height:1.35;transition:background-color .16s ease,color .16s ease}
.gsa-achievements-nav-link>span:first-child{display:flex;align-items:center;gap:9px;min-width:0}
.gsa-achievements-nav-link>span:first-child>i{width:16px;color:#7257e8;text-align:center}
.gsa-achievements-nav-link:hover,.gsa-achievements-nav-link:focus-visible{background:rgba(114,87,232,.09);color:#6247cb;text-decoration:none}
.gsa-achievements-nav-link:focus-visible{outline:2px solid #7257e8;outline-offset:2px}
.gsa-achievements-nav-arrow{font-size:13px;opacity:.46}
.gsa-achievements-nav-count{flex:0 0 auto;min-width:25px;padding:3px 7px;border-radius:20px;background:rgba(114,87,232,.1);color:#7257e8;text-align:center;font-size:10px;font-weight:800}
.gsa-profile-achievements:has(#gsa-achievements-ranks:target) .gsa-achievements-nav-ranks,.gsa-profile-achievements:has(#gsa-achievements-badges:target) .gsa-achievements-nav-badges,.gsa-profile-achievements:has(#gsa-achievements-history:target) .gsa-achievements-nav-history{background:rgba(114,87,232,.1);color:#6247cb}
.gsa-profile-achievements-main>.card[id]{scroll-margin-top:24px}
.gsa-rank-ladder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px;overflow:visible;list-style:none;margin:0;padding:0}
.gsa-rank-ladder li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:52px;padding:7px 9px;border:1px solid transparent;border-radius:10px;background:transparent;opacity:.58;transition:background-color .16s ease,border-color .16s ease,opacity .16s ease}
.gsa-rank-ladder li.is-reached{opacity:1}
.gsa-rank-ladder li:after{display:none}
.gsa-rank-ladder-icon{z-index:1;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:rgba(114,87,232,.08);color:#7257e8}
.gsa-rank-ladder-icon .gsa-achievement-art{width:26px;height:26px}
.gsa-rank-ladder li:not(.is-reached) .gsa-rank-ladder-icon{filter:grayscale(1);opacity:.65}
.gsa-rank-ladder-copy{display:grid;gap:3px;min-width:0}
.gsa-rank-ladder-copy strong{font-size:12px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.gsa-rank-ladder-copy small{font-size:10px;line-height:1.3;opacity:.66;white-space:nowrap}
.gsa-rank-ladder li.is-current{border-color:rgba(114,87,232,.24);background:rgba(114,87,232,.075);color:#6247cb;opacity:1}
.gsa-rank-ladder li.is-current .gsa-rank-ladder-icon{background:rgba(114,87,232,.14)}
.gsa-rank-current{justify-self:end;padding:4px 7px;border-radius:20px;background:rgba(114,87,232,.11);color:#6247cb;font-size:9px;font-weight:800;line-height:1.2;text-align:center}
.gsa-badge-total{margin-left:auto;padding:4px 10px;border-radius:16px;background:rgba(120,92,232,.1);font-size:12px;font-weight:800;color:#7257e8}
.gsa-achievements-badges .gsa-badge-collection-count{margin:0 0 10px}
.gsa-profile-achievements .gsa-badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px 22px}
.gsa-profile-achievements .gsa-badge-card{gap:14px;padding:12px 4px}
.gsa-profile-achievements .gsa-badge-icon{width:48px;height:48px;flex:0 0 48px}
.gsa-profile-achievements .gsa-badge-icon .gsa-achievement-art{width:46px;height:46px}
.gsa-profile-achievements .gsa-badge-copy{min-width:0;flex:1}
.gsa-profile-achievements .gsa-badge-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gsa-profile-achievements .gsa-badge-title-row strong{font-size:13px;line-height:1.35}
.gsa-profile-achievements .gsa-badge-card p{line-height:1.5}
.gsa-profile-achievements .gsa-badge-card.is-locked .gsa-badge-icon{filter:grayscale(1);opacity:.52}
.gsa-profile-achievements .gsa-badge-card.is-locked .gsa-badge-copy{opacity:.62}
.gsa-profile-achievements .gsa-badge-state{display:block;margin-top:7px;font-size:10px;line-height:1.4;opacity:.7}
.gsa-profile-achievements .gsa-badge-state.is-earned{color:#358761;opacity:1}
.gsa-profile-achievements .gsa-badge-progress{margin-top:10px;opacity:1}
.gsa-profile-achievements .gsa-badge-progress__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;color:var(--body-color,#25252c);font-size:10px;line-height:1.35}
.gsa-profile-achievements .gsa-badge-progress__head span{opacity:.68}
.gsa-profile-achievements .gsa-badge-progress__head strong{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gsa-profile-achievements .gsa-badge-progress__track{height:6px;overflow:hidden;border-radius:8px;background:rgba(125,112,160,.16)}
.gsa-profile-achievements .gsa-badge-progress__track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7355e8,#bd68e6);transition:width .25s ease}
.gsa-profile-achievements .gsa-badge-card.is-progress-complete .gsa-badge-progress__track span{background:linear-gradient(90deg,#2e9b70,#69c99b)}
.gsa-profile-achievements .gsa-badge-card.is-locked .gsa-badge-progress__head,.gsa-profile-achievements .gsa-badge-card.is-locked .gsa-badge-progress__track{opacity:1}
.gsa-profile-achievements .gsa-history-row{gap:14px}
.gsa-profile-achievements .gsa-history-copy{min-width:0;flex:1}
.gsa-profile-achievements .gsa-history-row time{font-size:10px;white-space:nowrap;opacity:.6}
.gsa-profile-achievements .gsa-empty{margin:0}
.vikinger-profile-navigation .section-menu-item:focus-visible{outline:2px solid #7257e8;outline-offset:2px}
@media(max-width:900px){.gsa-profile-achievements{grid-template-columns:minmax(0,1fr)}.gsa-achievements-sidebar{position:static;grid-template-columns:minmax(0,1fr) minmax(235px,.9fr);align-items:start}}
@media(max-width:700px){.gsa-achievements-sidebar{grid-template-columns:minmax(0,1fr)}.gsa-profile-achievements .gsa-badge-grid{grid-template-columns:1fr;gap:10px}.gsa-profile-achievements .gsa-history-row{align-items:flex-start}}
@media(max-width:540px){.gsa-achievements-sidebar-nav .card-body{display:flex;gap:5px;overflow-x:auto;padding:7px;scrollbar-width:thin}.gsa-achievements-nav-link{flex:0 0 auto;min-height:38px;padding:8px 10px}.gsa-achievements-nav-link>span:first-child{white-space:nowrap}.gsa-achievements-nav-arrow{display:none}.gsa-rank-ladder{grid-template-columns:minmax(0,1fr)}.gsa-achievements-rank-summary .gsa-rank-icon{width:48px;height:48px;flex-basis:48px}.gsa-achievements-rank-summary .gsa-achievement-art{width:44px;height:44px}.gsa-achievements-rank-copy h2{font-size:18px}.gsa-profile-achievements .gsa-history-row time{max-width:76px;white-space:normal;text-align:right}}
@media(prefers-reduced-motion:reduce){.gsa-achievements-nav-link,.gsa-rank-ladder li{transition:none}}

/* Match the profile navigation width by letting the Achievements tab use the full profile grid. */
.vikinger-profile-page.vikinger-profile-view-badges .vikinger-profile-grid{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"content";
}
.vikinger-profile-page.vikinger-profile-view-badges .vikinger-profile-grid>.gsa-profile-achievements-content{
  grid-area:content;
  grid-column:1/-1;
  width:100%;
  min-width:0;
  max-width:none;
  padding:0;
}

.gsa-profile-achievements .gsa-badge-filters,
.gsa-profile-achievements .gsa-badge-filter-empty{
  border:1px solid rgba(120,125,140,.15);
  border-radius:14px;
  background:rgba(120,112,150,.035);
}
.gsa-profile-achievements .gsa-badge-filters{margin:0 0 14px;padding:15px 16px}
.gsa-badge-filters__head{display:grid;gap:4px;margin-bottom:12px}
.gsa-badge-filters__head strong{font-size:14px;font-weight:800;line-height:1.35}
.gsa-badge-filters__head span{font-size:12px;line-height:1.45;opacity:.68}
.gsa-badge-filters__chips{display:flex;flex-wrap:wrap;gap:8px}
.gsa-profile-achievements .gsa-badge-filter{display:inline-flex;width:auto!important;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 11px;border:1px solid rgba(120,125,140,.2);border-radius:999px;background:var(--card-bg,#fff);color:inherit;font:inherit;font-size:11px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.gsa-badge-filter:hover,.gsa-badge-filter:focus-visible{border-color:rgba(116,87,231,.48);background:rgba(116,87,231,.08);outline:none;transform:translateY(-1px)}
.gsa-badge-filter:focus-visible{box-shadow:0 0 0 3px rgba(116,87,231,.16)}
.gsa-badge-filter.is-active{border-color:#7457e7;background:#7457e7;color:#fff}
.gsa-badge-filter b{display:inline-grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:rgba(120,125,140,.11);font-size:10px;font-weight:800}
.gsa-badge-filter.is-active b{background:rgba(255,255,255,.2);color:#fff}
.gsa-profile-achievements .gsa-badge-filter-empty{margin:0 0 14px;padding:14px 16px;font-size:12px;line-height:1.5;opacity:.75}
.gsa-profile-achievements .gsa-badge-card[hidden],.gsa-profile-achievements .gsa-badge-filter-empty[hidden]{display:none!important}
.gsa-profile-achievements .gsa-badge-card,.gsa-public-badges .gsa-badge-card{border:0!important;box-shadow:none!important}
body.night-mode .gsa-profile-achievements .gsa-badge-filters,body.night-mode .gsa-profile-achievements .gsa-badge-filter-empty{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.035)}
body.night-mode .gsa-badge-filter{border-color:rgba(255,255,255,.15);background:#292a3a;color:#ececf4}
body.night-mode .gsa-badge-filter.is-active{border-color:#8b74ee;background:#7457e7;color:#fff}
@media(max-width:540px){.gsa-profile-achievements .gsa-badge-filters{padding:13px}.gsa-badge-filters__chips{gap:6px}.gsa-badge-filter{min-height:34px;padding:6px 9px;font-size:10px}}
