/* PBG Rust Gaming Hub — shared public cards. */
:root{--card-gradient-a:var(--accent,var(--accent));

  --card-gradient-b:var(--accent-2,var(--accent-2));

  --card-effect-image:none;

  --card-effect-speed:9s;

  --card-effect-hover-speed:7s;

  --card-effect-opacity:.72;

  --card-effect-size:92px;

  --card-effect-backdrop-alpha:0;

  --card-effect-shadow-strength:0%;

  --pbg-com-blue:var(--card-gradient-a,var(--accent));

  --pbg-com-yellow:var(--card-gradient-b,var(--accent-2));

  --pbg-com-deep:#020815;

  --pbg-com-line:color-mix(in srgb,var(--pbg-com-blue) 48%,transparent);

  --pbg-com-line-soft:color-mix(in srgb,var(--pbg-com-blue) 24%,transparent);

  --pbg-text:#f4f7ff;

  --pbg-text-soft:#b8c6dc;

  --pbg-neon-blue:var(--pbg-com-blue);

  --pbg-neon-yellow:color-mix(in srgb,var(--pbg-com-yellow) 84%,#ffffff 16%);}
body.pbg-public{--pbg-card-art:var(--card-effect-image);
  --pbg-card-art-2:var(--card-effect-image-2,none);

  /* Match the live layer to the Card FX Studio preview exactly. Using the
     raw style colours prevents Orange/Blue from being shifted toward the
     Blue/Yellow look by white/deep colour-mix operations. */
  --pbg-card-colour-layer:conic-gradient(from 0deg,

    transparent 0 10%,

    var(--pbg-com-blue) 20%,

    transparent 48% 61%,

    var(--pbg-com-yellow) 72%,

    var(--pbg-com-blue) 82%,

    transparent 92% 100%);

  --pbg-card-art-repeat:no-repeat;

  --pbg-card-art-size:var(--card-effect-size,92px) auto;

  --pbg-card-colour-size:100% 100%;

  --pbg-card-animation:pbg-com-card-spin var(--card-effect-speed,9s) linear infinite;

  --pbg-card-layer-opacity:var(--card-effect-opacity,.72);

  --pbg-card-hover-opacity:min(1,calc(var(--card-effect-opacity,.72) + .13));

  --pbg-card-effect-inset:-55%;}
body.pbg-public.card-effect-gradient{--pbg-card-art:none;}
body.pbg-public.card-effect-none{--pbg-card-art:none;

  --pbg-card-colour-layer:linear-gradient(transparent,transparent);

  --pbg-card-animation:none;

  --pbg-card-layer-opacity:0;

  --pbg-card-hover-opacity:0;}
body.pbg-public.card-effect-logos.card-logo-layout-tiled{--pbg-card-art-repeat:repeat;

  --pbg-card-art-size:var(--card-effect-size,92px) auto;}
body.pbg-public.card-effect-logos.card-logo-layout-single{--pbg-card-art-repeat:no-repeat;

  --pbg-card-art-size:min(34%,180px) auto;}
body.pbg-public.card-effect-glow{--pbg-card-art:none;

  --pbg-card-colour-layer:

    radial-gradient(circle at 28% 30%,color-mix(in srgb,var(--pbg-com-blue) 72%,transparent) 0 12%,transparent 42%),

    radial-gradient(circle at 72% 70%,color-mix(in srgb,var(--pbg-com-yellow) 58%,transparent) 0 10%,transparent 40%);

  --pbg-card-colour-size:100% 100%,100% 100%;

  --pbg-card-animation:pbg-com-glow-spin var(--card-effect-speed,9s) ease-in-out infinite;}
@keyframes pbg-com-card-spin{to{rotate:360deg}}
@keyframes pbg-com-glow-spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.04)}}
body.pbg-public :is(.page-shell,.pp-section,.pp-grid,.pp-kpi-grid,.pp-member-grid,.pp-player-grid,.pp-server-grid,.pp-module-grid,.product-grid,.server-grid,.member-grid,.staff-grid,.clan-grid,.pbg-store-grid,.cf-section,.cf-modules,.cf-bottom,.cl-grid,.cl-profile-grid,.me-grid,.me-two,.me-server-grid){background:transparent!important;border:0!important;box-shadow:none!important;

  /* Layout wrappers must never receive the Visual Studio glass blur.
     Blur belongs to actual cards only; applying backdrop-filter here turns the
     whole page/section into one giant blurred rectangle. */
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
body.pbg-public .pp-section::before,body.pbg-public .pp-section::after{content:none!important;display:none!important}
body.pbg-public :is(

  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,

  .pp-hero-copy,.pp-hero-aside,.pp-kpi,.pp-card,.pp-toolbar,.pp-record,.pp-note,.pp-empty,.pp-identity-card,.pp-account-hero,.pp-table-wrap,

  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,

  .page-hero,.page-hero-wide,.schedule-card,.progression-card,.progression-summary-card,.vote-card,.live-map-shell,.live-map-panel,.map-panel,.live-map-side,.live-map-stage-card,

  .support-card,.support-hero,.support-ticket-card,.support-ticket-row,.support-process-step,.support-new-empty,.support-department,.support-request-row,.application-card,.ban-card,.payment-card,

  .store-toolbar,.store-summary,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-item,.kit-card,.checkout-note,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.maintenance-card,

  .profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.reply-card,.forum-category,.forum-recent,.forum-post,.forum-card,.feature-strip>article,.palette,.theme-custom-panel,.theme-background-panel,

  .hub-card,.hub-metric,.hub-server,.pb-shell,.lb-panel,.filter-bar,.panel,.table-wrap,

  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,

  .iv-page-intro>div,.iv-live-box,.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article,.iv-podium-card,.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.iv-player-card,.iv-player-empty,.iv-server-card,

  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,.cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,

  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,.cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,

  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty,

  .hub-next-grid>a

){position:relative!important;isolation:isolate!important;box-sizing:border-box!important;overflow:hidden!important;

  border:1px solid color-mix(in srgb,var(--pbg-com-blue) 72%,transparent)!important;

  border-top-color:color-mix(in srgb,var(--pbg-com-yellow) 88%,transparent)!important;

  border-left-color:color-mix(in srgb,var(--pbg-com-yellow) 68%,transparent)!important;

  border-right-color:color-mix(in srgb,var(--pbg-com-blue) 94%,transparent)!important;

  border-bottom-color:color-mix(in srgb,var(--pbg-com-blue) 86%,transparent)!important;

  background:rgba(2,10,24,.20)!important;

  box-shadow:0 18px 46px rgba(0,0,0,.26),0 0 24px color-mix(in srgb,var(--pbg-com-blue) var(--card-glow-strength,12%),transparent)!important;

  -webkit-backdrop-filter:blur(var(--card-glass-blur,4px))!important;backdrop-filter:blur(var(--card-glass-blur,4px))!important;

  transition:transform .20s ease,box-shadow .20s ease!important;}
body.pbg-public :is(

  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,

  .pp-hero-copy,.pp-hero-aside,.pp-kpi,.pp-card,.pp-toolbar,.pp-record,.pp-note,.pp-empty,.pp-identity-card,.pp-account-hero,.pp-table-wrap,

  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,

  .page-hero,.page-hero-wide,.schedule-card,.progression-card,.progression-summary-card,.vote-card,.live-map-shell,.live-map-panel,.map-panel,.live-map-side,.live-map-stage-card,

  .support-card,.support-hero,.support-ticket-card,.support-ticket-row,.support-process-step,.support-new-empty,.support-department,.support-request-row,.application-card,.ban-card,.payment-card,

  .store-toolbar,.store-summary,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-item,.kit-card,.checkout-note,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.maintenance-card,

  .profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.reply-card,.forum-category,.forum-recent,.forum-post,.forum-card,.feature-strip>article,.palette,.theme-custom-panel,.theme-background-panel,

  .hub-card,.hub-metric,.hub-server,.pb-shell,.lb-panel,.filter-bar,.panel,.table-wrap,

  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,

  .iv-page-intro>div,.iv-live-box,.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article,.iv-podium-card,.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.iv-player-card,.iv-player-empty,.iv-server-card,

  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,.cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,

  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,.cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,

  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty,

  .hub-next-grid>a

)::before{content:""!important;display:block!important;position:absolute!important;inset:var(--pbg-card-effect-inset,-55%)!important;z-index:0!important;pointer-events:none!important;

  background-color:rgb(2 10 24 / var(--card-effect-backdrop-alpha,0))!important;

  background-image:var(--pbg-card-art),var(--pbg-card-art-2),var(--pbg-card-colour-layer)!important;

  background-repeat:var(--pbg-card-art-repeat),var(--pbg-card-art-repeat),no-repeat!important;

  background-position:center,center,center!important;

  background-size:var(--pbg-card-art-size),var(--pbg-card-art-size),var(--pbg-card-colour-size)!important;

  background-blend-mode:var(--card-blend-mode,screen)!important;

  opacity:var(--pbg-card-layer-opacity,var(--card-effect-opacity,.72))!important;

  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--pbg-com-blue) var(--card-effect-shadow-strength,0%),transparent))!important;

  animation:var(--pbg-card-animation)!important;animation-direction:var(--card-motion-direction,normal)!important;}
body.pbg-public :is(

  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,

  .pp-hero-copy,.pp-hero-aside,.pp-kpi,.pp-card,.pp-toolbar,.pp-record,.pp-note,.pp-empty,.pp-identity-card,.pp-account-hero,.pp-table-wrap,

  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,

  .page-hero,.page-hero-wide,.schedule-card,.progression-card,.progression-summary-card,.vote-card,.live-map-shell,.live-map-panel,.map-panel,.live-map-side,.live-map-stage-card,

  .support-card,.support-hero,.support-ticket-card,.support-ticket-row,.support-process-step,.support-new-empty,.support-department,.support-request-row,.application-card,.ban-card,.payment-card,

  .store-toolbar,.store-summary,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-item,.kit-card,.checkout-note,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.maintenance-card,

  .profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.reply-card,.forum-category,.forum-recent,.forum-post,.forum-card,.feature-strip>article,.palette,.theme-custom-panel,.theme-background-panel,

  .hub-card,.hub-metric,.hub-server,.pb-shell,.lb-panel,.filter-bar,.panel,.table-wrap,

  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,

  .iv-page-intro>div,.iv-live-box,.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article,.iv-podium-card,.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.iv-player-card,.iv-player-empty,.iv-server-card,

  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,.cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,

  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,.cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,

  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty,

  .hub-next-grid>a

)::after{content:""!important;display:block!important;position:absolute!important;inset:1px!important;z-index:1!important;pointer-events:none!important;

  border-radius:inherit!important;

  background:linear-gradient(145deg,

    rgb(2 10 24 / var(--card-surface-alpha,0)),

    rgb(1 7 17 / var(--card-surface-alpha,0)))!important;

  box-shadow:inset 0 0 30px color-mix(in srgb,var(--pbg-com-blue) var(--card-glow-strength,12%),transparent)!important;}
body.pbg-public :is(

  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,

  .pp-hero-copy,.pp-hero-aside,.pp-kpi,.pp-card,.pp-toolbar,.pp-record,.pp-note,.pp-empty,.pp-identity-card,.pp-account-hero,.pp-table-wrap,

  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,

  .page-hero,.page-hero-wide,.schedule-card,.progression-card,.progression-summary-card,.vote-card,.live-map-shell,.live-map-panel,.map-panel,.live-map-side,.live-map-stage-card,

  .support-card,.support-hero,.support-ticket-card,.support-ticket-row,.support-process-step,.support-new-empty,.support-department,.support-request-row,.application-card,.ban-card,.payment-card,

  .store-toolbar,.store-summary,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-item,.kit-card,.checkout-note,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.maintenance-card,

  .profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.reply-card,.forum-category,.forum-recent,.forum-post,.forum-card,.feature-strip>article,.palette,.theme-custom-panel,.theme-background-panel,

  .hub-card,.hub-metric,.hub-server,.pb-shell,.lb-panel,.filter-bar,.panel,.table-wrap,

  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,

  .iv-page-intro>div,.iv-live-box,.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article,.iv-podium-card,.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.iv-player-card,.iv-player-empty,.iv-server-card,

  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,.cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,

  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,.cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,

  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty,

  .hub-next-grid>a

)>*{position:relative!important;z-index:2!important}
body.pbg-public :is(.pp-card,.pp-kpi,.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.iv-stat-grid>article,.iv-ruststats-summary>article,.iv-podium-card,.iv-player-card,.iv-server-card,.ph-server-slide,.ph-metric-card,.cf-topic,.cf-board-card,.cf-module,.cl-card,.me-mission,.me-event,.me-server-card):hover{transform:translateY(-3px)!important;

  box-shadow:0 22px 54px rgba(0,0,0,.34),0 0 28px color-mix(in srgb,var(--pbg-com-blue) 15%,transparent)!important;}
body.pbg-public :is(.pp-card,.pp-kpi,.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.iv-stat-grid>article,.iv-ruststats-summary>article,.iv-podium-card,.iv-player-card,.iv-server-card,.ph-server-slide,.ph-metric-card,.cf-topic,.cf-board-card,.cf-module,.cl-card,.me-mission,.me-event,.me-server-card):hover::before{animation-duration:var(--card-effect-hover-speed,7s)!important;opacity:var(--pbg-card-hover-opacity,min(1,calc(var(--card-effect-opacity,.72) + .13)))!important}
body.pbg-public :is(.pp-kpi,.iv-stat-grid>article,.iv-ruststats-summary>article,.ph-metric-card,.cf-kpis>article,.cl-kpis>article,.me-kpis>article,.support-ticket-row,.hub-next-grid>a){--pbg-card-art-size:min(var(--card-effect-size,92px),76px) auto;

  --pbg-card-effect-inset:-48%;

  box-shadow:0 14px 34px rgba(0,0,0,.24),0 0 20px color-mix(in srgb,var(--pbg-com-blue) 8%,transparent)!important;

  overflow:hidden!important;}
body.pbg-public :is(.pp-kpi,.iv-stat-grid>article,.iv-ruststats-summary>article,.ph-metric-card,.cf-kpis>article,.cl-kpis>article,.me-kpis>article,.support-ticket-row,.hub-next-grid>a)::before{opacity:min(.70,var(--pbg-card-layer-opacity,var(--card-effect-opacity,.72)))!important;

  filter:none!important;

  background-size:var(--pbg-card-art-size),var(--pbg-card-art-size),var(--pbg-card-colour-size)!important;}
body.pbg-public :is(.pp-kpi,.iv-stat-grid>article,.iv-ruststats-summary>article,.ph-metric-card,.cf-kpis>article,.cl-kpis>article,.me-kpis>article,.support-ticket-row,.hub-next-grid>a)::after{border-radius:inherit!important;

  background:linear-gradient(145deg,

    rgb(2 12 30 / calc(var(--panel-alpha,.78) * .88)),

    rgb(1 7 18 / calc(var(--panel-alpha,.78) * .96)))!important;

  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 0 28px color-mix(in srgb,var(--pbg-com-blue) 8%,transparent)!important;}
body.pbg-public :is(.pp-player-metrics>div,.pp-member-fact,.pp-data-row,.pp-mini-card,.pp-step,.pp-server-stats>div,.server-stats>div,.detail-grid>div,.pbg-stat,.progression-kpis>div,.live-map-kpis>div,.live-map-stat,.fact,.mini-item,.store-filter,.cf-data>div,.me-objective,.me-server-card dl div,.iv-player-facts>div,.iv-server-facts>div){background:rgba(1,10,27,.28)!important;border-color:rgba(65,112,198,.24)!important;

  -webkit-backdrop-filter:blur(var(--card-glass-blur,4px))!important;backdrop-filter:blur(var(--card-glass-blur,4px))!important;}
body.pbg-public :is(.button,.iv-refresh,.iv-pills button,.iv-player-more,.me-tabs button,.me-refresh){border:1px solid rgba(93,128,196,.34)!important;color:var(--text)!important;

  background:linear-gradient(180deg,rgba(4,11,26,.82),rgba(1,6,17,.93))!important;

  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 18px rgba(0,0,0,.20)!important;}
body.pbg-public :is(.button:hover,.button-primary,.button.primary,.iv-pills button.active,.me-tabs button.active,.main-nav a.active,.nav-group.active summary){border-color:transparent!important;color:var(--text-heading)!important;

  background:linear-gradient(180deg,rgba(4,11,26,.94),rgba(1,6,17,.98)) padding-box,linear-gradient(105deg,var(--pbg-com-yellow) 0%,color-mix(in srgb,var(--pbg-com-yellow) 72%,#ffffff 28%) 28%,var(--accent) 72%,var(--pbg-com-blue) 100%) border-box!important;

  box-shadow:-2px 0 9px color-mix(in srgb,var(--pbg-com-yellow) 10%,transparent),2px 0 13px color-mix(in srgb,var(--pbg-com-blue) 14%,transparent),0 10px 25px rgba(0,0,0,.24)!important;}
body.pbg-public :is(input,select,textarea){background:rgba(1,10,27,.58)!important;border-color:rgba(70,116,205,.40)!important;color:var(--text)!important}
body.pbg-public :is(input,select,textarea):focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.10)!important;outline:none!important}
body.pbg-public select option{background:#06142a;color:var(--text)}
body.pbg-public :is(.pp-table,.iv-ranking-table,.iv-ruststats-table,.table-card table,.table-wrap table),

body.pbg-public :is(.pp-table,.iv-ranking-table,.iv-ruststats-table,.table-card table,.table-wrap table) :is(thead,tbody,tr,th,td){background-color:transparent!important}
body.pbg-public :is(.pp-table,.iv-ranking-table,.iv-ruststats-table,.table-card table,.table-wrap table) th{background:rgba(2,18,47,.42)!important;color:var(--muted-2)!important}
body.pbg-public :is(.pp-table,.iv-ranking-table,.iv-ruststats-table,.table-card table,.table-wrap table) tbody tr:hover{background:rgba(var(--accent-rgb),.055)!important}
body.pbg-public :is(.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.pp-table-wrap,.table-wrap){overflow:auto!important}
body.pbg-public :is(.product-image,.kit-card-image,.live-map-stage,.ph-server-image){position:relative!important;z-index:2!important}
body.pbg-page-home .ph-server-carousel{height:auto!important;min-height:0!important}
body.pbg-page-home .ph-server-stage{position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important}
body.pbg-page-home .ph-server-slide{inset:auto!important;width:100%!important;height:auto!important;opacity:1!important;visibility:visible!important;transform:none!important}
body.pbg-page-home .ph-server-slide:not(.is-active){display:none!important}
body.pbg-page-home .ph-server-slide.is-active{display:grid!important;position:relative!important;min-height:430px!important}
body.pbg-page-home .ph-server-dots{position:relative!important;margin-top:14px!important}
body.pbg-page-home .ph-server-section{margin-bottom:24px!important}
body.pbg-page-home .ph-metrics{margin-top:24px!important}
@media (max-width:900px){body.pbg-page-home .ph-server-slide.is-active{min-height:0!important;grid-template-columns:1fr!important}
body.pbg-page-home .ph-server-image{min-height:280px!important}}
@media (prefers-reduced-motion:reduce){body.pbg-public :is(.glass.edge,.pp-card,.pp-kpi,.content-card,.server-card,.product-card,.member-card,.staff-card,.iv-stat-grid>article,.iv-ruststats-summary>article,.iv-podium-card,.iv-player-card,.iv-server-card,.ph-server-slide,.ph-metric-card,.cf-module,.cl-card,.me-mission,.me-event)::before{animation:none!important}}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide){position:relative!important;
  isolation:auto!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;}
body.pbg-public:not(.pbg-page-home) .pp-hero-copy{padding:18px 12px 22px 2px!important;align-self:center!important}
body.pbg-public:not(.pbg-page-home) :is(.page-hero,.page-hero-wide){padding:10px 0 22px!important;margin-bottom:22px!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent)!important}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide)::before{content:none!important;display:none!important;background:none!important;animation:none!important;box-shadow:none!important}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide)::after{content:none!important;display:none!important;background:none!important;animation:none!important;box-shadow:none!important}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide)>*{position:relative!important;z-index:auto!important}
@media (max-width:720px){body.pbg-public:not(.pbg-page-home) .pp-hero-copy{padding:8px 0 16px!important}
body.pbg-public:not(.pbg-page-home) :is(.page-hero,.page-hero-wide){padding:6px 0 18px!important}}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.me-hero>div:first-child){position:relative!important;}
body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.me-hero>div:first-child)::after{content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 30%,var(--accent-2) 50%,var(--accent) 70%,var(--accent) 100%)!important;
  box-shadow:0 0 8px color-mix(in srgb,var(--accent) 52%,transparent),0 0 10px color-mix(in srgb,var(--accent-2) 28%,transparent)!important;
  opacity:.92!important;
  transform:none!important;
  animation:none!important;
  pointer-events:none!important;}
body.pbg-public:not(.pbg-page-home) :is(.page-hero,.page-hero-wide){border-bottom:0!important}
@media (max-width:720px){body.pbg-public:not(.pbg-page-home) :is(.pp-hero-copy,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.me-hero>div:first-child)::after{height:2px!important}}
body.pbg-public:not(.pbg-page-home) :is(
  .pp-hero-copy,
  .iv-page-intro>div:first-child,
  .page-hero,
  .page-hero-wide,
  .cl-hero-copy,
  .cf-hero-copy,
  .cf-invision-hero-copy,
  .me-hero>div:first-child
){position:relative!important;
  isolation:auto!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;}
body.pbg-public:not(.pbg-page-home) .iv-page-intro>div:first-child{padding:18px 10px 24px 2px!important;align-self:center!important}
body.pbg-public:not(.pbg-page-home) :is(
  .pp-hero-copy,
  .iv-page-intro>div:first-child,
  .page-hero,
  .page-hero-wide,
  .cl-hero-copy,
  .cf-hero-copy,
  .cf-invision-hero-copy,
  .me-hero>div:first-child
)::before{content:none!important;display:none!important;background:none!important;animation:none!important;box-shadow:none!important;}
body.pbg-public:not(.pbg-page-home).header-bar-on :is(
  .pp-hero-copy,
  .iv-page-intro>div:first-child,
  .page-hero,
  .page-hero-wide,
  .cl-hero-copy,
  .cf-hero-copy,
  .cf-invision-hero-copy,
  .me-hero>div:first-child
)::after{content:""!important;
  display:block!important;
  position:absolute!important;
  top:auto!important;
  bottom:0!important;
  left:0!important;
  right:auto!important;
  width:var(--header-bar-width,100%)!important;
  height:var(--header-bar-thickness,3px)!important;
  min-height:0!important;
  max-height:none!important;
  border:0!important;
  border-radius:999px!important;
  transform:none!important;
  rotate:none!important;
  animation:none!important;
  opacity:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,var(--header-bar-a,var(--accent)) 0 33%,var(--header-bar-b,var(--accent-2)) 48% 54%,var(--header-bar-a,var(--accent)) 68% 100%)!important;
  box-shadow:0 0 10px color-mix(in srgb,var(--header-bar-a,var(--accent)) var(--header-bar-glow,55%),transparent),0 0 16px color-mix(in srgb,var(--header-bar-b,var(--accent-2)) var(--header-bar-glow,55%),transparent)!important;
  filter:none!important;}
body.pbg-public:not(.pbg-page-home).header-bar-style-gradient :is(.pp-hero-copy,.iv-page-intro>div:first-child,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.cf-invision-hero-copy,.me-hero>div:first-child)::after{background:linear-gradient(90deg,var(--header-bar-a,var(--accent)),var(--header-bar-b,var(--accent-2)))!important}
body.pbg-public:not(.pbg-page-home).header-bar-style-primary :is(.pp-hero-copy,.iv-page-intro>div:first-child,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.cf-invision-hero-copy,.me-hero>div:first-child)::after{background:var(--header-bar-a,var(--accent))!important}
body.pbg-public:not(.pbg-page-home).header-bar-style-secondary :is(.pp-hero-copy,.iv-page-intro>div:first-child,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.cf-invision-hero-copy,.me-hero>div:first-child)::after{background:var(--header-bar-b,var(--accent-2))!important}
body.pbg-public:not(.pbg-page-home).header-bar-off :is(.pp-hero-copy,.iv-page-intro>div:first-child,.page-hero,.page-hero-wide,.cl-hero-copy,.cf-hero-copy,.cf-invision-hero-copy,.me-hero>div:first-child)::after{content:none!important;display:none!important}
@media (max-width:720px){body.pbg-public:not(.pbg-page-home) .iv-page-intro>div:first-child{padding:8px 0 18px!important}}
body.pbg-public.card-motion-orbit{--pbg-card-animation:pbg-card-orbit var(--card-effect-speed,9s) ease-in-out infinite}
body.pbg-public.card-motion-pulse{--pbg-card-animation:pbg-card-pulse var(--card-effect-speed,9s) ease-in-out infinite}
body.pbg-public.card-motion-static{--pbg-card-animation:none}
@keyframes pbg-card-orbit{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.055)}}
@keyframes pbg-card-pulse{0%,100%{transform:scale(.96);opacity:calc(var(--pbg-card-layer-opacity,.72)*.72)}50%{transform:scale(1.04);opacity:var(--pbg-card-layer-opacity,.72)}}
body.pbg-public.site-finish-neon :is(.site-nav a.active,.site-nav a:hover,.nav-group>summary:hover,.site-user-trigger:hover,.account-button:hover,.button:hover,.btn:hover,.pp-button:hover,.cf-button:hover,.cl-button:hover,.support-bubble:hover,.style-fab:hover){
  box-shadow:0 0 var(--site-glow-button-blur,16px) rgba(var(--accent-rgb),var(--pbg-site-glow-alpha)),0 0 var(--site-glow-button-blur-2,10px) rgba(var(--accent-2-rgb),var(--pbg-site-glow-soft))!important;
}
body.pbg-public.site-finish-neon :is(h1,.pp-hero-copy h1,.iv-page-intro h1,.cf-hero-copy h1,.cl-hero-copy h1,.me-hero h1,.ph-hero-copy h1,.ph-section-heading h2){
  text-shadow:0 0 var(--site-glow-heading-blur,7px) rgba(var(--accent-rgb),var(--pbg-site-glow-soft)),0 0 var(--site-glow-heading-blur-2,20px) rgba(var(--accent-rgb),var(--pbg-site-glow-alpha))!important;
}
body.pbg-public.site-finish-neon :is(.eyebrow,.iv-kicker,.cf-eyebrow,.cl-kicker,.me-kicker,.pp-kicker,.pbg-badge,.pp-status,.iv-live-badge,.cf-live-pill,.cl-live-pill,.ph-eyebrow,.ph-live){
  text-shadow:0 0 var(--site-glow-kicker-blur,11px) rgba(var(--accent-2-rgb),var(--pbg-site-glow-alpha))!important;
}
body.pbg-public.site-finish-neon :is(.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.pp-card,.pp-kpi,.iv-stat-grid>article,.iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cl-card,.me-mission,.me-event,.me-server-card,.ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card){
  box-shadow:0 18px 46px rgba(0,0,0,.26),0 0 var(--site-glow-card-blur,25px) rgba(var(--accent-rgb),var(--pbg-site-glow-soft)),0 0 var(--site-glow-card-blur-2,14px) rgba(var(--accent-2-rgb),var(--pbg-site-glow-soft))!important;
}
body.pbg-public.site-finish-neon :is(.brand img,.footer-logo){
  filter:drop-shadow(0 0 var(--site-glow-logo-blur,15px) rgba(var(--accent-rgb),var(--pbg-site-glow-alpha))) drop-shadow(0 0 var(--site-glow-logo-blur-2,9px) rgba(var(--accent-2-rgb),var(--pbg-site-glow-soft)))!important;
}
body.pbg-public.site-finish-clean{--text-glow-strength:0%;--card-glow-strength:0%;--site-glow-level:0;--site-glow-alpha:0;--site-glow-soft-alpha:0}
body.pbg-public.site-finish-clean :is(h1,h2,h3,.eyebrow,.iv-kicker,.cf-eyebrow,.cl-kicker,.me-kicker,.pp-kicker,.pbg-badge,.pp-status,.iv-live-badge,.cf-live-pill,.cl-live-pill,.ph-eyebrow,.ph-live){text-shadow:none!important;filter:none!important}
body.pbg-public.site-finish-clean :is(.button,.btn,.pp-button,.cf-button,.cl-button,.site-nav a,.nav-group>summary,.site-user-trigger,.account-button,.support-bubble,.style-fab){box-shadow:none!important;filter:none!important;text-shadow:none!important}
body.pbg-public.site-finish-clean :is(.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.pp-card,.pp-kpi,.iv-stat-grid>article,.iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cl-card,.me-mission,.me-event,.me-server-card,.ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card){box-shadow:0 16px 42px rgba(0,0,0,.24)!important;filter:none!important;text-shadow:none!important}
body.pbg-public.card-scope-stats-off :is(.stat-card,.pp-kpi,.hub-metric,.ph-metric-card,.iv-stat-grid>article,.iv-ruststats-summary>article,.cf-kpis>article,.cl-kpis>article,.me-kpis>article,.progression-summary-card)::before,
body.pbg-public.card-scope-servers-off :is(.server-card,.hub-server-card-new,.hub-server,.ph-server-slide,.iv-server-card,.me-server-card,.server-directory-card,.prog-server-card)::before,
body.pbg-public.card-scope-players-off :is(.member-card,.pbg-public-player,.pbg-player-card,.iv-player-card,.prog-player-card,.profile-card,.profile-card-public,.pp-identity-card)::before,
body.pbg-public.card-scope-store-off :is(.product-card,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-card,.kit-item,.checkout-form-card,.checkout-summary-card,.payment-card)::before,
body.pbg-public.card-scope-community-off :is(.clan-card,.staff-card,.cf-topic,.cf-board-card,.cf-module,.cl-card,.me-mission,.me-event,.forum-card,.forum-category,.application-card,.support-card,.support-ticket-card)::before,
body.pbg-public.card-scope-general-off :is(.content-card,.module-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.pp-card,.panel,.table-wrap,.page-hero,.page-hero-wide)::before{content:none!important;display:none!important;animation:none!important}


/* PBG Visual Studio 2.1.2 — authoritative whole-site finish -----------------
   Keep this block last so the published finish wins over older page-module
   shadows in core.css/cards.css. */
body.pbg-public.site-finish-neon{
  --pbg-site-glow-alpha:var(--site-glow-alpha,.45);
  --pbg-site-glow-soft:var(--site-glow-soft-alpha,.21);
}
body.pbg-public.site-finish-neon :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.pp-card,.pp-kpi,
  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,.hub-server-card-new,.iv-player-card,.iv-server-card,.me-server-card,.cl-card,.cf-topic,.cf-board-card
){
  box-shadow:0 18px 46px rgba(0,0,0,.28),0 0 var(--site-glow-card-blur,28px) rgba(var(--accent-rgb),var(--pbg-site-glow-soft)),0 0 var(--site-glow-card-blur-2,16px) rgba(var(--accent-2-rgb),var(--pbg-site-glow-soft))!important;
}
body.pbg-public.site-finish-neon :is(h1,h2,.ph-section-heading h2,.pp-section-head h2,.brand img,.footer-logo){
  filter:drop-shadow(0 0 var(--site-glow-logo-blur,16px) rgba(var(--accent-rgb),var(--pbg-site-glow-soft)))!important;
}
body.pbg-public.site-finish-clean :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.pp-card,.pp-kpi,
  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,.hub-server-card-new,.iv-player-card,.iv-server-card,.me-server-card,.cl-card,.cf-topic,.cf-board-card,
  .ph-quick-links a>span,.ph-server-dots button,.hub-server-load-new i,.me-live-pill i,.cl-live-pill i,.cf-live-pill i,.brand img,.footer-logo
){box-shadow:none!important;text-shadow:none!important;filter:none!important}
body.pbg-public.site-finish-clean :is(h1,h2,h3,.eyebrow,.ph-eyebrow,.pp-kicker,.pp-section-kicker,.iv-kicker,.cf-eyebrow,.cl-kicker,.me-kicker,.pbg-badge,.pp-status){text-shadow:none!important;filter:none!important}
body.pbg-public.site-finish-clean :is(.button,.btn,.site-nav a,.nav-group>summary,.site-user-trigger,.account-button,.support-bubble,.style-fab){box-shadow:none!important;text-shadow:none!important;filter:none!important}

/* PBG Visual Studio 2.1.3 — RGB glow compatibility fix
   --accent-rgb values are comma triplets, so glow rules use rgba(var(...),alpha).
   This makes the published 0–100 whole-site glow control actually render. */


/* PBG Visual Studio 2.2 — style isolation / palette integrity ----------------
   These rules keep page-specific legacy blue borders/backgrounds subordinate to
   the active preset. All colour comes from the current style's CSS variables. */
body.pbg-public :is(.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.hub-server-card-new,.server-directory-card){
  border-color:color-mix(in srgb,var(--accent) 58%,transparent)!important;
  border-top-color:color-mix(in srgb,var(--accent-2) 82%,transparent)!important;
}
body.pbg-public :is(.ph-server-stats>div,.hub-server-stat-new,.ph-quick-links a>span){
  border-color:color-mix(in srgb,var(--accent) 30%,transparent)!important;
}
body.pbg-public .ph-server-dots button{
  border-color:color-mix(in srgb,var(--accent) 46%,transparent)!important;
}
body.pbg-public .ph-server-dots button.is-active{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  box-shadow:0 0 15px color-mix(in srgb,var(--accent) 54%,transparent)!important;
}
body.pbg-public[data-theme-style="pbg_blue"]{--pbg-style-name:"PBG Blue"}
body.pbg-public[data-theme-style="pbg_original"]{--pbg-style-name:"PBG Original"}
body.pbg-public[data-theme-style="royal_purple"]{--pbg-style-name:"Royal Purple"}
body.pbg-public[data-theme-style="raid_red"]{--pbg-style-name:"Raid Red"}
body.pbg-public[data-theme-style="community_green"]{--pbg-style-name:"Community Green"}

/* PBG Visual Studio 2.2.1 — server artwork protection -------------------------
   Server banners/images are already style-owned. Card FX must not wash a
   rotating gradient/logo layer across the actual Rust server artwork. Keep
   style-aware borders/glow, but leave the banner and content surface clean. */
body.pbg-public :is(.ph-server-slide,.hub-server-card-new,.server-directory-card,.iv-server-card,.me-server-card,.server-card)::before{
  content:none!important;display:none!important;opacity:0!important;animation:none!important;background:none!important;filter:none!important
}
body.pbg-public .ph-server-content,
body.pbg-public .hub-server-card-new>.card-body{background:transparent!important}
body.pbg-public :is(.ph-server-image,.hub-server-banner-new,.server-directory-card .hub-server-banner-new){
  filter:none!important;mix-blend-mode:normal!important;background-blend-mode:normal!important
}

/* PBG Hub 2.2.2 — component-owned card geometry ------------------------------
   Card FX is decoration, not layout. Each Hub component keeps the radius it was
   designed with instead of one global Visual Studio radius changing every page.
   This restores the original new-Hub card silhouettes while keeping FX, colour,
   glow and transparency style-specific. */
body.pbg-public :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,
  .clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,
  .cta-card,.account-section
){border-radius:var(--card-radius,var(--radius,18px))!important}

body.pbg-public:not(.pbg-page-home) :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,
  .clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,
  .cta-card,.account-section
){border-radius:17px!important}

/* Homepage shapes from the original Hub design. */
body.pbg-public .ph-network-card{border-radius:25px!important}
body.pbg-public .ph-server-slide{border-radius:24px!important}
body.pbg-public .ph-metric-card{border-radius:18px!important}
body.pbg-public :is(.ph-discord-panel,.ph-staff-panel){border-radius:22px!important}
body.pbg-public .ph-staff-card{border-radius:15px!important}

/* Players / profile system. */
body.pbg-public .pp-kpi{border-radius:18px!important}
body.pbg-public .pp-card{border-radius:22px!important}
body.pbg-public:not(.pbg-page-home) .pp-card{border-radius:17px!important}

/* Rust leaderboard / directory system. */
body.pbg-public :is(.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article){border-radius:14px!important}
body.pbg-public .iv-podium-card{border-radius:16px!important}
body.pbg-public .iv-player-card{border-radius:16px!important}
body.pbg-public .iv-server-card{border-radius:17px!important}
body.pbg-public :is(.iv-ranking-table-wrap,.iv-ruststats-table-wrap){border-radius:15px!important}
body.pbg-public :is(.iv-page-intro>div,.iv-live-box){border-radius:17px!important}

/* Community / clan / missions cards use the normal Hub silhouette. */
body.pbg-public :is(
  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,
  .cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,
  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,
  .cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,
  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty
){border-radius:18px!important}

/* Decorative surface must clip to the actual component shape. */
body.pbg-public :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,
  .clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,
  .cta-card,.account-section,.pp-card,.pp-kpi,.ph-network-card,.ph-server-slide,
  .ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.iv-podium-card,
  .iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cf-module,.cl-card,
  .me-mission,.me-event,.me-server-card
)::after{border-radius:inherit!important}



/* PBG card silhouette restore v2.2.3
   The original Hub cards used a deliberate two-radius silhouette:
   larger top-left/bottom-right corners and tighter top-right/bottom-left corners.
   Keep Card FX visual-only; this block owns the visible public card geometry. */
body.pbg-public{
  /* Match the older PBG card geometry while still following the Visual Studio roundness control.
     At the normal 24px setting this resolves to the classic 34px / 18px shell. */
  --pbg-card-major-radius:calc(var(--card-radius,24px) + 10px);
  --pbg-card-minor-radius:max(12px,calc(var(--card-radius,24px) - 6px));
  --pbg-card-inner-major-radius:22px;
  --pbg-card-inner-minor-radius:12px;
}
body.pbg-public :is(
  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,
  .pp-hero-copy,.pp-hero-aside,.pp-kpi,.pp-card,.pp-toolbar,.pp-record,.pp-note,.pp-empty,.pp-identity-card,.pp-account-hero,.pp-table-wrap,
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,
  .page-hero,.page-hero-wide,.schedule-card,.progression-card,.progression-summary-card,.vote-card,.live-map-shell,.live-map-panel,.map-panel,.live-map-side,.live-map-stage-card,
  .support-card,.support-hero,.support-ticket-card,.support-ticket-row,.support-process-step,.support-new-empty,.support-department,.support-request-row,.application-card,.ban-card,.payment-card,
  .store-toolbar,.store-summary,.shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-item,.kit-card,.checkout-note,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.maintenance-card,
  .profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.reply-card,.forum-category,.forum-recent,.forum-post,.forum-card,.feature-strip>article,.palette,.theme-custom-panel,.theme-background-panel,
  .hub-card,.hub-metric,.hub-server,.pb-shell,.lb-panel,.filter-bar,.panel,.table-wrap,
  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,
  .iv-page-intro>div,.iv-live-box,.iv-stat-grid>article,.iv-filterbar,.iv-ruststats-tabs,.iv-ruststats-summary>article,.iv-podium-card,.iv-ranking-table-wrap,.iv-ruststats-table-wrap,.iv-player-card,.iv-player-empty,.iv-server-card,
  .cf-live,.cf-kpis>article,.cf-toolbar,.cf-board-list,.cf-topic,.cf-board-card,.cf-sticky,.cf-post,.cf-reply,.cf-form-card,.cf-guide,.cf-module,.cf-bottom>article,
  .cl-live,.cl-kpis>article,.cl-toolbar,.cl-card,.cl-profile-live,.cl-profile-kpis>article,.cl-info,.cl-roster,.cl-profile-bottom>article,.cl-bottom-link,
  .me-live,.me-kpis>article,.me-toolbar,.me-mission,.me-event,.me-list,.me-server-card,.me-empty,
  .hub-next-grid>a
){
  border-radius:var(--pbg-card-major-radius) var(--pbg-card-minor-radius) var(--pbg-card-major-radius) var(--pbg-card-minor-radius)!important;
}
/* Keep the smaller information tiles visually related to the outer card. */
body.pbg-public :is(
  .pp-member-history>div,.pp-member-fact,.pp-player-metrics>div,.pp-data-row,.pp-mini-card,.pp-step,
  .pp-server-stats>div,.server-stats>div,.detail-grid>div,.pbg-stat,.progression-kpis>div,
  .live-map-kpis>div,.live-map-stat,.fact,.mini-item,.store-filter,.cf-data>div,.me-objective,
  .me-server-card dl div,.iv-player-facts>div,.iv-server-facts>div,.vs-preview-stats>b
){
  border-radius:var(--pbg-card-inner-major-radius) var(--pbg-card-inner-minor-radius) var(--pbg-card-inner-major-radius) var(--pbg-card-inner-minor-radius)!important;
}
/* Card effect layers must follow the exact same silhouette instead of looking like a second card. */
body.pbg-public :is(
  .pp-card,.pp-kpi,.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,
  .pbg-card,.integration-card,.table-card,.auth-card,.cta-card,.account-section,.ph-network-card,.ph-server-slide,.ph-metric-card,
  .ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,.iv-stat-grid>article,.iv-podium-card,.iv-player-card,.iv-server-card,
  .cf-topic,.cf-board-card,.cf-module,.cl-card,.me-mission,.me-event,.me-server-card
)::after{border-radius:inherit!important}


/* PBG Visual Studio 2.2.5 — glass blur is card-only ---------------------------
   Keep structural page/grid wrappers completely clear. The real card selector
   above owns --card-glass-blur, so raising Glass blur affects cards without
   frosting the entire page canvas. */
body.pbg-public :is(
  .page-shell,.pp-section,.pp-grid,.pp-kpi-grid,.pp-member-grid,.pp-player-grid,
  .pp-server-grid,.pp-module-grid,.product-grid,.server-grid,.member-grid,
  .staff-grid,.clan-grid,.pbg-store-grid,.cf-section,.cf-modules,.cf-bottom,
  .cl-grid,.cl-profile-grid,.me-grid,.me-two,.me-server-grid
){
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
}


/* PBG Hub 2.1.5 — hard style lock for live Card FX --------------------------
   Card FX is not an independent colour theme. Always bind the live card layer
   directly to the currently active public style's --accent / --accent-2 values.
   !important intentionally overrides any stale inline/custom Card FX palette
   left by older builds, cached drafts or historical Theme Builder data. */
body.pbg-public{
  --card-gradient-a:var(--accent)!important;
  --card-gradient-b:var(--accent-2)!important;
  --pbg-com-blue:var(--accent)!important;
  --pbg-com-yellow:var(--accent-2)!important;
  --pbg-neon-blue:var(--accent)!important;
  --pbg-neon-yellow:color-mix(in srgb,var(--accent-2) 84%,#ffffff 16%)!important;
}


/* PBG Hub 2.1.6 — rotating Card FX backdrop and drop-shadow are now per-style controls and default to fully transparent / off. */


/* PBG Hub 2.1.8 — Card Text Readability Studio -------------------------------
   Text stays above the moving Card FX layer and receives a configurable
   shadow/outline treatment only. No badge, pill or background is drawn. */
body.pbg-public{
  --pbg-card-text-shadow:none;
}
body.pbg-public.card-text-effect-shadow{
  --pbg-card-text-shadow:0 1px 2px rgba(0,0,0,.94),0 2px 5px rgba(0,0,0,.82),0 0 9px color-mix(in srgb,var(--card-text-effect-colour,#02050a) var(--card-text-shadow-strength,82%),transparent);
}
body.pbg-public.card-text-effect-outline{
  --pbg-card-text-shadow:calc(var(--card-text-outline-width,1px) * -1) 0 0 var(--card-text-effect-colour,#02050a),var(--card-text-outline-width,1px) 0 0 var(--card-text-effect-colour,#02050a),0 calc(var(--card-text-outline-width,1px) * -1) 0 var(--card-text-effect-colour,#02050a),0 var(--card-text-outline-width,1px) 0 var(--card-text-effect-colour,#02050a),0 2px 6px rgba(0,0,0,.72);
}
body.pbg-public.card-text-effect-neon{
  --pbg-card-text-shadow:0 1px 2px rgba(0,0,0,.82),0 0 5px color-mix(in srgb,var(--card-text-effect-colour,var(--accent)) var(--card-text-shadow-strength,62%),transparent),0 0 12px color-mix(in srgb,var(--card-text-effect-colour,var(--accent)) 38%,transparent);
}
body.pbg-public.card-text-effect-strong{
  --pbg-card-text-shadow:calc(var(--card-text-outline-width,1px) * -1) 0 0 var(--card-text-effect-colour,#02050a),var(--card-text-outline-width,1px) 0 0 var(--card-text-effect-colour,#02050a),0 calc(var(--card-text-outline-width,1px) * -1) 0 var(--card-text-effect-colour,#02050a),0 var(--card-text-outline-width,1px) 0 var(--card-text-effect-colour,#02050a),0 2px 4px rgba(0,0,0,.95),0 0 10px color-mix(in srgb,var(--card-text-effect-colour,#02050a) var(--card-text-shadow-strength,90%),transparent);
}
body.pbg-public.card-text-effect-clean{--pbg-card-text-shadow:none}

/* Main and supporting card copy can be tuned separately. Accent labels keep the
   active style's own accent colour. */
body.pbg-public .ph-metrics .ph-metric-copy strong{color:var(--card-text-main,var(--text-main))!important;text-shadow:var(--pbg-card-text-shadow)!important}
body.pbg-public .ph-metrics .ph-metric-copy small{color:var(--card-text-support,var(--text-copy))!important;text-shadow:var(--pbg-card-text-shadow)!important}
body.pbg-public .ph-metrics .ph-metric-copy b{text-shadow:var(--pbg-card-text-shadow)!important}

/* Apply the same legibility treatment to normal text inside public cards. The
   selectors intentionally avoid painting a box/background and do not overwrite
   player-tag styling. */
body.pbg-public :is(
  .glass.edge,.neon-card,.feature,.stat-card,.hub-server-card-new,.pbg-profile-stat-card,.prog-empty-card,.prog-player-card,.prog-server-card,.server-directory-card,
  .pp-kpi,.pp-card,.pp-record,.pp-note,.pp-identity-card,.pp-account-hero,.content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.integration-card,.cta-card,.account-section,
  .schedule-card,.progression-card,.progression-summary-card,.vote-card,.support-card,.support-hero,.support-ticket-card,.support-ticket-row,.application-card,.ban-card,.payment-card,
  .shop-item-card,.pbg-store-card,.pbg-store-rich-card,.kit-card,.checkout-form-card,.checkout-summary-card,.mission-progress-card,.profile-card,.profile-card-public,.pbg-public-player,.pbg-player-card,.history-card,.forum-card,
  .hub-card,.hub-metric,.hub-server,.ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,
  .iv-stat-grid>article,.iv-ruststats-summary>article,.iv-podium-card,.iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cf-module,.cl-card,.me-mission,.me-event,.me-server-card
) :is(h2,h3,h4,h5,h6,strong,p,small,dt,dd,li){text-shadow:var(--pbg-card-text-shadow)!important}

body.pbg-public :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.cta-card,.account-section,.pp-card,.pp-kpi,
  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,.iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cl-card,.me-mission,.me-event,.me-server-card
) :is(p,dd){color:var(--card-text-support,var(--text-copy))}

body.pbg-public :is(
  .content-card,.module-card,.server-card,.product-card,.member-card,.leader-card,.clan-card,.staff-card,.pbg-card,.cta-card,.account-section,.pp-card,.pp-kpi,
  .ph-network-card,.ph-server-slide,.ph-metric-card,.ph-discord-panel,.ph-staff-panel,.ph-staff-card,.ph-earn-card,.iv-player-card,.iv-server-card,.cf-topic,.cf-board-card,.cl-card,.me-mission,.me-event,.me-server-card
) :is(h2,h3,h4,h5,h6){color:var(--card-text-main,var(--text-main))}
