/*
Theme Name: Про Стримеров
Theme URI: https://example.com/pro-streamerov
Author: ProStrimerov
Description: Статическая WordPress-тема по дизайн-макетам главной страницы и профиля стримера.
Version: 1.1.14
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pro-streamerov
Domain Path: /languages
*/

/*
 * Ручные переопределения темы размещаются здесь.
 * Стили, перенесённые из макетов, находятся в assets/css/prototype.css.
 */

/* Server-rendered catalogues and home page. */
.ps-site-header,
.ps-site-header input,
.ps-site-header button {
  font-family: 'Manrope', sans-serif
}

.ps-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 32px clamp(16px, 4vw, 40px) 72px;
  color: oklch(96% .008 290);
  font-family: 'Manrope', sans-serif
}

.ps-page header>h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 40px);
  letter-spacing: -.025em
}

.ps-page header>p {
  margin: 8px 0 0;
  color: oklch(70% .02 290)
}

.ps-home {
  display: grid;
  gap: 40px
}

.ps-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: center;
  gap: clamp(24px, 6vw, 72px);
  min-height: 390px;
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid oklch(27% .02 290);
  border-radius: 22px;
  background: radial-gradient(600px 320px at 12% 0%, oklch(62% .19 300/.18), transparent), oklch(17% .02 290)
}

.ps-eyebrow {
  margin: 0 0 12px;
  color: oklch(76% .15 300);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em
}

.ps-home-hero h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(34px, 5.5vw, 64px);
  line-height: 1.07;
  letter-spacing: -.04em
}

.ps-home-hero h1 span {
  color: oklch(75% .16 300)
}

.ps-home-hero h1+p {
  max-width: 620px;
  margin: 18px 0 0;
  color: oklch(72% .02 290);
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.6
}

.ps-home-search {
  display: flex;
  gap: 9px;
  max-width: 560px;
  margin-top: 26px
}

.ps-home-search input,
.ps-catalog-filter input,
.ps-catalog-filter select {
  width: 100%;
  height: 44px;
  border: 1px solid oklch(32% .02 290);
  border-radius: 10px;
  background: oklch(20% .018 290);
  color: inherit;
  padding: 0 13px;
  font: inherit
}

.ps-home-search input {
  flex: 1
}

.ps-home-search button,
.ps-catalog-filter button {
  border: 0;
  border-radius: 10px;
  background: oklch(62% .19 300);
  color: #fff;
  padding: 0 20px;
  font: 800 13px 'Manrope', sans-serif;
  cursor: pointer
}

.ps-featured-stack {
  position: relative;
  width: min(100%, 420px);
  height: 320px;
  margin-inline: auto
}

.ps-featured-card {
  position: absolute;
  top: 28px;
  width: 150px;
  height: 220px;
  overflow: hidden;
  border: 1px solid oklch(76% .08 300/.16);
  border-radius: 16px;
  background: linear-gradient(135deg, oklch(38% .13 300), oklch(22% .05 250));
  background-position: center;
  background-size: cover;
  color: #fff !important;
  box-shadow: 0 18px 38px oklch(6% .03 290/.34);
  transition: opacity .2s ease, transform .2s ease
}

.ps-featured-card--left {
  left: 0;
  opacity: .62;
  transform: rotate(-6deg)
}

.ps-featured-card--right {
  right: 0;
  opacity: .62;
  transform: rotate(6deg)
}

.ps-featured-card--left:hover {
  z-index: 4;
  opacity: 1;
  transform: translateY(-5px) rotate(-3deg)
}

.ps-featured-card--right:hover {
  z-index: 4;
  opacity: 1;
  transform: translateY(-5px) rotate(3deg)
}

.ps-featured-card--center {
  z-index: 3;
  top: 0;
  left: 50%;
  width: 220px;
  height: 300px;
  border: 0;
  transform: translateX(-50%);
  box-shadow: 0 24px 50px oklch(6% .03 290/.5)
}

.ps-featured-card--center:hover {
  transform: translateX(-50%) translateY(-5px)
}

.ps-featured-card--center::after {
  content: '';
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, oklch(8% .02 290/.94))
}

.ps-featured-card--center>* {
  position: relative;
  z-index: 1
}

.ps-featured-card--center>span {
  position: absolute;
  top: 12px;
  right: 12px;
  border-radius: 5px;
  background: oklch(58% .2 25);
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900
}

.ps-featured-card--center>div {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  padding: 18px
}

.ps-featured-card strong {
  font-size: 20px
}

.ps-featured-card small {
  margin-top: 4px;
  color: oklch(82% .02 290)
}

.ps-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px
}

.ps-summary div {
  padding: 20px;
  border: 1px solid oklch(27% .02 290);
  border-radius: 14px;
  background: oklch(19% .018 290)
}

.ps-summary b {
  display: block;
  font: 800 clamp(20px, 3vw, 28px) 'JetBrains Mono', monospace
}

.ps-summary span {
  color: oklch(62% .02 290);
  font-size: 12px
}

.ps-block {
  min-width: 0
}

.ps-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px
}

.ps-block-head h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  font-size: 22px
}

.ps-block-head h2 i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: oklch(60% .2 25);
  box-shadow: 0 0 12px oklch(60% .2 25)
}

.ps-block-head a {
  font-size: 13px;
  font-weight: 800
}

.ps-card-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px
}

.ps-stream-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid oklch(27% .02 290);
  border-radius: 13px;
  background: oklch(19% .018 290);
  color: inherit !important
}

.ps-stream-card__image {
  position: relative;
  display: block;
  aspect-ratio: 16/11;
  background: linear-gradient(135deg, oklch(36% .12 300), oklch(21% .05 250));
  background-position: center;
  background-size: cover
}

.ps-stream-card__image b,
.ps-stream-card__image em {
  position: absolute;
  bottom: 8px;
  border-radius: 5px;
  color: #fff;
  font-size: 10px;
  font-style: normal
}

.ps-stream-card__image b {
  left: 8px;
  background: oklch(58% .2 25);
  padding: 3px 6px
}

.ps-stream-card__image em {
  right: 8px;
  background: oklch(8% .02 290/.75);
  padding: 3px 7px
}

.ps-stream-card>strong,
.ps-stream-card>small {
  display: block;
  overflow: hidden;
  margin: 9px 10px 0;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-stream-card>small {
  margin-top: 2px;
  margin-bottom: 10px;
  color: oklch(60% .02 290)
}

.ps-ranking,
.ps-catalog-list {
  overflow-x: auto;
  border: 1px solid oklch(27% .02 290);
  border-radius: 15px;
  background: oklch(19% .018 290)
}

.ps-ranking__head,
.ps-ranking>a {
  display: grid;
  grid-template-columns: 44px minmax(180px, 1.5fr) minmax(130px, .9fr) repeat(3, minmax(105px, .7fr));
  align-items: center;
  gap: 12px;
  min-width: 850px;
  padding: 14px 24px
}

.ps-ranking__head {
  color: oklch(58% .02 290);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase
}

.ps-ranking__head>span:nth-child(n+3) {
  text-align: right
}

.ps-ranking__metric {
  position: relative;
  border-radius: 4px;
  cursor: help;
  outline: 0
}

.ps-ranking__metric::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 10;
  top: calc(100% + 9px);
  right: 0;
  width: max-content;
  max-width: 230px;
  padding: 8px 10px;
  border: 1px solid oklch(34% .04 290);
  border-radius: 8px;
  background: oklch(17% .025 290);
  box-shadow: 0 10px 28px oklch(7% .02 290/.45);
  color: oklch(92% .01 290);
  font: 600 12px/1.4 'Manrope', sans-serif;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .15s ease, transform .15s ease
}

.ps-ranking__metric:hover::after,
.ps-ranking__metric:focus-visible::after {
  opacity: 1;
  transform: translateY(0)
}

.ps-ranking__metric--followers {
  color: oklch(76% .13 250)
}

.ps-ranking__metric--average {
  color: oklch(76% .13 145)
}

.ps-ranking__metric--peak {
  color: oklch(78% .13 85)
}

.ps-ranking__metric--growth {
  color: oklch(76% .13 300)
}

.ps-ranking>a {
  border-top: 1px solid oklch(25% .02 290);
  color: inherit !important;
  font: 700 13px 'JetBrains Mono', monospace;
  transition: background .15s ease
}

.ps-ranking>a:hover {
  background: oklch(23% .02 290)
}

.ps-ranking>a>span:not(.ps-ranking__name) {
  text-align: right
}

.ps-ranking__category {
  overflow: hidden;
  color: oklch(70% .02 290);
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-ranking__value--followers {
  color: oklch(82% .11 250)
}

.ps-ranking__value--average {
  color: oklch(80% .13 145)
}

.ps-ranking__value--peak {
  color: oklch(80% .13 85)
}

.ps-ranking__name {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-family: 'Manrope', sans-serif
}

.ps-ranking__name i {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 9px;
  background: linear-gradient(135deg, oklch(58% .16 300), oklch(45% .14 250));
  background-position: center;
  background-size: cover
}

.ps-ranking__name strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-game-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px
}

.ps-game-grid a {
  min-width: 0;
  color: inherit !important
}

.ps-game-grid a>span {
  display: block;
  aspect-ratio: 3/4;
  border-radius: 12px;
  background: linear-gradient(135deg, oklch(35% .1 300), oklch(20% .04 250));
  background-position: center;
  background-size: cover;
  transition: transform .18s
}

.ps-game-grid a:hover>span {
  transform: translateY(-4px)
}

.ps-game-grid b,
.ps-game-grid small {
  display: block;
  overflow: hidden;
  margin-top: 8px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-game-grid small {
  margin-top: 2px;
  color: oklch(60% .02 290)
}

.ps-catalog {
  display: grid;
  gap: 20px
}

.ps-catalog .psr-crumb {
  margin: 0;
  color: oklch(55% .02 290);
  font-size: 13px
}

.ps-catalog .psr-crumb a {
  color: inherit
}

.ps-catalog header {
  margin: 0
}

.ps-squads header {
  margin: 22px 0 26px
}

.ps-catalog-filter {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) minmax(150px, .8fr) minmax(160px, .8fr) auto;
  align-items: end;
  gap: 12px;
  padding: 18px;
  border: 1px solid oklch(27% .02 290);
  border-radius: 14px;
  background: oklch(19% .018 290)
}

.ps-catalog-filter label>span {
  display: block;
  margin-bottom: 6px;
  color: oklch(62% .02 290);
  font-size: 11px;
  font-weight: 800
}

.ps-catalog-filter button {
  height: 44px
}

.ps-catalog-count {
  margin: 0;
  color: oklch(62% .02 290);
  font-size: 13px
}

.ps-catalog-row {
  display: grid;
  grid-template-columns: 42px minmax(190px, 1.4fr) minmax(130px, .9fr) repeat(4, minmax(100px, .65fr));
  align-items: center;
  gap: 12px;
  min-width: 960px;
  padding: 13px 20px;
  border-top: 1px solid oklch(25% .02 290);
  color: inherit !important;
  font: 700 13px 'JetBrains Mono', monospace
}

.ps-catalog-row--head {
  border-top: 0;
  color: oklch(58% .02 290) !important;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .03em
}

.ps-catalog-row>span:not(.ps-ranking__name) {
  text-align: right
}

.ps-catalog-row:not(.ps-catalog-row--head) {
  transition: background .15s ease
}

.ps-catalog-row:not(.ps-catalog-row--head):hover {
  background: oklch(23% .02 290)
}

.ps-catalog-row__category {
  overflow: hidden;
  color: oklch(70% .02 290);
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-catalog-row__value--followers {
  color: oklch(82% .11 250)
}

.ps-catalog-row__value--average {
  color: oklch(80% .13 145)
}

.ps-catalog-row__value--peak {
  color: oklch(80% .13 85)
}

.ps-catalog-row__value--growth {
  color: oklch(80% .13 300)
}

.ps-catalog-rank {
  color: oklch(58% .02 290)
}

.ps-catalog-rank--1 {
  color: oklch(80% .14 85)
}

.ps-catalog-rank--2 {
  color: oklch(83% .01 290)
}

.ps-catalog-rank--3 {
  color: oklch(72% .12 55)
}

.ps-pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 24px
}

.ps-pagination a {
  display: grid;
  min-width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid oklch(30% .02 290);
  border-radius: 9px;
  background: oklch(20% .018 290);
  font-size: 13px;
  font-weight: 800
}

.ps-pagination a[aria-current=page] {
  border-color: transparent;
  background: oklch(62% .19 300);
  color: #fff
}

.ps-empty {
  padding: 34px;
  border: 1px solid oklch(27% .02 290);
  border-radius: 15px;
  background: oklch(19% .018 290);
  text-align: center
}

.ps-empty h2 {
  margin: 0
}

.ps-empty p {
  margin: 8px 0 0;
  color: oklch(65% .02 290)
}

/*
 * Squads is a full dark landing page. Keep a hex fallback here because the
 * layout must not fall back to the browser's white canvas when an older
 * browser, a preview frame or WordPress global styles discard an OKLCH
 * declaration.
 */
html {
  background-color: #111015
}

body.page-template-template-squads {
  min-width: 320px;
  overflow-x: hidden;
  background: #111015 !important;
  color: #f5f3f8
}

body.page-template-template-squads .ps-site-header {
  width: 100%;
  max-width: none;
  margin: 0;
  background: rgba(17, 16, 21, .96)
}

body.page-template-template-squads .ps-page.ps-squads {
  width: 100%;
  max-width: 1480px;
  background: transparent;
  color: #f5f3f8
}

body.page-template-template-squads .ps-squads h1,
body.page-template-template-squads .ps-squads h2,
body.page-template-template-squads .ps-squads h3,
body.page-template-template-squads .ps-squads summary,
body.page-template-template-squads .ps-squads strong {
  color: #f5f3f8
}

.ps-squads {
  display: grid;
  gap: 42px
}

.ps-squads-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: oklch(55% .02 290);
  font-size: 13px
}

.ps-squads-crumb a {
  color: inherit
}

.ps-squads-crumb span:last-child {
  color: oklch(78% .02 290)
}

.ps-squads .ps-squads-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: center;
  gap: clamp(28px, 6vw, 78px);
  min-height: 500px;
  margin: 0;
  padding: clamp(30px, 5vw, 64px);
  overflow: hidden;
  border: 1px solid oklch(29% .035 290);
  border-radius: 26px;
  background: radial-gradient(650px 360px at 8% 0%, oklch(62% .2 300/.2), transparent 72%), radial-gradient(520px 320px at 100% 100%, oklch(57% .16 245/.15), transparent 72%), oklch(17% .023 290)
}

.ps-squads-hero::before {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  right: -180px;
  top: -190px;
  border: 1px solid oklch(73% .13 300/.15);
  border-radius: 50%
}

.ps-squads-hero__copy {
  position: relative;
  z-index: 2
}

.ps-squads-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(36px, 5vw, 62px);
  line-height: 1.06;
  letter-spacing: -.045em
}

.ps-squads-hero__copy>p:not(.ps-eyebrow) {
  max-width: 650px;
  margin: 20px 0 0;
  color: oklch(73% .02 290);
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.65
}

.ps-squads-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px
}

.ps-squads-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid oklch(34% .04 290);
  border-radius: 11px;
  background: oklch(21% .025 290/.8);
  color: oklch(92% .01 290) !important;
  font-size: 13px;
  font-weight: 800;
  transition: border-color .18s ease, transform .18s ease
}

.ps-squads-button:hover {
  border-color: oklch(63% .16 300);
  transform: translateY(-2px)
}

.ps-squads-button--primary {
  border-color: transparent;
  background: linear-gradient(135deg, oklch(64% .2 300), oklch(57% .19 325));
  color: white !important
}

.ps-squads-spotlight {
  position: relative;
  width: min(100%, 430px);
  height: 380px;
  margin-inline: auto
}

.ps-squads-spotlight__card {
  position: absolute;
  top: 42px;
  display: flex;
  width: 210px;
  height: 280px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px;
  overflow: hidden;
  border: 1px solid oklch(58% .1 300/.22);
  border-radius: 20px;
  background: radial-gradient(150px 130px at 50% 12%, oklch(65% .21 300/.35), transparent 75%), linear-gradient(145deg, oklch(26% .06 295), oklch(17% .025 290));
  color: white !important;
  box-shadow: 0 22px 45px oklch(7% .03 290/.42);
  transition: transform .2s ease, opacity .2s ease
}

.ps-squads-spotlight__card--image {
  background-position: center;
  background-size: cover
}

.ps-squads-spotlight__card--image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, oklch(7% .02 290/.06) 24%, oklch(7% .02 290/.88) 100%);
  z-index: 1;
  pointer-events: none
}

.ps-squads-spotlight__card--image>* {
  position: relative;
  z-index: 2
}

.ps-squads-spotlight__card--image>.ps-squads-spotlight__media,
.ps-squad-card--image .ps-squad-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit
}

.ps-squads-spotlight__media img,
.ps-squad-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.ps-squads-spotlight__card--image .ps-squads-spotlight__mark {
  display: none
}

.ps-squads-spotlight__card--1 {
  z-index: 3;
  top: 0;
  left: 50%;
  width: 260px;
  height: 356px;
  transform: translateX(-50%)
}

.ps-squads-spotlight__card--2 {
  left: 0;
  opacity: .68;
  transform: rotate(-7deg)
}

.ps-squads-spotlight__card--3 {
  right: 0;
  opacity: .68;
  transform: rotate(7deg)
}

.ps-squads-spotlight__card--1:hover {
  transform: translateX(-50%) translateY(-6px)
}

.ps-squads-spotlight__card--2:hover,
.ps-squads-spotlight__card--3:hover {
  z-index: 4;
  opacity: 1;
  transform: translateY(-5px)
}

.ps-squads-spotlight__rank {
  position: absolute;
  top: 13px;
  right: 14px;
  color: oklch(79% .14 300);
  font: 800 12px 'JetBrains Mono', monospace
}

.ps-squads-spotlight__mark {
  position: absolute;
  top: 28px;
  left: 50%;
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border: 1px solid oklch(86% .08 300/.18);
  border-radius: 28px;
  background: oklch(66% .2 300/.17);
  font-size: 38px;
  font-weight: 900;
  transform: translateX(-50%) rotate(-3deg)
}

.ps-squads-spotlight__card strong,
.ps-squads-spotlight__card small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-squads-spotlight__card strong {
  font-size: 17px
}

.ps-squads-spotlight__card small {
  margin-top: 4px;
  color: oklch(73% .02 290);
  font-size: 11px
}

.ps-squads-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px
}

.ps-squads-summary>div {
  padding: 20px 22px;
  border: 1px solid oklch(27% .025 290);
  border-radius: 15px;
  background: oklch(19% .02 290)
}

.ps-squads-summary b,
.ps-squads-summary span {
  display: block
}

.ps-squads-summary b {
  color: oklch(84% .12 300);
  font: 800 clamp(22px, 3vw, 30px) 'JetBrains Mono', monospace
}

.ps-squads-summary span {
  margin-top: 4px;
  color: oklch(62% .02 290);
  font-size: 12px
}

.ps-squads-summary__live b {
  color: oklch(78% .15 145)
}

.ps-squads-section {
  scroll-margin-top: 90px
}

.ps-squads-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px
}

.ps-squads-section__head h2,
.ps-squads-guide h2,
.ps-squads-faq h2 {
  margin: 0;
  font-size: clamp(25px, 3.5vw, 36px);
  letter-spacing: -.025em
}

.ps-squads-section__head .ps-eyebrow,
.ps-squads-guide .ps-eyebrow,
.ps-squads-faq .ps-eyebrow {
  margin-bottom: 7px
}

.ps-squads-section__head>p {
  max-width: 420px;
  margin: 0;
  color: oklch(61% .02 290);
  font-size: 12px;
  line-height: 1.55;
  text-align: right
}

.ps-squad-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px
}

.ps-squad-card {
  --squad-accent: 300;
  min-width: 0
}

.ps-squad-card--accent-1 { --squad-accent: 250 }
.ps-squad-card--accent-2 { --squad-accent: 205 }
.ps-squad-card--accent-3 { --squad-accent: 145 }
.ps-squad-card--accent-4 { --squad-accent: 85 }
.ps-squad-card--accent-5 { --squad-accent: 25 }

.ps-squad-card__link {
  position: relative;
  display: flex;
  min-height: 350px;
  aspect-ratio: 3/4;
  flex-direction: column;
  padding: 21px;
  overflow: hidden;
  border: 1px solid oklch(28% .025 290);
  border-radius: 22px;
  background: radial-gradient(300px 230px at 50% 0, oklch(58% .18 var(--squad-accent)/.22), transparent 72%), linear-gradient(155deg, oklch(23% .045 var(--squad-accent)), oklch(16% .02 290) 58%);
  color: inherit !important;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease
}

.ps-squad-card__link:hover {
  border-color: oklch(55% .13 var(--squad-accent)/.6);
  box-shadow: 0 18px 38px oklch(7% .025 290/.28);
  transform: translateY(-4px)
}

.ps-squad-card--image .ps-squad-card__link {
  background-position: center;
  background-size: cover
}

.ps-squad-card__link::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
  background: linear-gradient(180deg, transparent 42%, oklch(9% .02 290/.38));
}

.ps-squad-card--image .ps-squad-card__link::after {
  background: linear-gradient(180deg, oklch(7% .02 290/.08) 25%, oklch(7% .02 290/.3) 50%, oklch(7% .02 290/.94) 100%)
}

.ps-squad-card--image .ps-squad-mark {
  visibility: hidden
}

.ps-squad-card__link>* {
  position: relative;
  z-index: 2
}

.ps-squad-card__top,
.ps-squad-card__identity,
.ps-squad-card__metrics {
  display: flex
}

.ps-squad-card__top {
  min-height: 23px;
  align-items: center;
  justify-content: space-between
}

.ps-squad-card__rank {
  order: 2;
  margin-left: auto;
  color: oklch(57% .02 290);
  font: 700 11px 'JetBrains Mono', monospace
}

.ps-squad-card__live {
  display: inline-flex;
  order: 1;
  align-items: center;
  gap: 5px;
  color: oklch(79% .15 145);
  font-size: 10px;
  font-weight: 900
}

.ps-squad-card__live i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: oklch(72% .18 145);
  box-shadow: 0 0 0 4px oklch(72% .18 145/.12)
}

.ps-squad-card__identity {
  flex: 1;
  align-items: stretch;
  flex-direction: column;
  gap: 0;
  margin-top: 8px
}

.ps-squad-mark {
  display: grid;
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  align-self: center;
  margin-top: 18px;
  place-items: center;
  border: 1px solid oklch(80% .1 var(--squad-accent)/.2);
  border-radius: 28px;
  background: linear-gradient(135deg, oklch(60% .18 var(--squad-accent)), oklch(43% .14 calc(var(--squad-accent) + 28)));
  color: #fff;
  box-shadow: inset 0 1px 0 oklch(100% 0 0/.14), 0 16px 32px oklch(8% .03 290/.24);
  font-size: 38px;
  font-weight: 900
}

.ps-squad-card__identity>span:last-child {
  min-width: 0;
  margin-top: auto;
  padding-top: 24px
}

.ps-squad-card h3 {
  overflow: hidden;
  margin: 0;
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-squad-card__identity small {
  display: block;
  margin-top: 4px;
  color: oklch(61% .02 290);
  font-size: 11px
}

.ps-squad-card__metrics {
  align-items: end;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px
}

.ps-squad-card__metrics b,
.ps-squad-card__metrics small {
  display: block
}

.ps-squad-card__metrics b {
  color: oklch(84% .1 var(--squad-accent));
  font: 800 19px 'JetBrains Mono', monospace
}

.ps-squad-card__metrics small {
  margin-top: 2px;
  color: oklch(56% .02 290);
  font-size: 10px
}

.ps-squad-card__arrow {
  color: oklch(66% .1 var(--squad-accent));
  font-size: 22px;
  transition: transform .18s ease
}

.ps-squad-card__link:hover .ps-squad-card__arrow {
  transform: translateX(4px)
}

.ps-squads-guide {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(28px, 6vw, 72px);
  padding: clamp(26px, 5vw, 52px);
  border: 1px solid oklch(27% .025 290);
  border-radius: 22px;
  background: linear-gradient(145deg, oklch(19% .025 290), oklch(17% .02 290))
}

.ps-squads-guide__copy>p:not(.ps-eyebrow) {
  margin: 16px 0 0;
  color: oklch(70% .02 290);
  font-size: 14px;
  line-height: 1.75
}

.ps-squads-guide__links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 22px
}

.ps-squads-guide__links a {
  font-size: 13px;
  font-weight: 800
}

.ps-squads-benefits {
  display: grid;
  gap: 10px
}

.ps-squads-benefits>div {
  position: relative;
  padding: 18px 18px 18px 58px;
  border: 1px solid oklch(27% .025 290);
  border-radius: 14px;
  background: oklch(21% .02 290)
}

.ps-squads-benefits span {
  position: absolute;
  top: 18px;
  left: 17px;
  color: oklch(68% .15 300);
  font: 800 12px 'JetBrains Mono', monospace
}

.ps-squads-benefits strong {
  display: block;
  font-size: 14px
}

.ps-squads-benefits p {
  margin: 5px 0 0;
  color: oklch(61% .02 290);
  font-size: 12px;
  line-height: 1.55
}

.ps-squads-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px
}

.ps-squads-faq details {
  border: 1px solid oklch(27% .025 290);
  border-radius: 14px;
  background: oklch(19% .02 290)
}

.ps-squads-faq summary {
  position: relative;
  padding: 18px 48px 18px 18px;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 800
}

.ps-squads-faq summary::-webkit-details-marker {
  display: none
}

.ps-squads-faq summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 18px;
  color: oklch(72% .15 300);
  font-size: 22px;
  font-weight: 400;
  transform: translateY(-50%)
}

.ps-squads-faq details[open] summary::after {
  content: '−'
}

.ps-squads-faq details p {
  margin: 0;
  padding: 0 18px 18px;
  color: oklch(66% .02 290);
  font-size: 13px;
  line-height: 1.65
}

.ps-category-catalog header {
  margin: 22px 0 26px
}

.ps-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 18px
}

.ps-category-grid a {
  min-width: 0;
  color: inherit !important
}

.ps-category-grid a>span {
  display: block;
  aspect-ratio: 3/4;
  border-radius: 12px;
  background: linear-gradient(135deg, oklch(35% .1 300), oklch(20% .04 250));
  background-position: center;
  background-size: cover;
  box-shadow: 0 8px 22px oklch(8% .02 290/.28);
  transition: transform .16s
}

.ps-category-grid a:hover>span {
  transform: translateY(-3px)
}

.ps-category-grid b,
.ps-category-grid small {
  display: block;
  overflow: hidden;
  margin-top: 10px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ps-category-grid small {
  margin-top: 3px;
  color: oklch(66% .02 290);
  font-size: 12px
}

.ps-site-footer {
  border-top: 1px solid oklch(26% .02 290);
  background: oklch(12% .016 290);
  color: oklch(74% .02 290);
  font-family: 'Manrope', sans-serif
}

.ps-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(240px, 1.3fr) repeat(2, minmax(170px, .7fr));
  gap: 32px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 36px clamp(16px, 4vw, 40px) 28px
}

.ps-site-footer__brand strong,
.ps-site-footer__brand span {
  display: block
}

.ps-site-footer__brand strong {
  color: oklch(96% .008 290);
  font-size: 17px
}

.ps-site-footer__brand span {
  max-width: 350px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.55
}

.ps-site-footer nav {
  display: grid;
  align-content: start;
  gap: 9px
}

.ps-site-footer nav a {
  color: oklch(72% .02 290);
  font-size: 13px
}

.ps-site-footer nav a:hover {
  color: oklch(85% .13 300)
}

.ps-site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 18px clamp(16px, 4vw, 40px);
  border-top: 1px solid oklch(22% .02 290);
  color: oklch(68% .02 290);
  font-size: 11px
}

.ps-legal-page {
  max-width: 1040px
}

.ps-legal-page article {
  margin-top: 24px;
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid oklch(27% .02 290);
  border-radius: 18px;
  background: oklch(18% .018 290)
}

.ps-legal-page h1 {
  margin: 0;
  font-size: clamp(30px, 5vw, 46px);
  letter-spacing: -.03em
}

.ps-legal-page h2 {
  margin: 34px 0 10px;
  font-size: 20px
}

.ps-legal-page p {
  margin: 0;
  color: oklch(75% .02 290);
  font-size: 15px;
  line-height: 1.75
}

.ps-legal-page__lead {
  margin-top: 14px !important;
  color: oklch(84% .02 290) !important;
  font-size: 17px !important
}

.ps-legal-page a {
  overflow-wrap: anywhere
}

@media(max-width:1050px) {

  .ps-card-grid,
  .ps-game-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .ps-squad-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:760px) {
  .ps-page {
    padding-top: 22px
  }

  .ps-squads {
    gap: 32px
  }

  .ps-squads .ps-squads-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 28px 20px 18px
  }

  .ps-squads-hero h1 {
    font-size: clamp(34px, 10vw, 48px)
  }

  .ps-squads-spotlight {
    height: 370px
  }

  .ps-squads-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ps-squads-section__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px
  }

  .ps-squads-section__head>p {
    text-align: left
  }

  .ps-squads-guide {
    grid-template-columns: 1fr;
    padding: 26px 20px
  }

  .ps-squads-faq__list {
    grid-template-columns: 1fr
  }

  .ps-home {
    gap: 30px
  }

  .ps-home-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 24px 18px
  }

  .ps-featured-stack {
    height: 280px
  }

  .ps-featured-card {
    width: 42%;
    height: 190px
  }

  .ps-featured-card--center {
    width: 58%;
    height: 260px
  }

  .ps-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ps-card-grid,
  .ps-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ps-catalog-filter {
    grid-template-columns: 1fr 1fr
  }

  .ps-catalog-filter label:first-child {
    grid-column: 1/-1
  }

  .ps-catalog-filter button {
    grid-column: 1/-1
  }

  .ps-squad-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
  }

  .ps-squad-card__link {
    min-height: 300px;
    padding: 16px
  }

  .ps-squad-mark {
    width: 78px;
    height: 78px;
    flex-basis: 78px;
    border-radius: 23px;
    font-size: 31px
  }

  .ps-block-head h2 {
    font-size: 19px
  }

  .ps-site-footer__inner {
    grid-template-columns: 1fr 1fr
  }

  .ps-site-footer__brand {
    grid-column: 1/-1
  }

  .ps-site-footer__bottom {
    align-items: flex-start;
    flex-direction: column
  }

  .ps-legal-page article {
    padding: 22px 18px
  }

  .ps-legal-page h2 {
    font-size: 18px
  }
}

@media(max-width:420px) {
  .ps-home-search {
    align-items: stretch;
    flex-direction: column
  }

  .ps-home-search button {
    height: 44px
  }

  .ps-summary {
    grid-template-columns: 1fr 1fr
  }

  .ps-squads-summary>div {
    padding: 16px
  }

  .ps-squads-spotlight {
    height: 260px
  }

  .ps-squads-spotlight__card {
    top: 40px;
    width: 43%;
    height: 180px;
    padding: 13px
  }

  .ps-squads-spotlight__card--1 {
    top: 0;
    width: 54%;
    height: 240px
  }

  .ps-squads-spotlight__mark {
    width: 58px;
    height: 58px;
    font-size: 25px
  }

  .ps-squad-grid {
    grid-template-columns: 1fr
  }

  .ps-squad-card {
    width: min(100%, 280px);
    justify-self: center
  }

  .ps-squad-card__link {
    min-height: 360px
  }

  .ps-summary div {
    padding: 15px
  }

  .ps-card-grid,
  .ps-game-grid {
    gap: 10px
  }

  .ps-catalog-filter {
    grid-template-columns: 1fr
  }

  .ps-catalog-filter label:first-child,
  .ps-catalog-filter button {
    grid-column: auto
  }
}
