/* PRIME GEAR Ranking v1.2.1 */
.pg-ranking {
  --pg-ranking-accent:#B00000;
  --pg-ranking-tab-bg:#111;
  --pg-ranking-tab-text:#aaa;
  --pg-ranking-tab-active-text:#fff;
  --pg-ranking-article-indicator:#111;
  --pg-ranking-article-text:#777;
  --pg-ranking-article-active-text:#111;
  --pg-ranking-badge-bg:#fff;
  --pg-ranking-badge-text:#111;
  --pg-ranking-duration:340ms;
  --pg-ranking-step:34ms;
  width:100%;
}
.pg-ranking--speed-fast{--pg-ranking-duration:240ms;--pg-ranking-step:24ms}
.pg-ranking--speed-normal{--pg-ranking-duration:340ms;--pg-ranking-step:34ms}
.pg-ranking--speed-slow{--pg-ranking-duration:480ms;--pg-ranking-step:46ms}

.pg-ranking__tabs{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch}
.pg-ranking__tab{position:relative;z-index:2;min-width:0;appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;text-align:center;transition:color .22s ease,background .22s ease,border-color .22s ease}
.pg-ranking__tab:focus-visible{outline:2px solid var(--pg-ranking-accent);outline-offset:3px}
.pg-ranking__indicator{position:absolute;z-index:1;pointer-events:none;transform:translate3d(var(--pg-indicator-x,0px),0,0);width:var(--pg-indicator-w,0px);transition:transform .32s cubic-bezier(.22,.61,.36,1),width .32s cubic-bezier(.22,.61,.36,1)}

/* base spacing */
.pg-ranking--home .pg-ranking__tabs{gap:6px;margin-bottom:26px}
.pg-ranking--article .pg-ranking__tabs{margin-bottom:22px}
.pg-ranking--sidebar .pg-ranking__tabs{margin-bottom:14px}

/* Sliding Fill */
.pg-ranking--tab-fill .pg-ranking__tab{min-height:38px;padding:8px 12px;border:1px solid var(--pg-ranking-accent);background:var(--pg-ranking-tab-bg);color:var(--pg-ranking-tab-text)}
.pg-ranking--tab-fill .pg-ranking__tab.is-active{color:var(--pg-ranking-tab-active-text)}
.pg-ranking--tab-fill .pg-ranking__indicator{top:0;bottom:0;border:1px solid var(--pg-ranking-accent);background:linear-gradient(135deg,var(--pg-ranking-accent),color-mix(in srgb,var(--pg-ranking-accent) 72%,#000));box-shadow:0 4px 10px rgba(0,0,0,.28)}

/* Sliding Line */
.pg-ranking--tab-line .pg-ranking__tabs{border-bottom:1px solid #d8d8d8}
.pg-ranking--tab-line .pg-ranking__tab{min-height:42px;padding:9px 12px;border:0;background:transparent;color:var(--pg-ranking-article-text)}
.pg-ranking--tab-line .pg-ranking__tab.is-active{color:var(--pg-ranking-article-active-text);font-weight:600}
.pg-ranking--tab-line .pg-ranking__indicator{left:0;bottom:-1px;height:2px;background:var(--pg-ranking-article-indicator,var(--pg-ranking-accent))}

/* Glass */
.pg-ranking--tab-glass .pg-ranking__tabs{gap:6px;padding:4px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pg-ranking--article.pg-ranking--tab-glass .pg-ranking__tabs,.pg-ranking--sidebar.pg-ranking--tab-glass .pg-ranking__tabs{border-color:#e4e4e4;background:rgba(255,255,255,.72)}
.pg-ranking--tab-glass .pg-ranking__tab{min-height:36px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:var(--pg-ranking-tab-text,var(--pg-ranking-article-text))}
.pg-ranking--article.pg-ranking--tab-glass .pg-ranking__tab,.pg-ranking--sidebar.pg-ranking--tab-glass .pg-ranking__tab{color:var(--pg-ranking-article-text)}
.pg-ranking--tab-glass .pg-ranking__tab.is-active{color:var(--pg-ranking-tab-active-text,var(--pg-ranking-article-active-text))}
.pg-ranking--article.pg-ranking--tab-glass .pg-ranking__tab.is-active,.pg-ranking--sidebar.pg-ranking--tab-glass .pg-ranking__tab.is-active{color:var(--pg-ranking-article-active-text)}
.pg-ranking--tab-glass .pg-ranking__indicator{top:4px;bottom:4px;border-radius:10px;background:color-mix(in srgb,var(--pg-ranking-accent) 88%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 10px rgba(0,0,0,.16)}

/* Minimal */
.pg-ranking--tab-minimal .pg-ranking__tabs{gap:8px}
.pg-ranking--tab-minimal .pg-ranking__tab{min-height:36px;padding:7px 8px;border:0;background:transparent;color:var(--pg-ranking-tab-text,var(--pg-ranking-article-text));opacity:.72}
.pg-ranking--article.pg-ranking--tab-minimal .pg-ranking__tab,.pg-ranking--sidebar.pg-ranking--tab-minimal .pg-ranking__tab{color:var(--pg-ranking-article-text)}
.pg-ranking--tab-minimal .pg-ranking__tab.is-active{opacity:1;color:var(--pg-ranking-tab-active-text,var(--pg-ranking-article-active-text));font-weight:600}
.pg-ranking--article.pg-ranking--tab-minimal .pg-ranking__tab.is-active,.pg-ranking--sidebar.pg-ranking--tab-minimal .pg-ranking__tab.is-active{color:var(--pg-ranking-article-active-text)}
.pg-ranking--tab-minimal .pg-ranking__indicator{left:0;bottom:1px;height:1px;background:var(--pg-ranking-accent)}

.pg-ranking__panels{position:relative}.pg-ranking__panel[hidden]{display:none!important}.pg-ranking__panel.is-leaving{animation:pgRankingPanelOut .14s ease both;pointer-events:none}
.pg-ranking__panel.is-entering .pg-ranking__item{animation-duration:var(--pg-ranking-duration);animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both;animation-delay:0ms}
.pg-ranking--stagger .pg-ranking__panel.is-entering .pg-ranking__item{animation-delay:calc(var(--pg-rank-i,0) * var(--pg-ranking-step))}
@keyframes pgRankingPanelOut{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes pgRankingCardUp{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes pgRankingCardDown{from{opacity:0;transform:translate3d(0,-14px,0)}to{opacity:1;transform:none}}
@keyframes pgRankingCardLeft{from{opacity:0;transform:translate3d(16px,0,0)}to{opacity:1;transform:none}}
@keyframes pgRankingCardRight{from{opacity:0;transform:translate3d(-16px,0,0)}to{opacity:1;transform:none}}
@keyframes pgRankingCardFade{from{opacity:0}to{opacity:1}}
.pg-ranking--anim-up .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardUp}.pg-ranking--anim-down .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardDown}.pg-ranking--anim-left .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardLeft}.pg-ranking--anim-right .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardRight}.pg-ranking--anim-fade .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardFade}.pg-ranking--anim-none .pg-ranking__panel.is-entering .pg-ranking__item{animation:none!important}

/* card layouts */
.pg-ranking__list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:48px 16px!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
.pg-ranking__list>.pg-ranking__item{position:relative!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;opacity:1}.pg-ranking__list .p-postList__link{width:100%}.pg-ranking__list .p-postList__title{line-height:1.5}
.pg-ranking--article .pg-ranking__list .p-postList__title{font-size:14px!important;line-height:1.5!important}

/* sidebar: compact horizontal list */
.pg-ranking--sidebar .pg-ranking__list{display:flex!important;flex-direction:column!important;gap:14px!important}
.pg-ranking--sidebar .pg-ranking__item{min-height:74px!important}
.pg-ranking--sidebar .p-postList__link{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;text-decoration:none!important}
.pg-ranking--sidebar .p-postList__thumb{width:96px!important;margin:0!important}.pg-ranking--sidebar .c-postThumb__figure{aspect-ratio:4/3!important;margin:0!important;overflow:hidden}.pg-ranking--sidebar .p-postList__body{min-width:0!important;padding:0!important}.pg-ranking--sidebar .p-postList__title{font-size:13px!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pg-ranking--sidebar .pg-ranking__badge{top:-7px;left:-7px;width:30px;height:30px;font-size:13px}
.pg-ranking--sidebar .pg-ranking__tab{font-size:12px}

@media(max-width:599px){.pg-ranking__list{grid-template-columns:minmax(0,1fr)!important;gap:38px!important}.pg-ranking__list .p-postList__thumb.c-postThumb{width:calc(100% + 8.7%);max-width:calc(100% + 8.7%);margin-left:-4.35%}.pg-ranking--anim-up .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardUpSP}.pg-ranking--anim-down .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardDownSP}.pg-ranking--anim-left .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardLeftSP}.pg-ranking--anim-right .pg-ranking__panel.is-entering .pg-ranking__item{animation-name:pgRankingCardRightSP}}
@keyframes pgRankingCardUpSP{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}@keyframes pgRankingCardDownSP{from{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}@keyframes pgRankingCardLeftSP{from{opacity:0;transform:translate3d(8px,0,0)}to{opacity:1;transform:none}}@keyframes pgRankingCardRightSP{from{opacity:0;transform:translate3d(-8px,0,0)}to{opacity:1;transform:none}}

/* badges */
.pg-ranking__badge{position:absolute;top:-15px;left:0;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--pg-ranking-badge-text);font-size:16px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;z-index:10;pointer-events:none;box-sizing:border-box;overflow:hidden}
.pg-ranking--badge-liquid .pg-ranking__badge{background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,255,255,.22));border:1px solid rgba(255,255,255,.62);box-shadow:0 5px 16px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.22);backdrop-filter:blur(14px) saturate(155%);-webkit-backdrop-filter:blur(14px) saturate(155%)}
.pg-ranking--badge-liquid .pg-ranking__badge::after{content:"";position:absolute;inset:2px 6px auto 6px;height:9px;border-radius:999px;background:linear-gradient(to bottom,rgba(255,255,255,.72),rgba(255,255,255,0));opacity:.72}
.pg-ranking--badge-minimal .pg-ranking__badge{background:var(--pg-ranking-badge-bg);border:0;box-shadow:0 2px 7px rgba(0,0,0,.14)}
.pg-ranking--badge-dark .pg-ranking__badge{color:#fff;background:linear-gradient(145deg,rgba(20,20,20,.78),rgba(20,20,20,.48));border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}
.pg-ranking--badge-editorial .pg-ranking__badge{border-radius:10px;background:color-mix(in srgb,var(--pg-ranking-badge-bg) 84%,transparent);border:1px solid color-mix(in srgb,var(--pg-ranking-badge-text) 20%,transparent);box-shadow:0 3px 10px rgba(0,0,0,.09);font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:700;font-style:italic}
.pg-ranking--badge-none .pg-ranking__badge{display:none}
.pg-ranking__empty{margin:1.5em 0;color:#777;text-align:center}
@media(prefers-reduced-motion:reduce){.pg-ranking__indicator,.pg-ranking__tab{transition:none!important}.pg-ranking__panel.is-leaving,.pg-ranking__panel.is-entering .pg-ranking__item{animation:none!important}}

/* =========================================================
   v1.2.1 - Sliding Fill polish
   インジケーターをタブ背景より前、文字より後ろに置く
========================================================= */
.pg-ranking__tab {
  z-index: auto;
}
.pg-ranking__tab-label {
  position: relative;
  z-index: 4;
  pointer-events: none;
}
.pg-ranking--tab-fill .pg-ranking__indicator {
  z-index: 3;
  transition:
    transform .40s cubic-bezier(.16,1,.3,1),
    width .40s cubic-bezier(.16,1,.3,1);
}
.pg-ranking--tab-fill .pg-ranking__tab {
  position: relative;
  z-index: auto;
  background: color-mix(in srgb, var(--pg-ranking-tab-bg) 55%, transparent);
  overflow: hidden;
}
.pg-ranking--home.pg-ranking--tab-fill .pg-ranking__indicator {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pg-ranking-accent) 96%, #fff 4%) 0%,
    color-mix(in srgb, var(--pg-ranking-accent) 72%, #000) 100%
  );
  box-shadow:
    0 5px 14px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.16);
}

/* line / glass / minimal でも文字をインジケーターより前に固定 */
.pg-ranking--tab-line .pg-ranking__indicator,
.pg-ranking--tab-glass .pg-ranking__indicator,
.pg-ranking--tab-minimal .pg-ranking__indicator {
  z-index: 2;
}

/* =========================================================
   v1.2.2 - Home tab legacy visual restoration
   旧SWELL tab-style-red の見た目を独自スライドタブで再現
========================================================= */
.pg-ranking--home.pg-ranking--tab-fill .pg-ranking__tab {
  background-color: var(--pg-ranking-tab-bg, #111111);
  color: var(--pg-ranking-tab-text, #aaaaaa);
  border: 1px solid var(--pg-ranking-accent, #B00000);
  transition: color .3s ease, border-color .3s ease, background-color .3s ease;
}
.pg-ranking--home.pg-ranking--tab-fill .pg-ranking__tab:hover,
.pg-ranking--home.pg-ranking--tab-fill .pg-ranking__tab.is-active {
  color: var(--pg-ranking-tab-active-text, #ffffff);
}
.pg-ranking--home.pg-ranking--tab-fill .pg-ranking__indicator {
  top: 0;
  bottom: 0;
  border: 1px solid var(--pg-ranking-accent, #B00000);
  background: linear-gradient(
    135deg,
    var(--pg-ranking-accent, #B00000) 0%,
    color-mix(in srgb, var(--pg-ranking-accent, #B00000) 70%, #000000) 100%
  );
  box-shadow: 0 4px 10px rgba(0, 0, 0, .4);
}

/* =========================================================
   v1.3.0 - preset color support / true Minimal
========================================================= */
.pg-ranking--tab-fill .pg-ranking__indicator{
  background:linear-gradient(135deg,var(--pg-ranking-accent) 0%,var(--pg-ranking-accent2,var(--pg-ranking-accent)) 100%)!important;
}
.pg-ranking--tab-minimal .pg-ranking__tabs{border:0!important;background:transparent!important}
.pg-ranking--tab-minimal .pg-ranking__indicator{display:none!important}
.pg-ranking--tab-minimal .pg-ranking__tab{border:0!important;background:transparent!important;box-shadow:none!important;opacity:.58;transition:opacity .2s ease,color .2s ease,font-weight .2s ease}
.pg-ranking--tab-minimal .pg-ranking__tab.is-active{opacity:1;font-weight:700}
