/**
 * FPS JAPAN fixed landing-page foundation / v0.4.118
 * Player Landing is the canonical reference implementation.
 */

.fpsj-theme .fpsj-landing-page {
  position:relative;
  min-height:60vh;
  padding:32px 16px 72px;
  background:
    radial-gradient(circle at 50% 0,rgba(52,120,255,.09),transparent 31rem),
    #050b14;
  color:#f7faff;
}

.fpsj-theme .fpsj-landing-shell {
  width:min(1040px,100%);
  margin-inline:auto;
}

.fpsj-theme .fpsj-landing-page .fpsj-breadcrumbs {
  margin:0 0 18px;
}

.fpsj-theme .fpsj-landing-hero {
  position:relative;
  overflow:hidden;
  margin:0 0 24px;
  padding:34px 36px 36px;
  border:1px solid rgba(77,119,176,.24);
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 14%,rgba(49,215,255,.09),transparent 30%),
    radial-gradient(circle at 12% 0,rgba(140,99,255,.09),transparent 34%),
    linear-gradient(135deg,rgba(9,22,40,.96),rgba(6,15,28,.99));
}

.fpsj-theme .fpsj-landing-hero::after {
  content:"";
  position:absolute;
  inset:auto -12% -58% 30%;
  height:180px;
  border-radius:50%;
  background:rgba(52,120,255,.10);
  filter:blur(60px);
  pointer-events:none;
}

.fpsj-theme .fpsj-landing-hero__eyebrow {
  position:relative;
  z-index:1;
  margin:0 0 10px;
  color:#31d7ff;
  font-size:12px;
  font-weight:850;
  letter-spacing:.17em;
}

.fpsj-theme .fpsj-landing-hero__title {
  position:relative;
  z-index:1;
  margin:0;
  color:#f7faff;
  font-size:clamp(32px,4.7vw,58px);
  font-weight:900;
  line-height:1.02;
  letter-spacing:-.045em;
}

.fpsj-theme .fpsj-landing-hero__lead {
  position:relative;
  z-index:1;
  max-width:720px;
  margin:15px 0 0;
  color:#9aabc4;
  font-size:15px;
  line-height:1.8;
}

.fpsj-theme .fpsj-landing-page__editable:empty {
  display:none;
}

/* Player Hero */
.fpsj-theme .fpsj-player-landing-hero__row {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
}

.fpsj-theme .fpsj-player-landing-hero__count {
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:7px;
  min-width:118px;
  padding:13px 15px;
  border:1px solid rgba(49,215,255,.20);
  border-radius:13px;
  background:rgba(5,14,27,.56);
  backdrop-filter:blur(10px);
}

.fpsj-theme .fpsj-player-landing-hero__count strong {
  color:#f7faff;
  font-size:28px;
  line-height:.9;
}

.fpsj-theme .fpsj-player-landing-hero__count span {
  padding-bottom:1px;
  color:#78dfff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}

/* Player Hub */
.fpsj-theme .fpsj-player-hub {
  display:grid;
  gap:24px;
}

/* Search & filters */
.fpsj-theme .fpsj-player-hub__controls {
  padding:22px 24px 24px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,19,35,.68),rgba(5,11,20,0));
}

.fpsj-theme .fpsj-player-hub__controls-head,
.fpsj-theme .fpsj-player-hub__section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.fpsj-theme .fpsj-player-hub__controls-head span,
.fpsj-theme .fpsj-player-hub__section-head span {
  display:block;
  margin-bottom:4px;
  color:#31d7ff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-player-hub__controls-head h2,
.fpsj-theme .fpsj-player-hub__section-head h2 {
  margin:0;
  color:#f7faff;
  font-size:22px;
  line-height:1.2;
}

.fpsj-theme .fpsj-player-hub__controls-head > small,
.fpsj-theme .fpsj-player-hub__section-head > small {
  color:#7185a2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}

.fpsj-theme .fpsj-player-hub__search {
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px auto auto;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}

.fpsj-theme .fpsj-player-hub__search label {
  min-width:0;
}

.fpsj-theme .fpsj-player-hub__search input[type="search"],
.fpsj-theme .fpsj-player-hub__search select {
  width:100%;
  min-height:46px;
  margin:0;
  border:1px solid rgba(75,111,158,.34);
  border-radius:11px;
  outline:none;
  background:#0a1729;
  color:#eef5ff;
  font:inherit;
  font-size:13px;
}

.fpsj-theme .fpsj-player-hub__search input[type="search"] {
  padding:0 15px;
}

.fpsj-theme .fpsj-player-hub__search input[type="search"]::placeholder {
  color:#667b98;
}

.fpsj-theme .fpsj-player-hub__search select {
  padding:0 12px;
  cursor:pointer;
}

.fpsj-theme .fpsj-player-hub__search input[type="search"]:focus,
.fpsj-theme .fpsj-player-hub__search select:focus {
  border-color:rgba(49,215,255,.62);
}

.fpsj-theme .fpsj-player-hub__search button,
.fpsj-theme .fpsj-player-hub__clear {
  display:inline-grid;
  place-items:center;
  min-height:46px;
  margin:0;
  padding:0 17px;
  border:1px solid rgba(49,215,255,.42);
  border-radius:11px;
  background:#0b2035;
  color:#eaf8ff;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}

.fpsj-theme .fpsj-player-hub__search button:hover,
.fpsj-theme .fpsj-player-hub__search button:focus-visible {
  background:#0c2942;
}

.fpsj-theme .fpsj-player-hub__clear {
  border-color:rgba(75,111,158,.28);
  background:#081426;
  color:#8297b1;
}

.fpsj-theme .fpsj-player-hub__game-filter {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.fpsj-theme .fpsj-player-hub__game-filter > a {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:10px;
  background:#081426;
  color:#b9c8db;
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}

.fpsj-theme .fpsj-player-hub__game-filter > a:hover,
.fpsj-theme .fpsj-player-hub__game-filter > a:focus-visible {
  border-color:rgba(49,215,255,.48);
  background:#0a182c;
  color:#eef8ff;
}

.fpsj-theme .fpsj-player-hub__game-filter > a.is-active {
  border-color:rgba(49,215,255,.52);
  background:linear-gradient(135deg,rgba(52,120,255,.13),rgba(49,215,255,.07));
  color:#f7faff;
}

.fpsj-theme .fpsj-player-hub__game-filter b {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:7px;
  background:rgba(52,120,255,.12);
  color:#31d7ff;
  font-size:8px;
  letter-spacing:.04em;
}

.fpsj-theme .fpsj-player-hub__game-filter span {
  overflow:hidden;
  font-size:10px;
  font-weight:820;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Listing */
.fpsj-theme .fpsj-player-hub__listing,
.fpsj-theme .fpsj-player-hub__related {
  padding:22px 24px 24px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,19,35,.62),rgba(5,11,20,0));
}

.fpsj-theme .fpsj-player-hub__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-player-card {
  min-width:0;
  margin:0;
}

.fpsj-theme .fpsj-player-card__link {
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:13px;
  min-height:174px;
  height:100%;
  padding:16px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(52,120,255,.08),transparent 44%),
    #081426;
  color:#f7faff;
  text-decoration:none;
  transition:border-color .16s ease,transform .16s ease,background .16s ease;
}

.fpsj-theme .fpsj-player-card__link:hover,
.fpsj-theme .fpsj-player-card__link:focus-visible {
  border-color:rgba(49,215,255,.50);
  background:
    radial-gradient(circle at 100% 0,rgba(49,215,255,.10),transparent 44%),
    #0a182c;
  transform:translateY(-2px);
}

.fpsj-theme .fpsj-player-card__identity {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:11px;
}

.fpsj-theme .fpsj-player-card__avatar {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(49,215,255,.25);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(52,120,255,.22),rgba(140,99,255,.12)),
    #0a1729;
  color:#eaf8ff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
}

.fpsj-theme .fpsj-player-card__name {
  display:grid;
  min-width:0;
  gap:3px;
}

.fpsj-theme .fpsj-player-card__name strong {
  overflow:hidden;
  color:#f7faff;
  font-size:16px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-player-card__name small {
  overflow:hidden;
  color:#8298b4;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.fpsj-theme .fpsj-player-card__chips {
  display:flex;
  align-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:5px;
}

.fpsj-theme .fpsj-player-card__chips > span {
  max-width:100%;
  overflow:hidden;
  padding:4px 6px;
  border:1px solid rgba(67,107,162,.18);
  border-radius:6px;
  background:rgba(7,18,33,.75);
  color:#8fa4bf;
  font-size:8px;
  font-weight:800;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-player-card__chips > span:first-child {
  color:#71dfff;
}

.fpsj-theme .fpsj-player-card__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:10px;
  border-top:1px solid rgba(67,107,162,.15);
}

.fpsj-theme .fpsj-player-card__footer small {
  color:#8fa4bf;
  font-size:9px;
  font-weight:800;
}

.fpsj-theme .fpsj-player-card__footer i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-player-card--post-fallback .fpsj-player-card__name strong {
  display:-webkit-box;
  overflow:hidden;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.fpsj-theme .fpsj-player-hub__empty {
  display:grid;
  place-items:center;
  gap:6px;
  min-height:180px;
  border:1px dashed rgba(75,111,158,.30);
  border-radius:14px;
  color:#8094ae;
  text-align:center;
}

.fpsj-theme .fpsj-player-hub__empty strong {
  color:#c7d7eb;
  font-size:11px;
  letter-spacing:.12em;
}

.fpsj-theme .fpsj-player-hub__pagination {
  margin-top:20px;
}

.fpsj-theme .fpsj-player-hub__pagination .page-numbers {
  display:flex;
  justify-content:center;
  gap:7px;
  padding:0;
  list-style:none;
}

.fpsj-theme .fpsj-player-hub__pagination a,
.fpsj-theme .fpsj-player-hub__pagination span {
  display:grid;
  place-items:center;
  min-width:36px;
  min-height:36px;
  border:1px solid rgba(67,107,162,.26);
  border-radius:9px;
  background:#081426;
  color:#afc0d6;
  text-decoration:none;
}

.fpsj-theme .fpsj-player-hub__pagination .current {
  border-color:rgba(49,215,255,.5);
  color:#f7faff;
}

/* Related */
.fpsj-theme .fpsj-player-hub__related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-player-hub__related-grid > a {
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  padding:18px;
  border:1px solid rgba(67,107,162,.25);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-player-hub__related-grid small {
  grid-column:1/-1;
  color:#31d7ff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
}

.fpsj-theme .fpsj-player-hub__related-grid strong {
  font-size:14px;
}

.fpsj-theme .fpsj-player-hub__related-grid i {
  color:#31d7ff;
  font-style:normal;
}


/* Player portrait cards: DBLM public View Model image contract (v0.4.117). */
.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__link {
  grid-template-rows:auto auto 1fr auto;
  gap:12px;
  min-height:0;
  padding:10px 10px 14px;
  overflow:hidden;
}

.fpsj-theme .fpsj-player-card__media {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border:1px solid rgba(67,107,162,.22);
  border-radius:11px;
  background:
    radial-gradient(circle at 50% 18%,rgba(49,215,255,.12),transparent 40%),
    linear-gradient(145deg,rgba(52,120,255,.16),rgba(140,99,255,.08)),
    #071426;
}

.fpsj-theme .fpsj-player-card__portrait {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  background:#071426;
  transition:transform .2s ease,filter .2s ease;
}

.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__link:hover .fpsj-player-card__portrait,
.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__link:focus-visible .fpsj-player-card__portrait {
  transform:scale(1.025);
  filter:saturate(1.04);
}

.fpsj-theme .fpsj-player-card__media--fallback > span {
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border:1px solid rgba(49,215,255,.30);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(52,120,255,.24),rgba(140,99,255,.14)),
    #0a1729;
  color:#eaf8ff;
  font-size:19px;
  font-weight:900;
  letter-spacing:.04em;
}

.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__identity {
  display:block;
  min-width:0;
  padding:0 3px;
}

.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__chips {
  padding-inline:3px;
}

.fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__footer {
  margin-inline:3px;
}


/* Tablet */
@media (max-width:900px) {
  .fpsj-theme .fpsj-player-hub__game-filter {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-player-hub__grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Mobile */
@media (max-width:680px) {

  .fpsj-theme .fpsj-player-card--view-model .fpsj-player-card__link {
    min-height:0;
    padding:8px 8px 12px;
    gap:10px;
  }

  .fpsj-theme .fpsj-player-card__media {
    border-radius:9px;
  }

  .fpsj-theme .fpsj-player-card__media--fallback > span {
    width:52px;
    height:52px;
    border-radius:14px;
    font-size:15px;
  }


  .fpsj-theme .fpsj-landing-page {
    padding:22px 12px 56px;
  }

  .fpsj-theme .fpsj-landing-hero {
    padding:26px 22px 28px;
    border-radius:17px;
  }

  .fpsj-theme .fpsj-landing-hero__title {
    font-size:clamp(30px,11vw,44px);
  }

  .fpsj-theme .fpsj-player-landing-hero__row {
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
  }

  .fpsj-theme .fpsj-player-landing-hero__count {
    justify-self:start;
    min-width:104px;
  }

  .fpsj-theme .fpsj-player-hub__controls,
  .fpsj-theme .fpsj-player-hub__listing,
  .fpsj-theme .fpsj-player-hub__related {
    padding:18px 0;
    background:transparent;
  }

  .fpsj-theme .fpsj-player-hub__controls-head {
    align-items:start;
  }

  .fpsj-theme .fpsj-player-hub__controls-head > small {
    display:none;
  }

  .fpsj-theme .fpsj-player-hub__search {
    grid-template-columns:minmax(0,1fr) 104px auto;
  }

  .fpsj-theme .fpsj-player-hub__clear {
    grid-column:1/-1;
    min-height:38px;
  }

  .fpsj-theme .fpsj-player-hub__game-filter {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .fpsj-theme .fpsj-player-hub__game-filter > a {
    padding:8px;
  }

  .fpsj-theme .fpsj-player-hub__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .fpsj-theme .fpsj-player-card__link {
    min-height:162px;
    padding:13px;
  }

  .fpsj-theme .fpsj-player-card__identity {
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
  }

  .fpsj-theme .fpsj-player-card__avatar {
    width:38px;
    height:38px;
    border-radius:10px;
    font-size:11px;
  }

  .fpsj-theme .fpsj-player-card__name strong {
    font-size:14px;
  }

  .fpsj-theme .fpsj-player-hub__related-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:430px) {
  .fpsj-theme .fpsj-player-hub__search {
    grid-template-columns:1fr auto;
  }

  .fpsj-theme .fpsj-player-hub__search > label:first-child {
    grid-column:1/-1;
  }

  .fpsj-theme .fpsj-player-hub__sort {
    min-width:0;
  }

  .fpsj-theme .fpsj-player-hub__game-filter {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Site Editor server-rendered Player previews. */
.editor-styles-wrapper .fpsj-landing-page,
.editor-styles-wrapper .fpsj-player-hub,
.editor-styles-wrapper .fpsj-player-landing-hero {
  color:#f7faff;
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-player-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-player-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}


/* Settings Landing / v0.4.118 */
.fpsj-theme .fpsj-settings-landing-hero__row {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
}

.fpsj-theme .fpsj-settings-landing-hero__count {
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:7px;
  min-width:118px;
  padding:13px 15px;
  border:1px solid rgba(49,215,255,.20);
  border-radius:13px;
  background:rgba(5,14,27,.56);
  backdrop-filter:blur(10px);
}

.fpsj-theme .fpsj-settings-landing-hero__count strong {
  color:#f7faff;
  font-size:28px;
  line-height:.9;
}

.fpsj-theme .fpsj-settings-landing-hero__count span {
  padding-bottom:1px;
  color:#78dfff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-settings-hub {
  display:grid;
  gap:24px;
}

.fpsj-theme .fpsj-settings-hub__controls,
.fpsj-theme .fpsj-settings-hub__topics,
.fpsj-theme .fpsj-settings-hub__listing,
.fpsj-theme .fpsj-settings-hub__related {
  padding:22px 24px 24px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,19,35,.62),rgba(5,11,20,0));
}

.fpsj-theme .fpsj-settings-hub__controls-head,
.fpsj-theme .fpsj-settings-hub__section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.fpsj-theme .fpsj-settings-hub__controls-head span,
.fpsj-theme .fpsj-settings-hub__section-head span {
  display:block;
  margin-bottom:4px;
  color:#31d7ff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-settings-hub__controls-head h2,
.fpsj-theme .fpsj-settings-hub__section-head h2 {
  margin:0;
  color:#f7faff;
  font-size:22px;
  line-height:1.2;
}

.fpsj-theme .fpsj-settings-hub__controls-head > small,
.fpsj-theme .fpsj-settings-hub__section-head > small {
  color:#7185a2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}

.fpsj-theme .fpsj-settings-hub__search {
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px auto auto;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}

.fpsj-theme .fpsj-settings-hub__search label {
  min-width:0;
}

.fpsj-theme .fpsj-settings-hub__search input[type="search"],
.fpsj-theme .fpsj-settings-hub__search select {
  width:100%;
  min-height:46px;
  margin:0;
  border:1px solid rgba(75,111,158,.34);
  border-radius:11px;
  outline:none;
  background:#0a1729;
  color:#eef5ff;
  font:inherit;
  font-size:13px;
}

.fpsj-theme .fpsj-settings-hub__search input[type="search"] {
  padding:0 15px;
}

.fpsj-theme .fpsj-settings-hub__search input[type="search"]::placeholder {
  color:#667b98;
}

.fpsj-theme .fpsj-settings-hub__search select {
  padding:0 12px;
  cursor:pointer;
}

.fpsj-theme .fpsj-settings-hub__search input[type="search"]:focus,
.fpsj-theme .fpsj-settings-hub__search select:focus {
  border-color:rgba(49,215,255,.62);
}

.fpsj-theme .fpsj-settings-hub__search button,
.fpsj-theme .fpsj-settings-hub__clear {
  display:inline-grid;
  place-items:center;
  min-height:46px;
  margin:0;
  padding:0 17px;
  border:1px solid rgba(49,215,255,.42);
  border-radius:11px;
  background:#0b2035;
  color:#eaf8ff;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}

.fpsj-theme .fpsj-settings-hub__clear {
  border-color:rgba(75,111,158,.28);
  background:#081426;
  color:#8297b1;
}

.fpsj-theme .fpsj-settings-hub__game-filter {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.fpsj-theme .fpsj-settings-hub__game-filter > a {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:10px;
  background:#081426;
  color:#b9c8db;
  text-decoration:none;
}

.fpsj-theme .fpsj-settings-hub__game-filter > a.is-active {
  border-color:rgba(49,215,255,.52);
  background:linear-gradient(135deg,rgba(52,120,255,.13),rgba(49,215,255,.07));
  color:#f7faff;
}

.fpsj-theme .fpsj-settings-hub__game-filter b {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:7px;
  background:rgba(52,120,255,.12);
  color:#31d7ff;
  font-size:8px;
}

.fpsj-theme .fpsj-settings-hub__game-filter span {
  overflow:hidden;
  font-size:10px;
  font-weight:820;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-settings-hub__topic-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.fpsj-theme .fpsj-settings-hub__topic-grid > a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:15px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-settings-hub__topic-grid > a.is-active {
  border-color:rgba(49,215,255,.50);
  background:linear-gradient(135deg,rgba(52,120,255,.13),rgba(49,215,255,.06));
}

.fpsj-theme .fpsj-settings-hub__topic-grid b {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(52,120,255,.12);
  color:#31d7ff;
  font-size:9px;
}

.fpsj-theme .fpsj-settings-hub__topic-grid span {
  display:grid;
  min-width:0;
  gap:3px;
}

.fpsj-theme .fpsj-settings-hub__topic-grid small {
  color:#7186a2;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
}

.fpsj-theme .fpsj-settings-hub__topic-grid strong {
  display:-webkit-box;
  overflow:hidden;
  min-height:2.5em;
  font-size:13px;
  line-height:1.25;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.fpsj-theme .fpsj-settings-hub__topic-grid i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-settings-hub__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-settings-card {
  min-width:0;
  margin:0;
}

.fpsj-theme .fpsj-settings-card__link {
  display:grid;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-settings-card__media {
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%,rgba(49,215,255,.10),transparent 45%),
    #071426;
}

.fpsj-theme .fpsj-settings-card__media img {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  object-position:center;
  transition:filter .2s ease;
}

.fpsj-theme .fpsj-settings-card__link:hover .fpsj-settings-card__media img,
.fpsj-theme .fpsj-settings-card__link:focus-visible .fpsj-settings-card__media img {
  transform:none;
  filter:saturate(1.025);
}

.fpsj-theme .fpsj-settings-card__fallback {
  color:#31d7ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.fpsj-theme .fpsj-settings-card__body {
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:7px;
  min-height:132px;
  padding:13px 14px 14px;
}

.fpsj-theme .fpsj-settings-card__body > small {
  color:#31d7ff;
  font-size:8px;
  font-weight:850;
  letter-spacing:.11em;
}

.fpsj-theme .fpsj-settings-card__body > strong {
  display:-webkit-box;
  overflow:hidden;
  color:#f7faff;
  font-size:13px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.fpsj-theme .fpsj-settings-card__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:9px;
  border-top:1px solid rgba(67,107,162,.14);
  color:#758aa6;
  font-size:9px;
  font-weight:750;
}

.fpsj-theme .fpsj-settings-card__meta i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-settings-hub__empty {
  display:grid;
  place-items:center;
  gap:6px;
  min-height:180px;
  border:1px dashed rgba(75,111,158,.30);
  border-radius:14px;
  color:#8094ae;
  text-align:center;
}

.fpsj-theme .fpsj-settings-hub__empty strong {
  color:#c7d7eb;
  font-size:11px;
  letter-spacing:.12em;
}

.fpsj-theme .fpsj-settings-hub__pagination {
  margin-top:20px;
}

.fpsj-theme .fpsj-settings-hub__pagination .page-numbers {
  display:flex;
  justify-content:center;
  gap:7px;
  padding:0;
  list-style:none;
}

.fpsj-theme .fpsj-settings-hub__pagination a,
.fpsj-theme .fpsj-settings-hub__pagination span {
  display:grid;
  place-items:center;
  min-width:36px;
  min-height:36px;
  border:1px solid rgba(67,107,162,.26);
  border-radius:9px;
  background:#081426;
  color:#afc0d6;
  text-decoration:none;
}

.fpsj-theme .fpsj-settings-hub__pagination .current {
  border-color:rgba(49,215,255,.5);
  color:#f7faff;
}

.fpsj-theme .fpsj-settings-hub__related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-settings-hub__related-grid > a {
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  padding:18px;
  border:1px solid rgba(67,107,162,.25);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-settings-hub__related-grid small {
  grid-column:1/-1;
  color:#31d7ff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
}

.fpsj-theme .fpsj-settings-hub__related-grid strong {
  font-size:14px;
}

.fpsj-theme .fpsj-settings-hub__related-grid i {
  color:#31d7ff;
  font-style:normal;
}

@media (max-width:900px) {
  .fpsj-theme .fpsj-settings-hub__game-filter {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-settings-hub__topic-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-settings-hub__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px) {
  .fpsj-theme .fpsj-settings-landing-hero__row {
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
  }

  .fpsj-theme .fpsj-settings-landing-hero__count {
    justify-self:start;
    min-width:104px;
  }

  .fpsj-theme .fpsj-settings-hub__controls,
  .fpsj-theme .fpsj-settings-hub__topics,
  .fpsj-theme .fpsj-settings-hub__listing,
  .fpsj-theme .fpsj-settings-hub__related {
    padding:18px 0;
    background:transparent;
  }

  .fpsj-theme .fpsj-settings-hub__controls-head > small {
    display:none;
  }

  .fpsj-theme .fpsj-settings-hub__search {
    grid-template-columns:minmax(0,1fr) 104px auto;
  }

  .fpsj-theme .fpsj-settings-hub__clear {
    grid-column:1/-1;
    min-height:38px;
  }

  .fpsj-theme .fpsj-settings-hub__game-filter {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .fpsj-theme .fpsj-settings-hub__game-filter > a {
    padding:8px;
  }

  .fpsj-theme .fpsj-settings-hub__topic-grid {
    gap:8px;
  }

  .fpsj-theme .fpsj-settings-hub__grid {
    grid-template-columns:1fr;
    gap:10px;
  }

  .fpsj-theme .fpsj-settings-card__link {
    grid-template-columns:132px minmax(0,1fr);
  }

  .fpsj-theme .fpsj-settings-card__media {
    aspect-ratio:auto;
    min-height:132px;
  }

  .fpsj-theme .fpsj-settings-hub__related-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:430px) {
  .fpsj-theme .fpsj-settings-hub__search {
    grid-template-columns:1fr auto;
  }

  .fpsj-theme .fpsj-settings-hub__search > label:first-child {
    grid-column:1/-1;
  }

  .fpsj-theme .fpsj-settings-hub__topic-grid {
    grid-template-columns:1fr;
  }
}

.editor-styles-wrapper .fpsj-settings-landing-hero,
.editor-styles-wrapper .fpsj-settings-hub {
  color:#f7faff;
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-settings-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-settings-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}


/* Device Landing / v0.4.120 */
.fpsj-theme .fpsj-device-landing-hero__row {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
}

.fpsj-theme .fpsj-device-landing-hero__count {
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:7px;
  min-width:124px;
  padding:13px 15px;
  border:1px solid rgba(49,215,255,.20);
  border-radius:13px;
  background:rgba(5,14,27,.56);
  backdrop-filter:blur(10px);
}

.fpsj-theme .fpsj-device-landing-hero__count strong {
  color:#f7faff;
  font-size:28px;
  line-height:.9;
}

.fpsj-theme .fpsj-device-landing-hero__count span {
  padding-bottom:1px;
  color:#78dfff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-device-hub {
  display:grid;
  gap:24px;
}

.fpsj-theme .fpsj-device-hub__controls,
.fpsj-theme .fpsj-device-hub__categories,
.fpsj-theme .fpsj-device-hub__listing,
.fpsj-theme .fpsj-device-hub__related {
  padding:22px 24px 24px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,19,35,.62),rgba(5,11,20,0));
}

.fpsj-theme .fpsj-device-hub__controls-head,
.fpsj-theme .fpsj-device-hub__section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.fpsj-theme .fpsj-device-hub__controls-head span,
.fpsj-theme .fpsj-device-hub__section-head span {
  display:block;
  margin-bottom:4px;
  color:#31d7ff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-device-hub__controls-head h2,
.fpsj-theme .fpsj-device-hub__section-head h2 {
  margin:0;
  color:#f7faff;
  font-size:22px;
  line-height:1.2;
}

.fpsj-theme .fpsj-device-hub__controls-head > small,
.fpsj-theme .fpsj-device-hub__section-head > small {
  color:#7185a2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}

.fpsj-theme .fpsj-device-hub__search {
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px auto auto;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}

.fpsj-theme .fpsj-device-hub__search label {
  min-width:0;
}

.fpsj-theme .fpsj-device-hub__search input[type="search"],
.fpsj-theme .fpsj-device-hub__search select {
  width:100%;
  min-height:46px;
  margin:0;
  border:1px solid rgba(75,111,158,.34);
  border-radius:11px;
  outline:none;
  background:#0a1729;
  color:#eef5ff;
  font:inherit;
  font-size:13px;
}

.fpsj-theme .fpsj-device-hub__search input[type="search"] {
  padding:0 15px;
}

.fpsj-theme .fpsj-device-hub__search input[type="search"]::placeholder {
  color:#667b98;
}

.fpsj-theme .fpsj-device-hub__search select {
  padding:0 12px;
  cursor:pointer;
}

.fpsj-theme .fpsj-device-hub__search input[type="search"]:focus,
.fpsj-theme .fpsj-device-hub__search select:focus {
  border-color:rgba(49,215,255,.62);
}

.fpsj-theme .fpsj-device-hub__search button,
.fpsj-theme .fpsj-device-hub__clear {
  display:inline-grid;
  place-items:center;
  min-height:46px;
  margin:0;
  padding:0 17px;
  border:1px solid rgba(49,215,255,.42);
  border-radius:11px;
  background:#0b2035;
  color:#eaf8ff;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}

.fpsj-theme .fpsj-device-hub__clear {
  border-color:rgba(75,111,158,.28);
  background:#081426;
  color:#8297b1;
}

.fpsj-theme .fpsj-device-hub__category-filter {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}

.fpsj-theme .fpsj-device-hub__category-filter > a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:10px;
  background:#081426;
  color:#b9c8db;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-hub__category-filter > a.is-active {
  border-color:rgba(49,215,255,.52);
  background:linear-gradient(135deg,rgba(52,120,255,.13),rgba(49,215,255,.07));
  color:#f7faff;
}

.fpsj-theme .fpsj-device-hub__category-filter b {
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:7px;
  background:rgba(52,120,255,.12);
  color:#31d7ff;
  font-size:7px;
}

.fpsj-theme .fpsj-device-hub__category-filter span {
  overflow:hidden;
  font-size:9px;
  font-weight:820;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-device-hub__category-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.fpsj-theme .fpsj-device-hub__category-grid > a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:15px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-hub__category-grid b {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:10px;
  background:rgba(52,120,255,.12);
  color:#31d7ff;
  font-size:9px;
  letter-spacing:.05em;
}

.fpsj-theme .fpsj-device-hub__category-grid > a > span {
  display:grid;
  min-width:0;
  gap:3px;
}

.fpsj-theme .fpsj-device-hub__category-grid small {
  color:#7186a2;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
}

.fpsj-theme .fpsj-device-hub__category-grid strong {
  overflow:hidden;
  font-size:13px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-device-hub__category-grid i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-device-hub__grid--models {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.fpsj-theme .fpsj-device-card {
  min-width:0;
  margin:0;
}

.fpsj-theme .fpsj-device-card__link {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:13px;
  min-height:174px;
  height:100%;
  padding:15px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-card__mark {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:11px;
  background:linear-gradient(135deg,rgba(52,120,255,.16),rgba(49,215,255,.08));
  color:#31d7ff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

.fpsj-theme .fpsj-device-card__body {
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  min-width:0;
  gap:6px;
}

.fpsj-theme .fpsj-device-card__body > small {
  overflow:hidden;
  color:#7793b6;
  font-size:8px;
  font-weight:850;
  letter-spacing:.1em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.fpsj-theme .fpsj-device-card__body > strong {
  display:-webkit-box;
  overflow:hidden;
  color:#f7faff;
  font-size:14px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.fpsj-theme .fpsj-device-card__chips {
  display:flex;
  align-content:start;
  flex-wrap:wrap;
  gap:5px;
}

.fpsj-theme .fpsj-device-card__chips > span {
  max-width:100%;
  overflow:hidden;
  padding:4px 6px;
  border:1px solid rgba(67,107,162,.17);
  border-radius:999px;
  background:rgba(52,120,255,.06);
  color:#8fa5bf;
  font-size:8px;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-device-card__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:9px;
  border-top:1px solid rgba(67,107,162,.14);
  color:#8ba0ba;
}

.fpsj-theme .fpsj-device-card__footer small {
  font-size:9px;
  font-weight:800;
}

.fpsj-theme .fpsj-device-card__footer i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-device-hub__grid--articles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-device-article-card {
  min-width:0;
  margin:0;
}

.fpsj-theme .fpsj-device-article-card__link {
  display:grid;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-article-card__media {
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%,rgba(49,215,255,.10),transparent 45%),
    #071426;
}

.fpsj-theme .fpsj-device-article-card__media img {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  object-position:center;
  transition:filter .2s ease;
}

.fpsj-theme .fpsj-device-article-card__link:hover .fpsj-device-article-card__media img,
.fpsj-theme .fpsj-device-article-card__link:focus-visible .fpsj-device-article-card__media img {
  transform:none;
  filter:saturate(1.025);
}

.fpsj-theme .fpsj-device-article-card__fallback {
  color:#31d7ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.fpsj-theme .fpsj-device-article-card__body {
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:7px;
  min-height:132px;
  padding:13px 14px 14px;
}

.fpsj-theme .fpsj-device-article-card__body > small {
  color:#31d7ff;
  font-size:8px;
  font-weight:850;
  letter-spacing:.11em;
}

.fpsj-theme .fpsj-device-article-card__body > strong {
  display:-webkit-box;
  overflow:hidden;
  color:#f7faff;
  font-size:13px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.fpsj-theme .fpsj-device-article-card__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:9px;
  border-top:1px solid rgba(67,107,162,.14);
  color:#758aa6;
  font-size:9px;
  font-weight:750;
}

.fpsj-theme .fpsj-device-article-card__meta i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-device-hub__empty {
  display:grid;
  place-items:center;
  gap:6px;
  min-height:180px;
  border:1px dashed rgba(75,111,158,.30);
  border-radius:14px;
  color:#8094ae;
  text-align:center;
}

.fpsj-theme .fpsj-device-hub__empty strong {
  color:#c7d7eb;
  font-size:11px;
  letter-spacing:.12em;
}

.fpsj-theme .fpsj-device-hub__pagination {
  margin-top:20px;
}

.fpsj-theme .fpsj-device-hub__pagination .page-numbers {
  display:flex;
  justify-content:center;
  gap:7px;
  padding:0;
  list-style:none;
}

.fpsj-theme .fpsj-device-hub__pagination a,
.fpsj-theme .fpsj-device-hub__pagination span {
  display:grid;
  place-items:center;
  min-width:36px;
  min-height:36px;
  border:1px solid rgba(67,107,162,.26);
  border-radius:9px;
  background:#081426;
  color:#afc0d6;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-hub__pagination .current {
  border-color:rgba(49,215,255,.5);
  color:#f7faff;
}

.fpsj-theme .fpsj-device-hub__related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-device-hub__related-grid > a {
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  padding:18px;
  border:1px solid rgba(67,107,162,.25);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-device-hub__related-grid small {
  grid-column:1/-1;
  color:#31d7ff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
}

.fpsj-theme .fpsj-device-hub__related-grid strong {
  font-size:14px;
}

.fpsj-theme .fpsj-device-hub__related-grid i {
  color:#31d7ff;
  font-style:normal;
}

@media (max-width:1000px) {
  .fpsj-theme .fpsj-device-hub__category-filter {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-device-hub__grid--models {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:900px) {
  .fpsj-theme .fpsj-device-hub__category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-device-hub__grid--articles {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px) {
  .fpsj-theme .fpsj-device-landing-hero__row {
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
  }

  .fpsj-theme .fpsj-device-landing-hero__count {
    justify-self:start;
    min-width:104px;
  }

  .fpsj-theme .fpsj-device-hub__controls,
  .fpsj-theme .fpsj-device-hub__categories,
  .fpsj-theme .fpsj-device-hub__listing,
  .fpsj-theme .fpsj-device-hub__related {
    padding:18px 0;
    background:transparent;
  }

  .fpsj-theme .fpsj-device-hub__controls-head > small {
    display:none;
  }

  .fpsj-theme .fpsj-device-hub__search {
    grid-template-columns:minmax(0,1fr) 104px auto;
  }

  .fpsj-theme .fpsj-device-hub__clear {
    grid-column:1/-1;
    min-height:38px;
  }

  .fpsj-theme .fpsj-device-hub__category-filter {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .fpsj-theme .fpsj-device-hub__category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .fpsj-theme .fpsj-device-hub__grid--models {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .fpsj-theme .fpsj-device-card__link {
    grid-template-columns:1fr;
    min-height:188px;
    padding:12px;
  }

  .fpsj-theme .fpsj-device-card__mark {
    width:38px;
    height:38px;
  }

  .fpsj-theme .fpsj-device-hub__grid--articles {
    grid-template-columns:1fr;
    gap:10px;
  }

  .fpsj-theme .fpsj-device-article-card__link {
    grid-template-columns:132px minmax(0,1fr);
  }

  .fpsj-theme .fpsj-device-article-card__media {
    aspect-ratio:auto;
    min-height:132px;
  }

  .fpsj-theme .fpsj-device-hub__related-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:430px) {
  .fpsj-theme .fpsj-device-hub__search {
    grid-template-columns:1fr auto;
  }

  .fpsj-theme .fpsj-device-hub__search > label:first-child {
    grid-column:1/-1;
  }

  .fpsj-theme .fpsj-device-hub__category-filter {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-device-hub__category-grid {
    grid-template-columns:1fr;
  }
}

.editor-styles-wrapper .fpsj-device-landing-hero,
.editor-styles-wrapper .fpsj-device-hub {
  color:#f7faff;
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-device-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-device-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}


/* ============================================================
   VALORANT GAME LANDING — v0.4.121
   ============================================================ */

.fpsj-theme .fpsj-game-landing-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);
  align-items:center;
  min-height:330px;
  overflow:hidden;
  border:1px solid rgba(49,215,255,.18);
  border-radius:22px;
  background:
    radial-gradient(circle at 76% 28%,rgba(255,70,92,.15),transparent 34%),
    radial-gradient(circle at 18% 0,rgba(52,120,255,.16),transparent 42%),
    linear-gradient(145deg,#0b172b 0%,#071321 58%,#050b14 100%);
}

.fpsj-theme .fpsj-game-landing-hero::after {
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,#050b14 98%);
  content:"";
  pointer-events:none;
}

.fpsj-theme .fpsj-game-landing-hero__copy {
  position:relative;
  z-index:2;
  display:grid;
  align-content:center;
  gap:12px;
  padding:42px 0 46px 42px;
}

.fpsj-theme .fpsj-game-landing-hero__eyebrow {
  margin:0;
  color:#31d7ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.fpsj-theme .fpsj-game-landing-hero__title {
  margin:0;
  color:#f7faff;
  font-size:clamp(44px,6vw,72px);
  font-weight:950;
  line-height:.95;
  letter-spacing:-.045em;
}

.fpsj-theme .fpsj-game-landing-hero__lead {
  max-width:650px;
  margin:2px 0 0;
  color:#9fb2ca;
  font-size:14px;
  line-height:1.8;
}

.fpsj-theme .fpsj-game-landing-hero__meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}

.fpsj-theme .fpsj-game-landing-hero__meta > span {
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:126px;
  padding:10px 12px;
  border:1px solid rgba(49,215,255,.18);
  border-radius:11px;
  background:rgba(5,14,27,.62);
}

.fpsj-theme .fpsj-game-landing-hero__meta strong {
  color:#f7faff;
  font-size:18px;
  line-height:1;
}

.fpsj-theme .fpsj-game-landing-hero__meta small {
  color:#72dfff;
  font-size:8px;
  font-weight:850;
  letter-spacing:.12em;
}

.fpsj-theme .fpsj-game-landing-hero__visual {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:stretch;
  min-height:330px;
  padding:24px 24px 34px 4px;
}

.fpsj-theme .fpsj-game-landing-hero__halo {
  position:absolute;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,67,87,.18),rgba(52,120,255,.08) 48%,transparent 70%);
  filter:blur(2px);
}

.fpsj-theme .fpsj-game-landing-hero__visual img {
  position:relative;
  z-index:1;
  display:block;
  width:min(220px,78%);
  max-height:292px;
  margin:0;
  object-fit:contain;
  filter:drop-shadow(0 24px 38px rgba(0,0,0,.42));
}

.fpsj-theme .fpsj-game-hub {
  display:grid;
  gap:24px;
}

.fpsj-theme .fpsj-game-hub__routes,
.fpsj-theme .fpsj-game-hub__settings,
.fpsj-theme .fpsj-game-hub__articles,
.fpsj-theme .fpsj-game-hub__tools {
  padding:22px 24px 24px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,19,35,.64),rgba(5,11,20,0));
}

.fpsj-theme .fpsj-game-hub__section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.fpsj-theme .fpsj-game-hub__section-head span {
  display:block;
  margin-bottom:4px;
  color:#31d7ff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
}

.fpsj-theme .fpsj-game-hub__section-head h2 {
  margin:0;
  color:#f7faff;
  font-size:22px;
  line-height:1.2;
}

.fpsj-theme .fpsj-game-hub__section-head > small,
.fpsj-theme .fpsj-game-hub__section-head > a {
  color:#7890ad;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}

.fpsj-theme .fpsj-game-hub__section-head > a:hover,
.fpsj-theme .fpsj-game-hub__section-head > a:focus-visible {
  color:#31d7ff;
}

.fpsj-theme .fpsj-game-hub__route-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.fpsj-theme .fpsj-game-hub__route-grid > a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-width:0;
  min-height:112px;
  padding:15px;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,67,87,.06),transparent 45%),
    #081426;
  color:#f7faff;
  text-decoration:none;
  transition:border-color .16s ease,transform .16s ease,background .16s ease;
}

.fpsj-theme .fpsj-game-hub__route-grid > a:hover,
.fpsj-theme .fpsj-game-hub__route-grid > a:focus-visible {
  border-color:rgba(49,215,255,.46);
  background:
    radial-gradient(circle at 100% 0,rgba(49,215,255,.09),transparent 45%),
    #0a182c;
  transform:translateY(-2px);
}

.fpsj-theme .fpsj-game-hub__route-grid b,
.fpsj-theme .fpsj-game-hub__setting-grid b {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,67,87,.14),rgba(52,120,255,.14));
  color:#31d7ff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
}

.fpsj-theme .fpsj-game-hub__route-grid > a > span {
  display:grid;
  min-width:0;
  gap:2px;
}

.fpsj-theme .fpsj-game-hub__route-grid small,
.fpsj-theme .fpsj-game-hub__setting-grid small,
.fpsj-theme .fpsj-game-hub__tool-grid small {
  color:#6f89aa;
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
}

.fpsj-theme .fpsj-game-hub__route-grid strong {
  font-size:15px;
  line-height:1.2;
}

.fpsj-theme .fpsj-game-hub__route-grid em {
  overflow:hidden;
  color:#8398b3;
  font-size:9px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-game-hub__route-grid i,
.fpsj-theme .fpsj-game-hub__setting-grid i,
.fpsj-theme .fpsj-game-hub__tool-grid i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-game-hub__setting-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.fpsj-theme .fpsj-game-hub__setting-grid > a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(67,107,162,.22);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-game-hub__setting-grid > a > span {
  display:grid;
  min-width:0;
  gap:2px;
}

.fpsj-theme .fpsj-game-hub__setting-grid strong {
  overflow:hidden;
  font-size:12px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-game-hub__article-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.fpsj-theme .fpsj-game-article-card {
  min-width:0;
  margin:0;
}

.fpsj-theme .fpsj-game-article-card__link {
  display:grid;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(67,107,162,.24);
  border-radius:14px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-game-article-card__media {
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,67,87,.12),transparent 44%),
    #071426;
}

.fpsj-theme .fpsj-game-article-card__media img {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  object-position:center;
  transition:filter .2s ease;
}

.fpsj-theme .fpsj-game-article-card__link:hover .fpsj-game-article-card__media img,
.fpsj-theme .fpsj-game-article-card__link:focus-visible .fpsj-game-article-card__media img {
  transform:none;
  filter:saturate(1.025);
}

.fpsj-theme .fpsj-game-article-card__fallback {
  color:#31d7ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.fpsj-theme .fpsj-game-article-card__body {
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:7px;
  min-height:130px;
  padding:13px 14px 14px;
}

.fpsj-theme .fpsj-game-article-card__body > small {
  color:#31d7ff;
  font-size:8px;
  font-weight:850;
  letter-spacing:.11em;
}

.fpsj-theme .fpsj-game-article-card__body > strong {
  display:-webkit-box;
  overflow:hidden;
  color:#f7faff;
  font-size:13px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.fpsj-theme .fpsj-game-article-card__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:9px;
  border-top:1px solid rgba(67,107,162,.14);
  color:#758aa6;
  font-size:9px;
  font-weight:750;
}

.fpsj-theme .fpsj-game-article-card__meta i {
  color:#31d7ff;
  font-style:normal;
}

.fpsj-theme .fpsj-game-hub__tool-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.fpsj-theme .fpsj-game-hub__tool-grid > a {
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 12px;
  min-width:0;
  padding:17px;
  border:1px solid rgba(67,107,162,.23);
  border-radius:13px;
  background:#081426;
  color:#f7faff;
  text-decoration:none;
}

.fpsj-theme .fpsj-game-hub__tool-grid small {
  grid-column:1/-1;
  color:#8c63ff;
}

.fpsj-theme .fpsj-game-hub__tool-grid strong {
  overflow:hidden;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpsj-theme .fpsj-game-hub__empty {
  display:grid;
  place-items:center;
  gap:6px;
  min-height:160px;
  border:1px dashed rgba(75,111,158,.30);
  border-radius:14px;
  color:#8094ae;
  text-align:center;
}

.fpsj-theme .fpsj-game-hub__empty strong {
  color:#c7d7eb;
  font-size:11px;
  letter-spacing:.12em;
}

@media (max-width:900px) {
  .fpsj-theme .fpsj-game-landing-hero {
    grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
  }

  .fpsj-theme .fpsj-game-hub__route-grid,
  .fpsj-theme .fpsj-game-hub__setting-grid,
  .fpsj-theme .fpsj-game-hub__tool-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fpsj-theme .fpsj-game-hub__article-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px) {
  .fpsj-theme .fpsj-game-landing-hero {
    grid-template-columns:1fr 112px;
    min-height:250px;
  }

  .fpsj-theme .fpsj-game-landing-hero__copy {
    padding:28px 0 34px 22px;
  }

  .fpsj-theme .fpsj-game-landing-hero__title {
    font-size:clamp(38px,13vw,54px);
  }

  .fpsj-theme .fpsj-game-landing-hero__lead {
    font-size:12px;
    line-height:1.65;
  }

  .fpsj-theme .fpsj-game-landing-hero__meta {
    gap:6px;
  }

  .fpsj-theme .fpsj-game-landing-hero__meta > span {
    min-width:0;
    padding:8px 9px;
  }

  .fpsj-theme .fpsj-game-landing-hero__meta strong {
    font-size:14px;
  }

  .fpsj-theme .fpsj-game-landing-hero__visual {
    min-height:250px;
    padding:20px 12px 30px 0;
  }

  .fpsj-theme .fpsj-game-landing-hero__visual img {
    width:100%;
    max-height:205px;
  }

  .fpsj-theme .fpsj-game-hub__routes,
  .fpsj-theme .fpsj-game-hub__settings,
  .fpsj-theme .fpsj-game-hub__articles,
  .fpsj-theme .fpsj-game-hub__tools {
    padding:18px 0;
    background:transparent;
  }

  .fpsj-theme .fpsj-game-hub__section-head > small {
    display:none;
  }

  .fpsj-theme .fpsj-game-hub__route-grid,
  .fpsj-theme .fpsj-game-hub__setting-grid,
  .fpsj-theme .fpsj-game-hub__tool-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .fpsj-theme .fpsj-game-hub__route-grid > a {
    grid-template-columns:1fr auto;
    min-height:116px;
    padding:12px;
  }

  .fpsj-theme .fpsj-game-hub__route-grid b {
    grid-column:1/-1;
  }

  .fpsj-theme .fpsj-game-hub__route-grid em {
    white-space:normal;
  }

  .fpsj-theme .fpsj-game-hub__setting-grid > a {
    grid-template-columns:1fr auto;
    min-height:94px;
    padding:12px;
  }

  .fpsj-theme .fpsj-game-hub__setting-grid b {
    grid-column:1/-1;
  }

  .fpsj-theme .fpsj-game-hub__article-grid {
    grid-template-columns:1fr;
    gap:10px;
  }

  .fpsj-theme .fpsj-game-article-card__link {
    grid-template-columns:132px minmax(0,1fr);
  }

  .fpsj-theme .fpsj-game-article-card__media {
    aspect-ratio:auto;
    min-height:132px;
  }
}

@media (max-width:430px) {
  .fpsj-theme .fpsj-game-landing-hero {
    grid-template-columns:1fr;
  }

  .fpsj-theme .fpsj-game-landing-hero__copy {
    padding:26px 20px 8px;
  }

  .fpsj-theme .fpsj-game-landing-hero__title {
    font-size:clamp(42px,14vw,56px);
  }

  .fpsj-theme .fpsj-game-landing-hero__visual {
    min-height:158px;
    padding:0 20px 26px;
  }

  .fpsj-theme .fpsj-game-landing-hero__visual img {
    width:min(136px,44%);
    max-height:150px;
  }

  .fpsj-theme .fpsj-game-hub__route-grid,
  .fpsj-theme .fpsj-game-hub__setting-grid,
  .fpsj-theme .fpsj-game-hub__tool-grid {
    grid-template-columns:1fr;
  }
}

.editor-styles-wrapper .fpsj-game-landing-hero,
.editor-styles-wrapper .fpsj-game-hub {
  color:#f7faff;
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-valorant-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-valorant-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}



/* Apex Legends game landing accent — v0.4.122 */
.fpsj-theme .fpsj-apex-landing-hero {
  background:
    radial-gradient(circle at 76% 28%,rgba(255,116,64,.16),transparent 34%),
    radial-gradient(circle at 18% 0,rgba(52,120,255,.14),transparent 42%),
    linear-gradient(145deg,#0b172b 0%,#071321 58%,#050b14 100%);
}

.fpsj-theme .fpsj-apex-landing-hero .fpsj-game-landing-hero__halo {
  background:radial-gradient(circle,rgba(255,116,64,.19),rgba(52,120,255,.07) 48%,transparent 70%);
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-apex-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-apex-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}

/* CS2 game landing accent — v0.4.123 */
.fpsj-theme .fpsj-cs2-landing-hero {
  background:
    radial-gradient(circle at 76% 28%,rgba(255,159,67,.17),transparent 34%),
    radial-gradient(circle at 18% 0,rgba(52,120,255,.13),transparent 42%),
    linear-gradient(145deg,#0b172b 0%,#071321 58%,#050b14 100%);
}

.fpsj-theme .fpsj-cs2-landing-hero .fpsj-game-landing-hero__halo {
  background:radial-gradient(circle,rgba(255,159,67,.20),rgba(52,120,255,.06) 48%,transparent 70%);
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-cs2-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-cs2-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}

/* OVERWATCH game landing accent — v0.4.126 */
.fpsj-theme .fpsj-overwatch-landing-hero {
  background:
    radial-gradient(circle at 76% 28%,rgba(49,215,255,.17),transparent 34%),
    radial-gradient(circle at 18% 0,rgba(140,99,255,.14),transparent 42%),
    linear-gradient(145deg,#0b172b 0%,#071321 58%,#050b14 100%);
}

.fpsj-theme .fpsj-overwatch-landing-hero .fpsj-game-landing-hero__halo {
  background:radial-gradient(circle,rgba(49,215,255,.20),rgba(140,99,255,.07) 48%,transparent 70%);
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-overwatch-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-overwatch-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}

/* FORTNITE game landing accent — v0.4.127 */
.fpsj-theme .fpsj-fortnite-landing-hero {
  background:
    radial-gradient(circle at 76% 28%,rgba(140,99,255,.18),transparent 34%),
    radial-gradient(circle at 18% 0,rgba(49,215,255,.12),transparent 42%),
    linear-gradient(145deg,#0b172b 0%,#071321 58%,#050b14 100%);
}

.fpsj-theme .fpsj-fortnite-landing-hero .fpsj-game-landing-hero__halo {
  background:radial-gradient(circle,rgba(140,99,255,.21),rgba(49,215,255,.07) 48%,transparent 70%);
}

.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-fortnite-hero,
.editor-styles-wrapper .fpsj-editor-dynamic-preview--fpsj-fortnite-hub {
  width:min(1040px,calc(100% - 2rem));
  margin-inline:auto;
}

/* =========================================================
   Responsive + common UI final audit — v0.4.129
   Keeps approved desktop geometry intact and only hardens narrow
   viewport behavior for already-approved Landing components.
   ========================================================= */

.fpsj-theme .fpsj-landing-shell,
.fpsj-theme .fpsj-player-hub,
.fpsj-theme .fpsj-settings-hub,
.fpsj-theme .fpsj-device-hub,
.fpsj-theme .fpsj-game-hub {
  min-width:0;
}

.fpsj-theme .fpsj-landing-page img {
  max-width:100%;
}

@media (max-width:680px) {
  /* Match the Settings Landing two-line control label treatment. */
  .fpsj-theme .fpsj-game-hub__setting-grid strong {
    display:-webkit-box;
    overflow:hidden;
    min-height:2.5em;
    line-height:1.25;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
}

@media (max-width:430px) {
  /* Six game filters are easier to scan and tap as three rows of two. */
  .fpsj-theme .fpsj-settings-hub__game-filter {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:360px) {
  /* Very narrow phones: keep editorial cards readable instead of squeezing
     a fixed 132px thumbnail beside a tiny text column. */
  .fpsj-theme .fpsj-settings-card__link,
  .fpsj-theme .fpsj-device-article-card__link,
  .fpsj-theme .fpsj-game-article-card__link {
    grid-template-columns:1fr;
  }

  .fpsj-theme .fpsj-settings-card__media,
  .fpsj-theme .fpsj-device-article-card__media,
  .fpsj-theme .fpsj-game-article-card__media {
    min-height:0;
    aspect-ratio:16 / 9;
  }
}


/* =========================================================
   Mobile editorial-card media refinement / v0.4.130
   Full-width 16:9 media avoids the cramped fixed-left thumbnail layout
   seen on common 375–430px phone widths.
   ========================================================= */
@media (max-width:520px) {
  .fpsj-theme .fpsj-settings-card__link,
  .fpsj-theme .fpsj-device-article-card__link,
  .fpsj-theme .fpsj-game-article-card__link {
    grid-template-columns:1fr;
  }

  .fpsj-theme .fpsj-settings-card__media,
  .fpsj-theme .fpsj-device-article-card__media,
  .fpsj-theme .fpsj-game-article-card__media {
    width:100%;
    min-height:0;
    aspect-ratio:16 / 9;
  }

  .fpsj-theme .fpsj-settings-card__body,
  .fpsj-theme .fpsj-device-article-card__body,
  .fpsj-theme .fpsj-game-article-card__body {
    min-height:0;
  }

  .fpsj-theme .fpsj-settings-card__body > strong,
  .fpsj-theme .fpsj-device-article-card__body > strong,
  .fpsj-theme .fpsj-game-article-card__body > strong {
    -webkit-line-clamp:3;
  }
}
