@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/home-assets-v2110/fonts/manrope-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/home-assets-v2110/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.pkl {
  --ink: #071c2c;
  --navy: #061b2a;
  --navy-soft: #0c3148;
  --blue: #1688ff;
  --yellow: #ffd83d;
  --green: #25d69b;
  --paper: #f5f7f6;
  --shell: min(1260px, calc(100vw - 80px));
  color: var(--ink);
  background: var(--paper);
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-synthesis: none;
  isolation: isolate;
}

.pkl.auth-screen {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  place-items: initial;
  background: var(--paper);
  overscroll-behavior-y: contain;
  scroll-behavior: smooth;
}

.pkl.auth-screen > main { display: block; width: 100%; }
.pkl-game, .pkl-dex { scroll-margin-top: 82px; }

.pkl *, .pkl *::before, .pkl *::after { box-sizing: border-box; }
.pkl [hidden] { display: none !important; }
.pkl button, .pkl input { font: inherit; }
.pkl button, .pkl a { -webkit-tap-highlight-color: transparent; }
.pkl button { border: 0; }
.pkl a { color: inherit; text-decoration: none; }
.pkl img { display: block; max-width: 100%; }
.pkl-shell { width: var(--shell); margin-inline: auto; }
.pkl-skip { position: fixed; z-index: 1000; top: -70px; left: 16px; padding: 12px 16px; border-radius: 12px; color: var(--ink); background: #fff; font-size: 12px; font-weight: 800; transition: top .2s ease; }
.pkl-skip:focus { top: 12px; }

.pkl-nav {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 36px;
  min-height: 82px;
  padding: 14px max(28px, calc((100vw - 1340px) / 2));
  color: #fff;
  transition: min-height .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}
.pkl-nav::after { content: ""; position: absolute; right: max(28px, calc((100vw - 1340px) / 2)); bottom: 0; left: max(28px, calc((100vw - 1340px) / 2)); height: 1px; background: rgba(255,255,255,.2); }
.pkl-nav.is-scrolled { min-height: 68px; color: var(--ink); background: rgba(255,255,255,.93); box-shadow: 0 10px 35px rgba(7,28,44,.1); backdrop-filter: blur(16px); }
.pkl-nav.is-scrolled::after { background: rgba(7,28,44,.08); }
.pkl-brand { display: inline-flex; min-width: max-content; align-items: center; gap: 10px; }
.pkl-brand > img { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 7px 10px rgba(0,0,0,.16)); }
.pkl-brand > span { display: grid; line-height: 1; }
.pkl-brand b { font-size: 18px; font-weight: 800; letter-spacing: -.045em; }
.pkl-brand b span { display: inline; color: var(--yellow); }
.pkl-brand small { margin-top: 5px; font-size: 8px; font-weight: 800; letter-spacing: .22em; opacity: .6; }
.pkl-nav.is-scrolled .pkl-brand b span, .pkl-footer .pkl-brand b span { color: var(--blue); }
.pkl-nav > nav { display: flex; justify-content: center; gap: 38px; }
.pkl-nav > nav a { padding: 10px 0; font-size: 12px; font-weight: 800; opacity: .74; }
.pkl-nav > nav a:hover { opacity: 1; }
.pkl-nav-actions { display: flex; align-items: center; gap: 8px; }
.pkl-online { display: flex; align-items: center; gap: 5px; margin-right: 10px; font-size: 9px; font-weight: 700; opacity: .7; }
.pkl-online i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(37,214,155,.14); }
.pkl-online b { font-size: 10px; }
.pkl-signin { min-height: 44px; padding: 0 18px; color: inherit; background: transparent; cursor: pointer; font-size: 12px; font-weight: 800; }
.pkl-cta {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 6px 7px 6px 24px;
  border-radius: 15px;
  color: var(--ink);
  background: var(--yellow);
  box-shadow: 0 13px 30px rgba(255,201,31,.23);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.pkl-cta:hover { filter: brightness(1.04); transform: translateY(-2px); box-shadow: 0 18px 38px rgba(255,201,31,.3); }
.pkl-cta b, .pkl-ready-cta b, .pkl-submit b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #fff; background: var(--ink); font-size: 16px; }
.pkl-cta-nav { min-height: 45px; gap: 16px; padding-left: 18px; border-radius: 13px; font-size: 11px; }
.pkl-cta-nav b { width: 33px; height: 33px; border-radius: 9px; }
.pkl-account { display: flex; align-items: center; gap: 9px; }
.pkl-account-avatar { display: grid; width: 40px; height: 40px; place-items: center; border: 2px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; background: var(--blue); font-size: 13px; font-weight: 800; }
.pkl-account-avatar[data-skin="female"] { background: #f15a91; }
.pkl-account > span:nth-child(2) { display: grid; min-width: 80px; line-height: 1.1; }
.pkl-account small { font-size: 8px; opacity: .55; }
.pkl-account span b { overflow: hidden; max-width: 120px; margin-top: 3px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pkl-account > button:not(.pkl-logout) { min-height: 42px; padding: 0 15px; border-radius: 12px; color: var(--ink); background: var(--yellow); cursor: pointer; font-size: 11px; font-weight: 800; }
.pkl-logout { width: 34px; height: 34px; border-radius: 10px; color: inherit; background: transparent; cursor: pointer; opacity: .55; }
.pkl-menu { display: none; width: 44px; height: 44px; border-radius: 12px; color: currentColor; background: rgba(3,31,47,.22); backdrop-filter: blur(8px); cursor: pointer; }
.pkl-menu i { display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; }

.pkl-hero { position: relative; display: grid; min-height: max(700px, 100svh); align-items: center; overflow: hidden; color: #fff; background: #0a4f78; }
.pkl-hero-bg, .pkl-hero-shade, .pkl-hero-pokemon { position: absolute; inset: 0; }
.pkl-hero-bg { background: url('/home-assets-v2110/hero-portal-v2110.webp') center / cover no-repeat; transform: scale(1.012); }
.pkl-hero-shade { background: linear-gradient(90deg, rgba(2,23,39,.88) 0%, rgba(2,23,39,.64) 31%, rgba(2,23,39,.06) 61%), linear-gradient(0deg, rgba(2,24,37,.35), transparent 35%); }
.pkl-hero-layout { position: relative; z-index: 3; display: grid; min-height: inherit; align-items: center; padding: 122px 0 116px; }
.pkl-hero-copy { width: min(600px, 52vw); }
.pkl-version { display: inline-flex; min-height: 30px; align-items: center; padding: 0 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(3,26,39,.28); backdrop-filter: blur(10px); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.pkl-welcome { margin: 17px 0 -6px !important; color: #fff !important; font-size: 13px !important; font-weight: 600 !important; }
.pkl-hero h1 { margin: 22px 0 20px; font-size: clamp(50px, 5.45vw, 78px); line-height: .98; letter-spacing: -.06em; text-wrap: balance; }
.pkl-hero h1 em { color: var(--yellow); font-style: normal; }
.pkl-hero-copy > p { max-width: 540px; margin: 0; color: rgba(241,250,252,.8); font-size: clamp(15px, 1.3vw, 19px); font-weight: 500; line-height: 1.65; }
.pkl-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.pkl-ghost { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; gap: 22px; padding: 0 21px; border: 1px solid rgba(255,255,255,.3); border-radius: 15px; background: rgba(2,26,39,.18); backdrop-filter: blur(10px); font-size: 12px; font-weight: 800; transition: background .2s ease, border-color .2s ease; }
.pkl-ghost:hover { border-color: rgba(255,255,255,.6); background: rgba(2,26,39,.36); }
.pkl-facts { display: flex; margin-top: 38px; }
.pkl-facts span { display: grid; min-width: 128px; padding-right: 28px; }
.pkl-facts span + span { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.2); }
.pkl-facts b { font-size: 18px; }
.pkl-facts small { margin-top: 4px; color: rgba(255,255,255,.53); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pkl-hero-pokemon { z-index: 2; pointer-events: none; }
.pkl-pokemon { position: absolute; object-fit: contain; filter: drop-shadow(0 26px 18px rgba(0,35,50,.26)); animation: pklFloat 6s ease-in-out infinite; }
.pkl-pokemon-pikachu { right: 10.5%; bottom: 4%; width: min(22vw, 345px); }
.pkl-pokemon-eevee { right: 2.5%; bottom: 8%; width: min(14vw, 215px); animation-delay: -2s; }
.pkl-pokemon-charizard { top: 18%; right: 1%; width: min(16vw, 245px); opacity: .93; animation-delay: -4s; }
@keyframes pklFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.pkl-scroll { position: absolute; z-index: 4; bottom: 29px; left: 50%; display: flex; align-items: center; gap: 11px; color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transform: translateX(-50%); }
.pkl-scroll i { display: block; width: 24px; height: 38px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; }
.pkl-scroll i::after { content: ""; display: block; width: 4px; height: 7px; margin: 8px auto 0; border-radius: 4px; background: var(--yellow); animation: pklScroll 1.8s ease-in-out infinite; }
@keyframes pklScroll { 50% { transform: translateY(11px); opacity: .35; } }

.pkl-game { padding: 118px 0 112px; overflow: hidden; background: linear-gradient(180deg,#f6f8f7 0%,#eef3f2 100%); }
.pkl-game-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; margin-bottom: 43px; }
.pkl-heading { display: grid; grid-template-columns: 150px 1fr; align-items: end; gap: 30px; margin: 0; }
.pkl-heading > span, .pkl-dex-kicker { align-self: start; padding-top: 10px; color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.pkl-heading h2, .pkl-dex h2 { margin: 0; font-size: clamp(43px, 5vw, 68px); line-height: .98; letter-spacing: -.055em; }
.pkl-heading p { margin: 0 0 6px; color: #6c7b82; font-size: 14px; }
.pkl-game-controls { display: flex; align-items: center; gap: 10px; padding-bottom: 3px; }
.pkl-game-controls button { display: grid; width: 51px; height: 51px; place-items: center; border: 1px solid #d8e1e1; border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.78); cursor: pointer; font-size: 18px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.pkl-game-controls button:hover { color: #fff; background: var(--ink); transform: translateY(-2px); }
.pkl-game-controls span { display: flex; min-width: 92px; align-items: center; gap: 10px; justify-content: center; color: #96a3a7; font-size: 9px; font-style: normal; font-weight: 800; }
.pkl-game-controls span b { color: var(--ink); font-size: 15px; }
.pkl-game-controls span i { width: 28px; height: 1px; background: #cbd5d6; }
.pkl-game-controls span em { font-style: normal; }
.pkl-game-carousel { width: 100%; }
.pkl-game-track { display: flex; gap: 22px; padding: 8px max(22px,calc((100vw - var(--shell))/2)) 38px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: max(22px,calc((100vw - var(--shell))/2)); scroll-snap-type: x mandatory; scrollbar-width: none; }
.pkl-game-track::-webkit-scrollbar { display: none; }
.pkl-game-card { position: relative; min-width: min(76vw,1080px); height: clamp(520px,56vw,650px); flex: 0 0 min(76vw,1080px); border-radius: 34px; overflow: hidden; isolation: isolate; scroll-snap-align: center; color: #fff; background: var(--navy); box-shadow: 0 24px 70px rgba(8,31,44,.13); cursor: pointer; opacity: .48; filter: saturate(.72); transform: scale(.95); transition: opacity .42s ease, filter .42s ease, transform .48s cubic-bezier(.2,.75,.2,1), box-shadow .42s ease; }
.pkl-game-card:hover { opacity: .72; }
.pkl-game-card.is-active { opacity: 1; filter: none; transform: scale(1); box-shadow: 0 32px 90px rgba(8,31,44,.22); }
.pkl-game-card:focus-visible { outline: 4px solid rgba(22,136,255,.32); outline-offset: 5px; }
.pkl-game-card::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(2,20,32,.9) 0%,rgba(2,20,32,.58) 42%,rgba(2,20,32,.04) 76%),linear-gradient(0deg,rgba(2,20,32,.62),transparent 54%); }
.pkl-game-card::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; left: -32%; width: 22%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent); transform: skewX(-18deg); opacity: 0; }
.pkl-game-card.is-active::after { animation: pklGameLight 1.05s .12s ease-out; }
.pkl-game-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.015); transition: transform 9s cubic-bezier(.2,.65,.2,1); }
.pkl-game-card.is-active .pkl-game-scene { transform: scale(1.09); }
.pkl-game-mon { position: absolute; z-index: 2; right: 3%; bottom: -5%; width: min(31vw,430px); height: 76%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 30px 24px rgba(0,0,0,.32)); opacity: 0; transform: translate3d(45px,20px,0) scale(.93); transition: opacity .45s .12s ease, transform .7s .1s cubic-bezier(.2,.78,.2,1); }
.pkl-game-card.is-active .pkl-game-mon { opacity: 1; transform: none; animation: pklGameFloat 5.5s 1s ease-in-out infinite; }
.pkl-game-mon-eevee { right: 7%; width: min(25vw,350px); height: 63%; }
.pkl-game-mon-charizard { right: 0; bottom: -9%; width: min(38vw,525px); height: 89%; }
.pkl-game-mon-gengar { right: 4%; width: min(32vw,450px); height: 70%; }
.pkl-game-mon-mystery { right: 8%; width: min(24vw,340px); height: 61%; opacity: 0; filter: brightness(.45) saturate(.6) drop-shadow(0 30px 24px rgba(0,0,0,.4)); }
.pkl-game-card.is-active .pkl-game-mon-mystery { opacity: .83; }
.pkl-game-card-copy { position: absolute; z-index: 4; top: 50%; left: clamp(32px,5.4vw,78px); display: grid; width: min(48%,540px); grid-template-columns: 34px 1fr; gap: 20px; transform: translateY(-50%); }
.pkl-game-card-copy > b { padding-top: 8px; color: var(--yellow); font-size: 10px; }
.pkl-game-card-copy > span { display: block; }
.pkl-game-card small { color: rgba(255,255,255,.58); font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.pkl-game-card h3 { margin: 14px 0 17px; font-size: clamp(47px,6vw,82px); line-height: .9; letter-spacing: -.065em; }
.pkl-game-card p { margin: 0; color: rgba(255,255,255,.74); font-size: clamp(12px,1.3vw,16px); line-height: 1.6; }
.pkl-game-details { display: flex !important; max-height: 0; gap: 9px; margin-top: 0; overflow: hidden; opacity: 0; transform: translateY(12px); transition: max-height .45s ease, margin .45s ease, opacity .35s .1s ease, transform .45s ease; }
.pkl-game-card.is-active .pkl-game-details { max-height: 50px; margin-top: 25px; opacity: 1; transform: none; }
.pkl-game-details i { padding: 9px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(5,31,45,.22); backdrop-filter: blur(8px); font-size: 8px; font-style: normal; font-weight: 800; }
.pkl-game-open { position: absolute; z-index: 4; right: 28px; bottom: 27px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.66); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.pkl-game-open b { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; font-size: 15px; }
.pkl-game-card.is-active .pkl-game-open { color: #fff; }
.pkl-game-card.is-active .pkl-game-open b { color: var(--ink); border-color: var(--yellow); background: var(--yellow); }
.pkl-game-progress { height: 3px; overflow: hidden; border-radius: 3px; background: #dbe3e3; }
.pkl-game-progress i { display: block; width: calc(var(--game-progress,1) * 16.6667%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue),#62b8ff); transition: width .5s cubic-bezier(.2,.75,.2,1); }
@keyframes pklGameFloat { 50% { translate: 0 -9px; rotate: .6deg; } }
@keyframes pklGameLight { from { left: -32%; opacity: 0; } 20% { opacity: .65; } to { left: 116%; opacity: 0; } }

.pkl-dex { padding: 125px 0; color: #fff; background: #071c2c; }
.pkl-dex-shell { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 650px; border: 1px solid rgba(255,255,255,.1); border-radius: 32px; overflow: hidden; background: radial-gradient(circle at 74% 48%, #174f70 0%, #0a2b40 36%, #061b2a 75%); box-shadow: 0 35px 90px rgba(0,0,0,.22); }
.pkl-dex-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px; }
.pkl-dex-kicker { padding: 0; color: var(--yellow); }
.pkl-dex h2 { margin-top: 17px; color: #fff; }
.pkl-dex-tabs { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; align-self: flex-start; margin-top: 35px; padding: 4px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.06); }
.pkl-dex-tabs button { min-height: 39px; padding: 0 15px; border-radius: 9px; color: rgba(255,255,255,.54); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.pkl-dex-tabs button.is-active { color: var(--ink); background: var(--yellow); }
.pkl-dex-detail { margin-top: 33px; }
.pkl-dex-detail > small { color: #6bbaff; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.pkl-dex-detail h3 { margin: 9px 0 7px; font-size: 27px; line-height: 1.12; letter-spacing: -.035em; }
.pkl-dex-detail p { margin: 0; color: rgba(255,255,255,.58); font-size: 12px; }
.pkl-dex-detail a { display: inline-flex; min-height: 51px; align-items: center; justify-content: space-between; gap: 25px; margin-top: 25px; padding: 5px 6px 5px 17px; border-radius: 13px; color: var(--ink); background: #fff; font-size: 11px; font-weight: 800; }
.pkl-dex-detail a b { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; color: #fff; background: var(--blue); }
.pkl-dex-visual { position: relative; display: grid; min-width: 0; place-items: center; overflow: hidden; }
.pkl-dex-visual::before { content: ""; position: absolute; width: 72%; aspect-ratio: 1; border-radius: 50%; background: rgba(70,177,255,.12); filter: blur(2px); }
.pkl-dex-ring { position: absolute; width: min(39vw, 500px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.pkl-dex-ring::before, .pkl-dex-ring::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.pkl-dex-ring::before { inset: 52px; }
.pkl-dex-ring::after { inset: 112px; border-style: dashed; }
.pkl-dex-visual > img { position: relative; z-index: 2; width: min(31vw, 440px); height: 470px; object-fit: contain; filter: drop-shadow(0 42px 25px rgba(0,0,0,.32)); transition: opacity .18s ease, transform .22s ease; }
.pkl-dex-visual > img.is-changing { opacity: 0; transform: scale(.96) translateY(10px); }
.pkl-dex-number { position: absolute; z-index: 3; top: 42px; right: 48px; color: rgba(255,255,255,.44); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.pkl-dex-name { position: absolute; z-index: 3; right: 42px; bottom: 40px; display: grid; padding: 13px 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(5,28,43,.48); backdrop-filter: blur(12px); }
.pkl-dex-name small { color: var(--yellow); font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.pkl-dex-name b { margin-top: 3px; font-size: 16px; }

.pkl-ready { position: relative; min-height: 360px; overflow: hidden; background: var(--yellow); }
.pkl-ready-ball { position: absolute; top: 50%; right: 8%; width: 330px; height: 330px; border: 56px solid rgba(7,28,44,.075); border-radius: 50%; transform: translateY(-50%); }
.pkl-ready-ball::before { content: ""; position: absolute; top: 50%; right: -56px; left: -56px; height: 56px; background: rgba(7,28,44,.075); transform: translateY(-50%); }
.pkl-ready-ball::after { content: ""; position: absolute; top: 50%; left: 50%; width: 92px; height: 92px; border: 25px solid rgba(7,28,44,.075); border-radius: 50%; background: var(--yellow); transform: translate(-50%,-50%); }
.pkl-ready-layout { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 60px; min-height: 360px; align-items: center; }
.pkl-ready small { color: rgba(7,28,44,.55); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.pkl-ready h2 { margin: 9px 0 0; font-size: clamp(43px, 5.4vw, 72px); line-height: 1; letter-spacing: -.06em; }
.pkl-ready-cta { display: inline-flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 36px; padding: 7px 7px 7px 24px; border-radius: 16px; color: #fff; background: var(--ink); box-shadow: 0 18px 40px rgba(7,28,44,.18); cursor: pointer; font-size: 12px; font-weight: 800; }
.pkl-ready-cta b { color: var(--ink); background: #fff; }

.pkl-footer { padding: 28px 0; color: #85949b; background: #04141f; }
.pkl-footer .pkl-shell { display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center; }
.pkl-footer .pkl-brand { color: #fff; }
.pkl-footer .pkl-brand > img { width: 36px; height: 36px; }
.pkl-footer p { margin: 0; font-size: 8px; line-height: 1.5; }
.pkl-footer nav { display: flex; gap: 22px; font-size: 9px; font-weight: 700; }
.pkl-footer nav a:hover { color: #fff; }
.pkl-footer nav span { color: var(--yellow); }

body.pkl-modal-open { overflow: hidden; }
.pkl.is-modal-open { overflow: hidden; }
.pkl-auth { position: fixed; z-index: 500; inset: 0; visibility: hidden; opacity: 0; pointer-events: none; transition: visibility .25s ease, opacity .25s ease; }
.pkl-auth.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.pkl-auth-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(2,16,26,.7); backdrop-filter: blur(9px); cursor: pointer; }
.pkl-auth-drawer { position: absolute; top: 0; right: 0; display: flex; width: min(520px, 100vw); height: 100%; max-height: none !important; flex-direction: column; padding: 0 !important; border: 0 !important; border-radius: 28px 0 0 28px !important; overflow: hidden; color: var(--ink) !important; background: #fff !important; box-shadow: -35px 0 100px rgba(0,0,0,.28) !important; transform: translateX(100%); transition: transform .34s cubic-bezier(.2,.75,.2,1); }
.pkl-auth.is-open .pkl-auth-drawer { transform: none; }
.pkl-auth-close { position: absolute; z-index: 5; top: 15px; right: 15px; display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.9); box-shadow: 0 5px 18px rgba(0,0,0,.12); cursor: pointer; font-size: 21px; }
.pkl-auth-cover { position: relative; min-height: 185px; overflow: hidden; flex: 0 0 185px; color: #fff; background: #176b96; }
.pkl-auth-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,28,43,.78), rgba(4,28,43,.08)); }
.pkl-auth-cover > img { width: 100%; height: 100%; object-fit: cover; }
.pkl-auth-cover > div { position: absolute; z-index: 2; top: 24px; bottom: 22px; left: 28px; display: flex; flex-direction: column; justify-content: space-between; }
.pkl-auth-cover .pkl-brand > img { width: 38px; height: 38px; }
.pkl-auth-cover .pkl-brand b { font-size: 15px; }
.pkl-auth-cover > div > small { font-size: 11px; font-weight: 700; }
.pkl-auth-content { min-height: 0; flex: 1; padding: 31px 42px 28px; overflow-y: auto; }
.pkl-auth-heading h1 { margin: 0; font-size: 31px; line-height: 1.05; letter-spacing: -.045em; }
.pkl-auth-heading p { margin: 7px 0 0; color: #839197; font-size: 11px; }
.pkl-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 24px 0 19px; padding: 4px; border-radius: 13px; background: #eef2f2; }
.pkl-auth-tabs button { min-height: 40px; border-radius: 10px; color: #829097; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.pkl-auth-tabs button.is-active { color: var(--ink); background: #fff; box-shadow: 0 4px 12px rgba(7,28,44,.08); }
.pkl .account-form { display: none; }
.pkl .account-form.is-active { display: grid; gap: 12px; }
.pkl-field { display: grid; gap: 6px; }
.pkl-field > span { display: flex; justify-content: space-between; color: #52646c; font-size: 9px; font-weight: 800; }
.pkl-field em { color: #a2adb2; font-size: 7px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.pkl-field input { width: 100%; min-height: 47px; padding: 0 14px; border: 1px solid #dde5e6; border-radius: 11px; outline: 0; color: var(--ink); background: #fbfcfc; font-size: 11px; transition: border-color .2s ease, box-shadow .2s ease; }
.pkl-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(22,136,255,.1); }
.pkl-field input::placeholder { color: #a9b3b7; }
.pkl-submit { display: flex; min-height: 51px; align-items: center; justify-content: space-between; margin-top: 3px; padding: 5px 6px 5px 17px; border-radius: 12px; color: #fff; background: var(--blue); box-shadow: 0 12px 28px rgba(22,136,255,.18); cursor: pointer; font-size: 11px; font-weight: 800; }
.pkl-submit b { width: 39px; height: 39px; background: rgba(255,255,255,.16); }
.pkl-submit:disabled { opacity: .6; cursor: wait; }
.pkl .form-error { min-height: 0; color: #d84150; font-size: 9px; font-weight: 700; }
.pkl .form-error:empty { display: none; }
.pkl-auth-divider { display: flex; align-items: center; gap: 11px; margin: 14px 0 10px; color: #a0abad; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.pkl-auth-divider::before, .pkl-auth-divider::after { content: ""; height: 1px; flex: 1; background: #e4e9ea; }
.pkl-social { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pkl-social button { display: flex; min-height: 43px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dfe6e7; border-radius: 11px; color: #52646c; background: #fff; cursor: pointer; font-size: 9px; font-weight: 800; }
.pkl-social b { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; color: #fff; background: #2787f5; font-size: 8px; }
.pkl-social button:nth-child(2) b { background: #27a7e7; }
.pkl-platform-hint, .pkl-security { display: block; color: #98a4a8; font-size: 7px; line-height: 1.45; text-align: center; }
.pkl-platform-hint { min-height: 10px; margin-top: 8px; }
.pkl-security { margin-top: 5px; }

@media (max-width: 1050px) {
  .pkl { --shell: calc(100vw - 48px); }
  .pkl-nav { padding-inline: 24px; }
  .pkl-nav::after { right: 24px; left: 24px; }
  .pkl-hero-copy { width: 60vw; }
  .pkl-pokemon-charizard { display: none; }
  .pkl-pokemon-pikachu { right: 4%; width: 27vw; }
  .pkl-pokemon-eevee { right: 0; bottom: 16%; width: 17vw; }
  .pkl-heading { grid-template-columns: 100px 1fr; }
  .pkl-game-card { min-width: 82vw; height: 590px; flex-basis: 82vw; }
  .pkl-game-card-copy { width: min(52%,480px); }
  .pkl-dex-copy { padding: 45px; }
}

@media (max-width: 780px) {
  .pkl { --shell: calc(100vw - 32px); }
  .pkl-nav { min-height: 68px; grid-template-columns: auto 1fr auto; gap: 8px; padding: 9px 14px; }
  .pkl-nav::after { right: 14px; left: 14px; }
  .pkl-brand > img { width: 40px; height: 40px; }
  .pkl-brand b { font-size: 16px; }
  .pkl-brand small { display: none; }
  .pkl-nav > nav { position: absolute; top: calc(100% + 6px); right: 10px; left: 10px; display: none; padding: 8px; border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.97); box-shadow: 0 16px 40px rgba(7,28,44,.16); }
  .pkl-nav.is-menu-open > nav { display: grid; }
  .pkl-nav > nav a { padding: 12px; border-radius: 9px; }
  .pkl-online, .pkl-signin { display: none; }
  .pkl-menu { display: block; }
  .pkl-account > span:nth-child(2), .pkl-logout { display: none; }
  .pkl-account-avatar { width: 35px; height: 35px; font-size: 11px; }
  .pkl-account > button:not(.pkl-logout) { display: flex; min-height: 40px; align-items: center; gap: 5px; white-space: nowrap; }
  .pkl-hero-copy { width: 69vw; }
  .pkl-pokemon-pikachu { width: 32vw; }
  .pkl-game-head { grid-template-columns: 1fr auto; gap: 20px; }
  .pkl-heading { grid-template-columns: 1fr; gap: 15px; }
  .pkl-heading > span { padding: 0; }
  .pkl-heading p { display: none; }
  .pkl-game-controls span { display: none; }
  .pkl-game-track { gap: 14px; padding-right: 24px; padding-left: 24px; scroll-padding-inline: 24px; }
  .pkl-game-card { min-width: 86vw; height: 540px; flex-basis: 86vw; border-radius: 28px; }
  .pkl-game-card-copy { top: auto; right: 30px; bottom: 32px; left: 30px; width: auto; transform: none; }
  .pkl-game-card h3 { font-size: 55px; }
  .pkl-game-mon { right: 2%; bottom: 15%; width: 47vw; height: 55%; }
  .pkl-game-mon-charizard { right: -6%; bottom: 10%; width: 58vw; height: 67%; }
  .pkl-game-open { top: 24px; right: 24px; bottom: auto; }
  .pkl-game-open > i { display: none; }
  .pkl-dex-shell { grid-template-columns: 1fr; }
  .pkl-dex-copy { padding: 50px 42px 15px; }
  .pkl-dex-visual { min-height: 470px; }
  .pkl-dex-visual > img { width: min(59vw, 420px); }
  .pkl-dex-ring { width: min(66vw, 470px); }
  .pkl-ready-layout { grid-template-columns: 1fr; gap: 28px; padding: 70px 0; }
  .pkl-ready-cta { justify-self: start; }
  .pkl-footer .pkl-shell { grid-template-columns: auto 1fr; }
  .pkl-footer nav { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .pkl { --shell: calc(100vw - 28px); }
  .pkl-nav { color: #fff; }
  .pkl-nav.is-scrolled { color: var(--ink); }
  .pkl-nav.is-scrolled .pkl-menu { background: #edf2f3; }
  .pkl-cta-nav { min-width: 42px; padding: 4px; }
  .pkl-cta-nav { font-size: 0; }
  .pkl-cta-nav b { width: 34px; height: 34px; font-size: 15px; }
  .pkl-hero { display: block; min-height: 870px; color: var(--ink); background: #fff; }
  .pkl-hero-bg { right: 0; bottom: auto; height: 51%; background-image: url('/home-assets-v2110/hero-portal-v2110-mobile.webp'); background-position: center 52%; transform: none; }
  .pkl-hero-shade { right: 0; bottom: auto; height: 51%; background: linear-gradient(180deg, rgba(2,30,45,.26), transparent 50%, rgba(2,30,45,.1)); }
  .pkl-hero-pokemon { bottom: auto; height: 51%; }
  .pkl .pkl-pokemon-charizard { display: none !important; }
  .pkl-pokemon-pikachu { right: 5%; bottom: -4%; width: 47vw; }
  .pkl-pokemon-eevee { right: auto; bottom: -1%; left: 5%; display: block; width: 28vw; }
  .pkl-hero-layout { display: block; min-height: 870px; width: 100%; padding: calc(51vh - 18px) 0 0; }
  .pkl-hero-copy { position: relative; z-index: 4; width: 100%; min-height: 455px; padding: 31px 20px 90px; border-radius: 24px 24px 0 0; color: var(--ink); background: #fff; }
  .pkl-version { min-height: 27px; color: #3179a5; border-color: #dce8ec; background: #f2f7f8; font-size: 7px; }
  .pkl-welcome { margin-top: 13px !important; color: #60737c !important; }
  .pkl-hero h1 { margin: 17px 0 14px; font-size: clamp(41px, 12.5vw, 52px); line-height: .99; }
  .pkl-hero h1 em { color: var(--blue); }
  .pkl-hero-copy > p { max-width: 350px; color: #5e7078; font-size: 13px; line-height: 1.58; }
  .pkl-hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 20px; }
  .pkl-hero-actions .pkl-cta, .pkl-hero-actions .pkl-ghost { width: 100%; min-height: 53px; }
  .pkl-ghost { color: var(--ink); border-color: #dbe4e6; background: #fff; }
  .pkl-facts { position: absolute; right: 15px; bottom: 21px; left: 15px; display: grid; grid-template-columns: repeat(3,1fr); padding: 13px 0; border-radius: 15px; background: #f2f6f6; }
  .pkl-facts span { min-width: 0; padding: 0 10px; }
  .pkl-facts span + span { padding-left: 10px; border-color: #dce5e6; }
  .pkl-facts b { font-size: 15px; }
  .pkl-facts small { color: #839198; font-size: 6px; }
  .pkl-scroll { display: none; }
  .pkl-game { padding: 82px 0 78px; }
  .pkl-game-head { margin-bottom: 27px; }
  .pkl-heading h2, .pkl-dex h2 { font-size: 41px; }
  .pkl-game-controls { gap: 6px; }
  .pkl-game-controls button { width: 41px; height: 41px; font-size: 15px; }
  .pkl-game-track { gap: 11px; padding-right: 14px; padding-bottom: 27px; padding-left: 14px; scroll-padding-inline: 14px; }
  .pkl-game-card { min-width: 88vw; height: 510px; flex-basis: 88vw; border-radius: 23px; }
  .pkl-game-card::before { background: linear-gradient(0deg,rgba(2,20,32,.95) 0%,rgba(2,20,32,.48) 58%,rgba(2,20,32,.05) 84%); }
  .pkl-game-card-copy { right: 20px; bottom: 23px; left: 20px; grid-template-columns: 25px 1fr; gap: 12px; }
  .pkl-game-card-copy > b { padding-top: 5px; font-size: 8px; }
  .pkl-game-card h3 { margin: 9px 0 11px; font-size: 45px; }
  .pkl-game-card p { font-size: 11px; line-height: 1.5; }
  .pkl-game-details { flex-wrap: wrap; gap: 6px; }
  .pkl-game-card.is-active .pkl-game-details { max-height: 72px; margin-top: 16px; }
  .pkl-game-details i { padding: 7px 9px; font-size: 7px; }
  .pkl-game-mon { right: 0; bottom: 28%; width: 60vw; height: 45%; }
  .pkl-game-mon-eevee, .pkl-game-mon-mystery { right: 4%; width: 48vw; }
  .pkl-game-mon-charizard { right: -8%; bottom: 23%; width: 72vw; height: 57%; }
  .pkl-game-mon-gengar { right: 1%; width: 58vw; }
  .pkl-game-open { top: 16px; right: 16px; }
  .pkl-game-open b { width: 37px; height: 37px; }
  .pkl-game-progress { width: calc(100vw - 28px); }
  .pkl-dex { padding: 73px 0; }
  .pkl-dex-shell { min-height: auto; border-radius: 24px; }
  .pkl-dex-copy { padding: 37px 25px 0; }
  .pkl-dex-tabs { width: 100%; }
  .pkl-dex-tabs button { padding: 0 8px; }
  .pkl-dex-detail { margin-top: 27px; }
  .pkl-dex-detail h3 { font-size: 24px; }
  .pkl-dex-visual { min-height: 390px; }
  .pkl-dex-visual > img { width: 74vw; height: 330px; }
  .pkl-dex-ring { width: 82vw; }
  .pkl-dex-number { top: 24px; right: 22px; }
  .pkl-dex-name { right: 20px; bottom: 22px; }
  .pkl-ready { min-height: 400px; }
  .pkl-ready-layout { min-height: 400px; padding: 70px 0; }
  .pkl-ready h2 { font-size: 47px; }
  .pkl-ready-cta { width: 100%; }
  .pkl-footer .pkl-shell { grid-template-columns: 1fr; gap: 17px; }
  .pkl-footer nav { grid-column: auto; }
  .pkl-auth-drawer { top: auto; bottom: 0; width: 100%; height: min(94svh, 820px); border-radius: 24px 24px 0 0 !important; transform: translateY(100%); }
  .pkl-auth-cover { min-height: 132px; flex-basis: 132px; }
  .pkl-auth-cover > div { top: 17px; bottom: 16px; left: 20px; }
  .pkl-auth-content { padding: 25px 20px calc(22px + env(safe-area-inset-bottom)); }
  .pkl-auth-heading h1 { font-size: 28px; }
}

@media (max-height: 720px) and (min-width: 561px) {
  .pkl-auth-cover { min-height: 130px; flex-basis: 130px; }
  .pkl-auth-content { padding-top: 23px; padding-bottom: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .pkl { scroll-behavior: auto; }
  .pkl *, .pkl *::before, .pkl *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}

/* v2.13.0 — public site */
.pkl-v2130 { --shell: min(1320px, calc(100vw - 72px)); --orange: #ff7048; }
.pkl-v2130 .pkl-game,
.pkl-v2130 .pkl-dex,
.pkl-v2130 .pkl-start { scroll-margin-top: 78px; }
.pkl-v2130 .pkl-nav { grid-template-columns: auto 1fr auto; gap: 28px; }
.pkl-v2130 .pkl-nav > nav { gap: clamp(18px, 2.15vw, 38px); }
.pkl-v2130 .pkl-nav > nav a { font-size: 11px; }
.pkl-v2130 .pkl-account { padding: 5px 6px 5px 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(3,25,38,.24); backdrop-filter: blur(14px); }
.pkl-v2130 .pkl-nav.is-scrolled .pkl-account { border-color: #dde6e7; background: #f2f6f6; }
.pkl-v2130 .pkl-account-play { background: var(--yellow) !important; }

.pkl-v2130 .pkl-hero { min-height: max(720px, 100svh); background: #092536; }
.pkl-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.015); }
.pkl-v2130 .pkl-hero-shade { background: linear-gradient(90deg,rgba(2,18,29,.94) 0%,rgba(2,18,29,.76) 36%,rgba(2,18,29,.3) 66%,rgba(2,18,29,.2)),linear-gradient(0deg,rgba(2,18,29,.62),transparent 45%); }
.pkl-v2130 .pkl-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(270px, 330px); gap: 70px; padding-top: 132px; }
.pkl-v2130 .pkl-hero-copy { width: min(650px, 56vw); }
.pkl-v2130 .pkl-version { gap: 8px; }
.pkl-v2130 .pkl-version i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(37,214,155,.12); }
.pkl-v2130 .pkl-hero h1 { max-width: 720px; font-size: clamp(55px, 6.1vw, 88px); }
.pkl-v2130 .pkl-ghost { gap: 12px; color: #fff; cursor: pointer; }
.pkl-v2130 .pkl-ghost > i { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-size: 10px; font-style: normal; }
.pkl-hero-note { align-self: end; margin-bottom: 145px; padding: 24px 25px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(3,25,38,.34); box-shadow: 0 24px 60px rgba(0,0,0,.16); backdrop-filter: blur(16px); }
.pkl-hero-note > span { color: var(--yellow); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.pkl-hero-note > b { display: block; margin-top: 12px; font-size: 20px; letter-spacing: -.03em; }
.pkl-hero-note p { margin: 8px 0 18px; color: rgba(255,255,255,.63); font-size: 11px; line-height: 1.55; }
.pkl-hero-note a { display: flex; justify-content: space-between; color: #fff; font-size: 10px; font-weight: 800; }
.pkl-hero-note a i { color: var(--yellow); font-style: normal; }

.pkl-eyebrow { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.pkl-start { position: relative; min-height: 810px; overflow: hidden; color: #fff; background: #122f33; }
.pkl-start-backdrop { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,30,34,.97) 0%,rgba(4,30,34,.83) 34%,rgba(4,30,34,.2) 68%,rgba(4,30,34,.1)),url('/home-assets-v2130/starter-trio-v2130.webp') 68% center / cover no-repeat; transform: scale(1.01); }
.pkl-start-layout { position: relative; display: grid; min-height: 810px; align-items: center; }
.pkl-start-copy { width: min(510px, 48vw); padding: 96px 0; }
.pkl-start .pkl-eyebrow { color: #8fe5c4; }
.pkl-start h2 { margin: 17px 0 18px; font-size: clamp(48px, 5.3vw, 76px); line-height: .96; letter-spacing: -.06em; }
.pkl-start-copy > p { max-width: 480px; margin: 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.65; }
.pkl-starter-tabs { display: grid; gap: 8px; margin-top: 34px; }
.pkl-starter-tabs button { display: grid; min-height: 74px; grid-template-columns: 58px 1fr; align-items: center; gap: 14px; padding: 6px 16px 6px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; color: #fff; background: rgba(255,255,255,.055); cursor: pointer; text-align: left; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.pkl-starter-tabs button:hover { transform: translateX(4px); }
.pkl-starter-tabs button.is-active { border-color: rgba(143,229,196,.55); background: rgba(84,196,154,.18); }
.pkl-starter-tabs img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 10px 9px rgba(0,0,0,.25)); }
.pkl-starter-tabs span { display: grid; gap: 4px; }
.pkl-starter-tabs small { color: rgba(255,255,255,.48); font-size: 7px; font-weight: 800; letter-spacing: .15em; }
.pkl-starter-tabs b { font-size: 16px; }
.pkl-starter-detail { min-height: 65px; margin: 17px 0 4px 81px; }
.pkl-starter-detail span { color: #8fe5c4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pkl-starter-detail p { margin: 6px 0 0; color: rgba(255,255,255,.57); font-size: 10px; line-height: 1.5; }
.pkl-text-cta { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; margin: 4px 0 0 81px; color: #fff; background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.pkl-text-cta b { color: var(--yellow); font-size: 16px; }

.pkl-v2130 .pkl-game { padding: 118px 0 125px; }
.pkl-v2130 .pkl-game-head { align-items: end; margin-bottom: 34px; }
.pkl-v2130 .pkl-heading { display: block; }
.pkl-v2130 .pkl-heading .pkl-eyebrow { display: block; margin-bottom: 17px; padding: 0; }
.pkl-v2130 .pkl-heading h2 { max-width: 760px; }
.pkl-v2130 .pkl-heading p { margin-top: 15px; }
.pkl-v2130 .pkl-game-carousel { position: relative; height: 620px; touch-action: pan-y; }
.pkl-v2130 .pkl-game-track { position: absolute; inset: 0; display: block; padding: 0; overflow: visible; }
.pkl-v2130 .pkl-game-card { --game-offset: 0px; position: absolute; top: 8px; left: 50%; width: min(64vw, 860px); min-width: 0; height: 570px; flex: none; opacity: 0; filter: saturate(.65); transform: translateX(calc(-50% + var(--game-offset))) scale(.82); pointer-events: none; transition: transform .62s cubic-bezier(.2,.76,.2,1),opacity .45s ease,filter .45s ease,box-shadow .45s ease; }
.pkl-v2130 .pkl-game-card[data-game-slot="-2"],
.pkl-v2130 .pkl-game-card[data-game-slot="2"] { opacity: .12; }
.pkl-v2130 .pkl-game-card[data-game-slot="-1"],
.pkl-v2130 .pkl-game-card[data-game-slot="1"] { opacity: .45; transform: translateX(calc(-50% + var(--game-offset))) scale(.9); pointer-events: auto; }
.pkl-v2130 .pkl-game-card.is-active { opacity: 1; filter: none; transform: translateX(-50%) scale(1); pointer-events: auto; }
.pkl-v2130 .pkl-game-card h3 { font-size: clamp(48px, 5.3vw, 73px); }
.pkl-v2130 .pkl-game-mon-pidgey { right: 7%; width: min(27vw, 360px); }
.pkl-v2130 .pkl-game-progress { margin-top: 12px; }

.pkl-v2130 .pkl-dex { padding: 116px 0; }
.pkl-v2130 .pkl-dex-detail > span { color: #6bbaff; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.pkl-v2130 .pkl-dex-tabs button { padding-inline: 18px; }

.pkl-update { position: relative; display: grid; width: min(1580px, calc(100vw - 64px)); min-height: 560px; grid-template-columns: 1.15fr .85fr; margin: 88px auto; border-radius: 30px; overflow: hidden; color: #fff; background: #091f31; box-shadow: 0 30px 90px rgba(7,28,44,.17); }
.pkl-update-media { position: relative; min-height: 560px; overflow: hidden; }
.pkl-update-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 58%,#091f31),linear-gradient(0deg,rgba(9,31,49,.35),transparent 55%); }
.pkl-update-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 8s ease; }
.pkl-update:hover .pkl-update-media img { transform: scale(1.06); }
.pkl-update-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 76px clamp(38px, 5vw, 88px) 76px clamp(28px, 4vw, 68px); }
.pkl-update .pkl-eyebrow { color: var(--yellow); }
.pkl-update h2 { max-width: 480px; margin: 18px 0 18px; font-size: clamp(43px, 4.6vw, 67px); line-height: .98; letter-spacing: -.058em; }
.pkl-update p { max-width: 480px; margin: 0; color: rgba(255,255,255,.63); font-size: 13px; line-height: 1.65; }
.pkl-update-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.pkl-update-tags span { padding: 8px 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.72); font-size: 8px; font-weight: 800; }
.pkl-update-copy > a { display: inline-flex; align-items: center; justify-content: space-between; width: min(240px,100%); min-height: 53px; margin-top: 30px; padding: 7px 7px 7px 17px; border-radius: 13px; color: var(--ink); background: var(--yellow); font-size: 10px; font-weight: 800; }
.pkl-update-copy > a b { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; color: #fff; background: var(--ink); }
.pkl-update-all { position: absolute; top: 25px; right: 27px; display: flex; gap: 12px; color: rgba(255,255,255,.65); font-size: 9px; font-weight: 800; }

.pkl-v2130 .pkl-ready-layout > div > span { color: rgba(7,28,44,.55); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.pkl-v2130 .pkl-ready p { max-width: 520px; margin: 13px 0 0; color: rgba(7,28,44,.64); font-size: 12px; }
.pkl-v2130 .pkl-footer { padding: 35px 0; }
.pkl-v2130 .pkl-footer .pkl-shell { grid-template-columns: auto 1fr auto; }
.pkl-v2130 .pkl-footer nav { justify-content: center; flex-wrap: wrap; }
.pkl-v2130 .pkl-footer > .pkl-shell > small { font-size: 8px; }

.pkl-trailer { position: fixed; z-index: 600; inset: 0; display: grid; visibility: hidden; place-items: center; padding: 28px; opacity: 0; pointer-events: none; transition: opacity .25s ease,visibility .25s ease; }
.pkl-trailer.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.pkl-trailer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(2,14,24,.86); backdrop-filter: blur(14px); cursor: pointer; }
.pkl-trailer-dialog { position: relative; width: min(1100px, 94vw); max-height: calc(100svh - 56px); padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 25px; overflow-y: auto; color: #fff; background: #071c2c; box-shadow: 0 35px 120px rgba(0,0,0,.46); transform: translateY(18px) scale(.98); transition: transform .3s ease; }
.pkl-trailer.is-open .pkl-trailer-dialog { transform: none; }
.pkl-trailer-head { padding: 8px 45px 20px 5px; }
.pkl-trailer-head span { color: var(--yellow); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.pkl-trailer-head h2 { margin: 9px 0 0; font-size: clamp(25px,3vw,42px); letter-spacing: -.045em; }
.pkl-trailer-dialog video { display: block; width: 100%; aspect-ratio: 16/9; border-radius: 17px; background: #020b11; }
.pkl-trailer-close { position: absolute; z-index: 2; top: 19px; right: 19px; display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.1); cursor: pointer; font-size: 21px; }
.pkl-trailer-chapters { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding-top: 13px; }
.pkl-trailer-chapters span { padding: 12px; border-radius: 10px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); font-size: 8px; font-weight: 800; text-align: center; }
.pkl-v2130 .pkl-auth-cover { padding: 26px 72px 24px 28px; background: linear-gradient(90deg,rgba(4,28,43,.9),rgba(4,28,43,.28)),url('/home-assets-v2130/scene-lab.webp') center / cover; }
.pkl-v2130 .pkl-auth-cover > span { position: relative; z-index: 2; color: var(--yellow); font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.pkl-v2130 .pkl-auth-cover > div { top: auto; right: 28px; bottom: 24px; }

@media (max-width: 1120px) {
  .pkl-v2130 { --shell: calc(100vw - 48px); }
  .pkl-v2130 .pkl-nav > nav { gap: 16px; }
  .pkl-v2130 .pkl-nav > nav a { font-size: 10px; }
  .pkl-v2130 .pkl-hero-layout { grid-template-columns: 1fr 270px; gap: 35px; }
  .pkl-v2130 .pkl-game-card { width: 72vw; }
  .pkl-update { width: calc(100vw - 48px); }
}

@media (max-width: 920px) {
  .pkl-v2130 .pkl-nav > nav { position: absolute; top: calc(100% + 6px); right: 18px; left: 18px; display: none; padding: 9px; border-radius: 15px; color: var(--ink); background: rgba(255,255,255,.98); box-shadow: 0 18px 50px rgba(7,28,44,.18); }
  .pkl-v2130 .pkl-nav.is-menu-open > nav { display: grid; }
  .pkl-v2130 .pkl-nav > nav a { padding: 11px 12px; border-radius: 9px; }
  .pkl-v2130 .pkl-menu { display: block; }
  .pkl-v2130 .pkl-hero-layout { grid-template-columns: 1fr; }
  .pkl-hero-note { display: none; }
  .pkl-v2130 .pkl-hero-copy { width: min(680px, 78vw); }
  .pkl-start-backdrop { background-position: 58% center; }
  .pkl-start-copy { width: min(490px, 54vw); }
  .pkl-v2130 .pkl-game-card { width: 78vw; }
  .pkl-update { grid-template-columns: 1fr; }
  .pkl-update-media { min-height: 390px; }
  .pkl-update-media::after { background: linear-gradient(0deg,#091f31,transparent 65%); }
  .pkl-update-copy { margin-top: -90px; padding-top: 95px; }
}

@media (max-width: 700px) {
  .pkl-v2130 { --shell: calc(100vw - 30px); }
  .pkl-v2130 .pkl-nav { min-height: 68px; gap: 7px; padding: 9px 14px; }
  .pkl-v2130 .pkl-nav-actions { margin-left: auto; }
  .pkl-v2130 .pkl-signin { display: none; }
  .pkl-v2130 .pkl-account > span:nth-child(2),
  .pkl-v2130 .pkl-logout { display: none; }
  .pkl-v2130 .pkl-hero { min-height: 780px; color: #fff; }
  .pkl-hero-video { object-position: 60% center; }
  .pkl-v2130 .pkl-hero-shade { background: linear-gradient(0deg,rgba(2,18,29,.97) 0%,rgba(2,18,29,.74) 54%,rgba(2,18,29,.27) 100%); }
  .pkl-v2130 .pkl-hero-layout { display: flex; min-height: 780px; align-items: flex-end; padding: 110px 0 72px; }
  .pkl-v2130 .pkl-hero-copy { width: 100%; padding: 0; color: #fff; background: transparent; }
  .pkl-v2130 .pkl-hero h1 { margin: 18px 0 15px; font-size: clamp(46px,14vw,66px); }
  .pkl-v2130 .pkl-hero h1 em { color: var(--yellow); }
  .pkl-v2130 .pkl-hero-copy > p { color: rgba(255,255,255,.72); font-size: 13px; }
  .pkl-v2130 .pkl-hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 22px; }
  .pkl-v2130 .pkl-hero-actions .pkl-cta,
  .pkl-v2130 .pkl-hero-actions .pkl-ghost { width: 100%; min-height: 53px; }
  .pkl-v2130 .pkl-ghost { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(2,18,29,.25); }
  .pkl-v2130 .pkl-facts { position: static; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 22px; padding: 13px 0; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(2,18,29,.35); backdrop-filter: blur(12px); }
  .pkl-v2130 .pkl-facts span { min-width: 0; padding: 0 9px; }
  .pkl-v2130 .pkl-facts small { color: rgba(255,255,255,.48); font-size: 6px; }
  .pkl-start { min-height: 850px; }
  .pkl-start-backdrop { background: linear-gradient(0deg,rgba(4,30,34,.99) 0%,rgba(4,30,34,.87) 55%,rgba(4,30,34,.16) 100%),url('/home-assets-v2130/starter-trio-v2130.webp') 62% top / auto 53% no-repeat; }
  .pkl-start-layout { min-height: 850px; align-items: end; }
  .pkl-start-copy { width: 100%; padding: 310px 0 58px; }
  .pkl-start h2 { font-size: 48px; }
  .pkl-starter-tabs { grid-template-columns: repeat(3,1fr); }
  .pkl-starter-tabs button { min-height: 105px; grid-template-columns: 1fr; justify-items: center; gap: 4px; padding: 8px 4px; text-align: center; }
  .pkl-starter-tabs button:hover { transform: none; }
  .pkl-starter-tabs img { width: 55px; height: 55px; }
  .pkl-starter-tabs small { font-size: 5px; }
  .pkl-starter-tabs b { font-size: 10px; }
  .pkl-starter-detail { min-height: 72px; margin-left: 0; }
  .pkl-text-cta { margin-left: 0; }
  .pkl-v2130 .pkl-game { padding: 78px 0 84px; }
  .pkl-v2130 .pkl-game-head { grid-template-columns: 1fr auto; }
  .pkl-v2130 .pkl-heading p { display: none; }
  .pkl-v2130 .pkl-game-carousel { height: 550px; margin-top: 24px; }
  .pkl-v2130 .pkl-game-card { top: 0; width: 86vw; height: 510px; }
  .pkl-v2130 .pkl-game-card[data-game-slot="-1"],
  .pkl-v2130 .pkl-game-card[data-game-slot="1"] { opacity: .18; }
  .pkl-v2130 .pkl-game-card-copy { right: 20px; bottom: 24px; left: 20px; }
  .pkl-v2130 .pkl-game-card h3 { font-size: 47px; }
  .pkl-v2130 .pkl-game-progress { margin-top: 3px; }
  .pkl-v2130 .pkl-dex { padding: 74px 0; }
  .pkl-update { width: calc(100vw - 28px); min-height: 0; margin: 54px auto; border-radius: 23px; }
  .pkl-update-media { min-height: 300px; }
  .pkl-update-copy { padding: 85px 24px 45px; }
  .pkl-update h2 { font-size: 45px; }
  .pkl-update-all { top: 18px; right: 20px; }
  .pkl-v2130 .pkl-footer .pkl-shell { grid-template-columns: 1fr; }
  .pkl-v2130 .pkl-footer nav { justify-content: flex-start; }
  .pkl-trailer { padding: 10px; }
  .pkl-trailer-dialog { width: 100%; padding: 14px; border-radius: 19px; }
  .pkl-trailer-chapters { grid-template-columns: 1fr 1fr; }
  .pkl-v2130 .pkl-auth-cover { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .pkl-hero-video { display: none; }
  .pkl-v2130 .pkl-hero { background: #0b354d url('/home-assets-v2130/scene-route1.webp') center / cover no-repeat; }
}

/* v2.14.0 — quieter carousel, field Pokédex and community update rail */
.pkl-v2140 .pkl-hero-copy { padding-bottom: 24px; }
.pkl-v2140 .pkl-hero-actions { margin-top: 32px; }

.pkl-v2140 .pkl-game { padding: 96px 0 88px; }
.pkl-v2140 .pkl-game-head { margin-bottom: 26px; }
.pkl-v2140 .pkl-game-carousel { position: relative; height: 504px; margin-top: 16px; }
.pkl-v2140 .pkl-game-carousel::before,
.pkl-v2140 .pkl-game-carousel::after { content: ""; position: absolute; z-index: 40; top: 0; bottom: 0; width: min(12vw,170px); pointer-events: none; }
.pkl-v2140 .pkl-game-carousel::before { left: 0; background: linear-gradient(90deg,#f2f6f5,rgba(242,246,245,0)); }
.pkl-v2140 .pkl-game-carousel::after { right: 0; background: linear-gradient(-90deg,#f2f6f5,rgba(242,246,245,0)); }
.pkl-v2140 .pkl-game-card { top: 4px; width: min(54vw,760px); height: 472px; border-radius: 27px; box-shadow: 0 20px 55px rgba(8,31,44,.12); }
.pkl-v2140 .pkl-game-card[data-game-slot="-2"],
.pkl-v2140 .pkl-game-card[data-game-slot="2"] { opacity: .08; transform: translateX(calc(-50% + var(--game-offset))) scale(.88); }
.pkl-v2140 .pkl-game-card[data-game-slot="-1"],
.pkl-v2140 .pkl-game-card[data-game-slot="1"] { opacity: .3; filter: saturate(.55) brightness(.88); transform: translateX(calc(-50% + var(--game-offset))) scale(.94); }
.pkl-v2140 .pkl-game-card:not(.is-active) .pkl-game-card-copy,
.pkl-v2140 .pkl-game-card:not(.is-active) .pkl-game-mon,
.pkl-v2140 .pkl-game-card:not(.is-active) .pkl-game-open { opacity: 0; }
.pkl-v2140 .pkl-game-card.is-active { box-shadow: 0 27px 70px rgba(8,31,44,.2); }
.pkl-v2140 .pkl-game-card-copy { left: clamp(30px,4vw,56px); width: min(49%,390px); grid-template-columns: 25px 1fr; gap: 14px; }
.pkl-v2140 .pkl-game-card h3 { margin: 6px 0 11px; font-size: clamp(43px,4.2vw,59px); }
.pkl-v2140 .pkl-game-card-copy p { max-width: 350px; font-size: 12px; line-height: 1.6; }
.pkl-v2140 .pkl-game-details { margin-top: 17px; }
.pkl-v2140 .pkl-game-mon { right: 2%; width: min(27vw,340px); height: 71%; }
.pkl-v2140 .pkl-game-mon-charizard { right: -2%; width: min(34vw,430px); height: 85%; }
.pkl-v2140 .pkl-game-mon-eevee,
.pkl-v2140 .pkl-game-mon-pidgey { width: min(23vw,290px); }
.pkl-v2140 .pkl-game-progress { margin-top: 2px; }

.pkl-v2140 .pkl-dex { padding: 102px 0; }
.pkl-v2140 .pkl-dex-shell { min-height: 570px; grid-template-columns: .86fr 1.14fr; background: radial-gradient(circle at 77% 38%,rgba(32,130,186,.35),transparent 34%),linear-gradient(135deg,#071b29,#081f31 58%,#050b11); }
.pkl-v2140 .pkl-dex-copy { position: relative; z-index: 5; padding: 58px; }
.pkl-v2140 .pkl-dex-visual { min-height: 570px; isolation: isolate; }
.pkl-v2140 .pkl-dex-visual::before { width: 80%; background: radial-gradient(circle,rgba(36,153,225,.18),rgba(8,28,43,0) 68%); filter: blur(8px); }
.pkl-v2140 .pkl-dex-visual > .pkl-dex-device { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; border: 0; filter: none; opacity: .92; transform: scale(1.03); transition: transform .8s cubic-bezier(.2,.75,.2,1); }
.pkl-v2140 .pkl-dex-shell:hover .pkl-dex-device { transform: scale(1.055); }
.pkl-dex-scan { position: absolute; z-index: 4; top: 32px; right: 32px; display: grid; min-width: 188px; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid rgba(126,220,255,.33); border-radius: 15px; background: rgba(4,22,34,.76); box-shadow: 0 14px 35px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.pkl-dex-scan > img { width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(0,0,0,.35)); transition: opacity .18s ease,transform .22s ease; }
.pkl-dex-scan > img.is-changing { opacity: 0; transform: translateY(7px) scale(.92); }
.pkl-dex-scan > span { display: grid; }
.pkl-dex-scan small { color: #72d8ff; font-size: 6px; font-weight: 800; letter-spacing: .11em; }
.pkl-dex-scan b { margin-top: 2px; color: #fff; font-size: 13px; }
.pkl-dex-scan strong { color: rgba(255,255,255,.44); font-size: 8px; letter-spacing: .1em; }
.pkl-dex-specimens { position: absolute; z-index: 5; right: 31px; bottom: 28px; display: flex; gap: 7px; padding: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(4,20,31,.76); backdrop-filter: blur(13px); }
.pkl-dex-specimens button,
.pkl-dex-specimens a { display: grid; width: 62px; height: 67px; place-items: center; padding: 4px; border: 1px solid transparent; border-radius: 12px; color: rgba(255,255,255,.62); background: rgba(255,255,255,.05); cursor: pointer; }
.pkl-dex-specimens button.is-active { border-color: #55c9ff; background: rgba(48,158,218,.2); }
.pkl-dex-specimens img { width: 42px; height: 42px; object-fit: contain; }
.pkl-dex-specimens span { font-size: 6px; font-weight: 800; letter-spacing: .07em; }
.pkl-dex-specimens a b { font-size: 20px; line-height: 1; }

.pkl-community { display: grid; width: min(1580px,calc(100vw - 64px)); min-height: 530px; grid-template-columns: minmax(360px,.82fr) minmax(520px,1.18fr); margin: 86px auto; border-radius: 30px; overflow: hidden; background: #fff; box-shadow: 0 28px 85px rgba(7,28,44,.14); }
.pkl-community-social { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(44px,5vw,76px); background: linear-gradient(150deg,#fff,#f1f5f4); }
.pkl-community-social .pkl-eyebrow { color: var(--blue); }
.pkl-community-social h2 { max-width: 520px; margin: 16px 0 16px; font-size: clamp(41px,4.5vw,64px); line-height: .98; letter-spacing: -.056em; }
.pkl-community-social > p { max-width: 480px; margin: 0; color: #6a7a81; font-size: 12px; line-height: 1.65; }
.pkl-social-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 29px; }
.pkl-social-grid > span { display: grid; min-width: 0; grid-template-columns: 37px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #dfe7e7; border-radius: 13px; background: rgba(255,255,255,.82); }
.pkl-social-grid i { display: grid; width: 37px; height: 37px; grid-row: 1/3; place-items: center; border-radius: 10px; color: #fff; background: var(--ink); font-size: 11px; font-style: normal; font-weight: 800; }
.pkl-social-grid b { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.pkl-social-grid small { color: #98a5a9; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pkl-social-grid .is-youtube i { background: #f23030; }
.pkl-social-grid .is-tiktok i { background: #111; text-shadow: 2px 0 #ff3b73,-2px 0 #28e9e4; }
.pkl-social-grid .is-instagram i { background: linear-gradient(135deg,#7147d9,#e13c74 58%,#f5a637); font-size: 17px; }
.pkl-social-grid .is-vk i { background: #2787f5; font-size: 9px; }
.pkl-latest-patch { position: relative; min-height: 530px; overflow: hidden; isolation: isolate; color: #fff; background: #0c2830; }
.pkl-latest-bg { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 8s ease; }
.pkl-latest-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg,rgba(4,23,28,.42),rgba(4,23,28,.13) 54%,rgba(4,23,28,.58)),linear-gradient(0deg,rgba(4,18,24,.95),rgba(4,18,24,.04) 68%); }
.pkl-latest-mon { position: absolute; z-index: -1; top: 10%; right: 4%; width: min(42%,330px); height: 54%; object-fit: contain; filter: drop-shadow(0 25px 25px rgba(0,0,0,.38)); transition: transform .5s cubic-bezier(.2,.75,.2,1); }
.pkl-latest-patch:hover .pkl-latest-bg { transform: scale(1.055); }
.pkl-latest-patch:hover .pkl-latest-mon { transform: translateY(-7px) rotate(2deg); }
.pkl-latest-meta { position: absolute; top: 27px; right: 28px; left: 28px; display: flex; justify-content: space-between; gap: 16px; color: rgba(255,255,255,.66); font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .1em; }
.pkl-latest-meta i { color: #ffe15a; font-style: normal; }
.pkl-latest-copy { position: absolute; right: 32px; bottom: 77px; left: 34px; display: grid; }
.pkl-latest-copy small { color: #ffe15a; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.pkl-latest-copy b { max-width: 690px; margin-top: 9px; color: #fff; font-size: clamp(38px,4.5vw,67px); line-height: .94; letter-spacing: -.055em; }
.pkl-latest-copy em { max-width: 460px; margin-top: 13px; color: rgba(255,255,255,.68); font-size: 11px; font-style: normal; }
.pkl-latest-action { position: absolute; right: 28px; bottom: 26px; display: flex; min-width: 175px; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.28); font-size: 9px; font-weight: 800; }

@media (max-width: 1020px) {
  .pkl-v2140 .pkl-game-card { width: 66vw; }
  .pkl-v2140 .pkl-dex-shell { grid-template-columns: 1fr; }
  .pkl-v2140 .pkl-dex-visual { min-height: 530px; }
  .pkl-community { grid-template-columns: 1fr; }
  .pkl-latest-patch { min-height: 520px; }
}

@media (max-width: 700px) {
  .pkl-v2140 .pkl-game { padding: 72px 0 76px; }
  .pkl-v2140 .pkl-game-head { grid-template-columns: 1fr auto; }
  .pkl-v2140 .pkl-game-carousel { height: 448px; margin-top: 19px; }
  .pkl-v2140 .pkl-game-carousel::before,
  .pkl-v2140 .pkl-game-carousel::after { width: 24px; }
  .pkl-v2140 .pkl-game-card { width: calc(100vw - 42px); height: 420px; border-radius: 23px; }
  .pkl-v2140 .pkl-game-card[data-game-slot="-1"],
  .pkl-v2140 .pkl-game-card[data-game-slot="1"] { opacity: .14; }
  .pkl-v2140 .pkl-game-card-copy { top: auto; right: 20px; bottom: 62px; left: 20px; width: auto; grid-template-columns: 1fr; transform: none; }
  .pkl-v2140 .pkl-game-card-copy > b,
  .pkl-v2140 .pkl-game-details { display: none; }
  .pkl-v2140 .pkl-game-card h3 { font-size: 43px; }
  .pkl-v2140 .pkl-game-card-copy p { max-width: 80%; }
  .pkl-v2140 .pkl-game-mon { right: -1%; bottom: 1%; width: 47vw; height: 57%; opacity: .58; }
  .pkl-v2140 .pkl-game-card.is-active .pkl-game-mon { opacity: .68; }
  .pkl-v2140 .pkl-dex { padding: 68px 0; }
  .pkl-v2140 .pkl-dex-copy { padding: 38px 25px 8px; }
  .pkl-v2140 .pkl-dex-visual { min-height: 390px; }
  .pkl-v2140 .pkl-dex-visual > .pkl-dex-device { object-fit: cover; transform: scale(1.08); }
  .pkl-dex-scan { top: 15px; right: 15px; grid-template-columns: 43px 1fr; min-width: 154px; }
  .pkl-dex-scan > img { width: 43px; height: 43px; }
  .pkl-dex-scan strong { display: none; }
  .pkl-dex-specimens { right: 14px; bottom: 14px; }
  .pkl-community { width: calc(100vw - 28px); min-height: 0; margin: 52px auto; border-radius: 23px; }
  .pkl-community-social { padding: 42px 23px; }
  .pkl-community-social h2 { font-size: 43px; }
  .pkl-social-grid { grid-template-columns: 1fr; }
  .pkl-latest-patch { min-height: 445px; }
  .pkl-latest-meta { top: 20px; right: 20px; left: 20px; }
  .pkl-latest-mon { top: 13%; width: 48%; }
  .pkl-latest-copy { right: 22px; bottom: 72px; left: 22px; }
  .pkl-latest-copy b { font-size: 43px; }
  .pkl-latest-action { right: 21px; bottom: 22px; min-width: 165px; }
}

/* PokePark public-site v2.15.0 — gameplay-led landing */
.pkl-v2150 {
  user-select: none;
  -webkit-user-select: none;
  background: #061b27;
}
.pkl-v2150 img,
.pkl-v2150 video { -webkit-user-drag: none; user-drag: none; }
.pkl-v2150 input,
.pkl-v2150 textarea { user-select: text; -webkit-user-select: text; }
.pkl-v2150 .pkl-account-avatar {
  overflow: hidden;
  padding: 0;
  background: linear-gradient(145deg, #dff7ff, #8bc7e8);
  border: 2px solid rgba(255,255,255,.82);
  box-shadow: 0 5px 18px rgba(4,27,39,.18);
}
.pkl-v2150 .pkl-account-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pkl-team {
  position: relative;
  min-height: 920px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
  background: #061923;
}
.pkl-team-bg,
.pkl-team-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pkl-team-bg { z-index: -3; object-fit: cover; object-position: center; }
.pkl-team-shade {
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(3,17,27,.36), rgba(3,17,27,.08) 35%, rgba(3,17,27,.78)),
    linear-gradient(90deg, rgba(3,17,27,.12) 35%, rgba(3,17,27,.84) 76%, rgba(3,17,27,.94));
}
.pkl-team-shell { padding-top: 112px; padding-bottom: 78px; }
.pkl-team-head { position: relative; z-index: 3; width: min(580px, 54%); }
.pkl-team-head .pkl-eyebrow { color: #8fe6bc; }
.pkl-team-head h2 { margin: 14px 0 16px; font-size: clamp(46px, 5.2vw, 78px); line-height: .93; letter-spacing: -.065em; }
.pkl-team-head p { margin: 0; max-width: 570px; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.62; }
.pkl-team-stage { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(410px, .86fr); align-items: end; min-height: 560px; margin-top: -80px; }
.pkl-team-visual { position: relative; min-height: 560px; display: flex; align-items: flex-end; justify-content: center; }
.pkl-team-index { position: absolute; left: 1%; top: 42%; font: 800 clamp(88px, 12vw, 170px)/1 var(--pkl-display); color: rgba(255,255,255,.08); letter-spacing: -.08em; }
.pkl-team-mon { position: relative; z-index: 1; width: min(530px, 76%); max-height: 520px; object-fit: contain; filter: drop-shadow(0 42px 35px rgba(0,0,0,.45)); transform-origin: 50% 90%; transition: opacity .22s ease, transform .32s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.pkl-team-mon.is-changing { opacity: 0; transform: translateY(20px) scale(.94); filter: blur(6px); }
.pkl-team-switcher { position: absolute; z-index: 3; left: 0; bottom: 10px; display: flex; gap: 10px; }
.pkl-team-switcher button { width: 76px; height: 76px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; padding: 7px; background: rgba(4,25,36,.68); color: #fff; backdrop-filter: blur(18px); cursor: pointer; transition: .22s ease; }
.pkl-team-switcher button img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 7px 8px rgba(0,0,0,.22)); }
.pkl-team-switcher button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pkl-team-switcher button:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.65); }
.pkl-team-switcher button.is-active { background: #fff; box-shadow: 0 12px 28px rgba(0,0,0,.25), inset 0 0 0 3px var(--team-accent, #54cf8e); transform: translateY(-6px); }
.pkl-team-stage[data-team-theme="grass"] { --team-accent: #56d38c; --team-soft: #c6f4d7; }
.pkl-team-stage[data-team-theme="fire"] { --team-accent: #ff7754; --team-soft: #ffd2c5; }
.pkl-team-stage[data-team-theme="water"] { --team-accent: #54bdfa; --team-soft: #c5ebff; }
.pkl-team-panel { position: relative; z-index: 4; margin-bottom: 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 30px; padding: 30px; background: rgba(4,24,35,.78); box-shadow: 0 30px 80px rgba(0,0,0,.28); backdrop-filter: blur(24px); }
.pkl-team-title > span { color: var(--team-accent); font: 800 10px/1 var(--pkl-display); letter-spacing: .17em; }
.pkl-team-title h3 { margin: 8px 0 8px; font-size: 42px; line-height: 1; letter-spacing: -.045em; }
.pkl-team-title p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.55; }
.pkl-team-types { display: flex; gap: 8px; margin: 18px 0 22px; }
.pkl-team-types span,
.pkl-team-types i { border: 1px solid color-mix(in srgb, var(--team-accent), white 16%); border-radius: 999px; padding: 8px 12px; color: var(--team-soft); background: color-mix(in srgb, var(--team-accent) 18%, transparent); font: 800 9px/1 var(--pkl-display); letter-spacing: .14em; font-style: normal; }
.pkl-skill-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.pkl-skill { position: relative; display: grid; grid-template-columns: 54px 1fr; align-items: center; min-height: 74px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; padding: 9px 44px 9px 9px; background: rgba(255,255,255,.055); overflow: hidden; }
.pkl-skill.is-ultimate { border-color: color-mix(in srgb, var(--team-accent), transparent 38%); background: color-mix(in srgb, var(--team-accent) 15%, rgba(255,255,255,.04)); }
.pkl-skill img { width: 48px; height: 48px; border-radius: 13px; object-fit: cover; }
.pkl-skill span { min-width: 0; padding-left: 9px; }
.pkl-skill small { display: block; margin-bottom: 5px; color: rgba(255,255,255,.42); font: 700 7px/1 var(--pkl-display); letter-spacing: .11em; }
.pkl-skill b { display: block; overflow: hidden; color: #fff; font-size: 12px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.pkl-skill em { position: absolute; right: 10px; top: 10px; color: rgba(255,255,255,.52); font: 700 9px/1 var(--pkl-display); font-style: normal; }
.pkl-team-link { display: inline-flex; align-items: center; gap: 24px; margin-top: 22px; color: #fff; font-weight: 800; text-decoration: none; }
.pkl-team-link b { display: grid; width: 34px; height: 34px; border-radius: 11px; place-items: center; background: var(--team-accent); color: #06202b; }

.pkl-features { position: relative; min-height: 940px; overflow: hidden; color: #fff; isolation: isolate; background: #061b27; }
.pkl-feature-bg,
.pkl-feature-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pkl-feature-bg { z-index: -4; object-fit: cover; transition: opacity .28s ease, transform 1s ease; }
.pkl-feature-bg.is-changing { opacity: .25; transform: scale(1.025); }
.pkl-feature-shade { z-index: -3; background: linear-gradient(90deg, rgba(3,19,29,.9) 0%, rgba(3,19,29,.62) 36%, rgba(3,19,29,.08) 69%), linear-gradient(0deg, rgba(2,17,26,.9) 0%, transparent 45%, rgba(2,17,26,.28)); }
.pkl-feature-mon { position: absolute; z-index: -1; right: 5vw; bottom: 170px; width: clamp(190px, 22vw, 330px); max-height: 390px; object-fit: contain; filter: drop-shadow(0 32px 28px rgba(0,0,0,.42)); transition: opacity .2s ease, transform .36s ease; }
.pkl-feature-mon.is-changing { opacity: 0; transform: translateX(30px) scale(.92); }
.pkl-feature-layout { min-height: 820px; padding-top: 110px; padding-bottom: 190px; display: grid; grid-template-rows: auto 1fr auto; }
.pkl-feature-head { width: min(610px, 52%); }
.pkl-feature-head .pkl-eyebrow { color: #ffd741; }
.pkl-feature-head h2 { margin: 14px 0 0; font-size: clamp(52px, 6.3vw, 92px); line-height: .9; letter-spacing: -.07em; }
.pkl-feature-copy { align-self: center; width: min(500px, 48%); }
.pkl-feature-copy > span { color: #ffd741; font: 800 10px/1 var(--pkl-display); letter-spacing: .18em; }
.pkl-feature-copy h3 { margin: 12px 0 14px; font-size: 38px; line-height: 1.02; letter-spacing: -.045em; }
.pkl-feature-copy p { margin: 0; max-width: 460px; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.65; }
.pkl-feature-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.pkl-feature-tags i { border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 8px 12px; background: rgba(4,25,36,.36); color: rgba(255,255,255,.78); font-size: 11px; font-style: normal; backdrop-filter: blur(12px); }
.pkl-feature-nav { align-self: end; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.2); }
.pkl-feature-nav button { position: relative; display: flex; gap: 15px; min-height: 84px; border: 0; border-right: 1px solid rgba(255,255,255,.16); padding: 20px 18px; background: rgba(3,20,30,.42); color: rgba(255,255,255,.56); text-align: left; cursor: pointer; backdrop-filter: blur(16px); transition: .22s ease; }
.pkl-feature-nav button:last-child { border-right: 0; }
.pkl-feature-nav button::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 3px; background: #ffd741; transition: right .28s ease; }
.pkl-feature-nav button.is-active { color: #fff; background: rgba(3,20,30,.72); }
.pkl-feature-nav button.is-active::after { right: 0; }
.pkl-feature-nav button > b { color: #ffd741; font-size: 11px; }
.pkl-feature-nav button span { display: grid; gap: 5px; font-weight: 800; }
.pkl-feature-nav button small { color: inherit; font-size: 9px; font-weight: 600; letter-spacing: .06em; }
.pkl-feature-facts { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(4,1fr); min-height: 120px; padding: 0 max(24px, calc((100vw - 1224px) / 2)); background: #f4f7f5; color: #072132; }
.pkl-feature-facts > span { display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #d9e0de; padding: 20px 28px; }
.pkl-feature-facts > span:first-child { border-left: 1px solid #d9e0de; }
.pkl-feature-facts b { font-size: 16px; }
.pkl-feature-facts small { margin-top: 5px; color: #76848a; font-size: 11px; }

.pkl-updates { position: relative; overflow: hidden; padding: 112px 0 124px; background: #f4f7f5; color: #072132; }
.pkl-updates::before { content: "PATCHES"; position: absolute; right: -24px; top: 12px; color: rgba(7,33,50,.035); font: 900 170px/1 var(--pkl-display); letter-spacing: -.08em; }
.pkl-updates-head { position: relative; display: flex; justify-content: space-between; align-items: end; margin-bottom: 42px; }
.pkl-updates-head h2 { margin: 12px 0 0; max-width: 670px; font-size: clamp(48px, 5.6vw, 76px); line-height: .94; letter-spacing: -.065em; }
.pkl-updates-head > a { display: inline-flex; gap: 20px; align-items: center; color: #072132; font-weight: 800; text-decoration: none; }
.pkl-updates-head > a b { display: grid; width: 42px; height: 42px; border-radius: 50%; place-items: center; background: #ffd741; }
.pkl-update-grid { display: grid; grid-template-columns: 1.45fr .78fr; grid-template-rows: repeat(2, 280px); gap: 16px; }
.pkl-update-card { position: relative; display: block; overflow: hidden; border-radius: 28px; color: #fff; text-decoration: none; isolation: isolate; box-shadow: 0 20px 60px rgba(9,31,43,.1); }
.pkl-update-card.is-main { grid-row: 1 / 3; }
.pkl-update-card > img:first-child,
.pkl-update-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pkl-update-card > img:first-child { z-index: -3; object-fit: cover; object-position: center 48%; transition: transform .55s ease; }
.pkl-update-card.is-main > img:first-child { object-position: center 66%; }
.pkl-update-shade { z-index: -2; background: linear-gradient(180deg, rgba(3,19,29,.05), rgba(3,19,29,.86) 86%), linear-gradient(90deg, rgba(3,19,29,.5), transparent 62%); }
.pkl-update-card:hover > img:first-child { transform: scale(1.035); }
.pkl-update-mon { position: absolute; z-index: -1; right: 3%; bottom: 7%; width: 40%; max-height: 72%; object-fit: contain; filter: drop-shadow(0 22px 22px rgba(0,0,0,.42)); transition: transform .4s ease; }
.pkl-update-card:hover .pkl-update-mon { transform: translateY(-8px) scale(1.03); }
.pkl-update-card.is-quarry .pkl-update-mon { width: 39%; right: 2%; bottom: 4%; }
.pkl-update-meta { position: absolute; left: 26px; right: 26px; top: 23px; display: flex; justify-content: space-between; color: rgba(255,255,255,.72); font: 800 9px/1 var(--pkl-display); letter-spacing: .12em; }
.pkl-update-meta i { color: #ffd741; font-style: normal; }
.pkl-update-copy { position: absolute; left: 28px; right: 28px; bottom: 66px; display: grid; max-width: 69%; }
.pkl-update-copy small { margin-bottom: 9px; color: #ffd741; font: 800 9px/1 var(--pkl-display); letter-spacing: .15em; }
.pkl-update-copy b { color: #fff; font-size: 33px; line-height: 1; letter-spacing: -.045em; }
.pkl-update-card.is-main .pkl-update-copy b { font-size: clamp(42px, 4.2vw, 62px); }
.pkl-update-copy em { margin-top: 10px; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.5; font-style: normal; }
.pkl-update-card > strong { position: absolute; left: 28px; bottom: 25px; display: flex; gap: 18px; color: #fff; font-size: 11px; }

.pkl-community-v2 { position: relative; display: block; min-height: 700px; overflow: hidden; isolation: isolate; color: #fff; background: #03131f; }
.pkl-community-bg,
.pkl-community-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pkl-community-bg { z-index: -3; object-fit: cover; object-position: center; }
.pkl-community-shade { z-index: -2; background: linear-gradient(90deg, rgba(2,15,28,.96) 0%, rgba(2,15,28,.72) 34%, rgba(2,15,28,.08) 70%), linear-gradient(0deg, rgba(2,15,28,.58), transparent 55%); }
.pkl-community-layout { min-height: 700px; display: grid; grid-template-columns: minmax(0,1fr) 410px; gap: 60px; align-items: center; }
.pkl-community-copy { max-width: 560px; }
.pkl-community-copy .pkl-eyebrow { color: #ffca49; }
.pkl-community-copy h2 { margin: 15px 0 18px; font-size: clamp(54px, 6vw, 88px); line-height: .9; letter-spacing: -.07em; }
.pkl-community-copy p { max-width: 470px; margin: 0; color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.62; }
.pkl-community-copy > a { display: inline-flex; align-items: center; gap: 30px; margin-top: 28px; border-radius: 15px; padding: 15px 17px 15px 20px; background: #ffd741; color: #072132; font-weight: 850; text-decoration: none; }
.pkl-community-copy > a b { display: grid; width: 31px; height: 31px; border-radius: 9px; place-items: center; background: #072132; color: #fff; }
.pkl-community-links { display: grid; gap: 9px; align-self: center; }
.pkl-community-links > span { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; min-height: 67px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; padding: 9px 16px 9px 9px; background: rgba(3,20,31,.48); backdrop-filter: blur(18px); }
.pkl-community-links i { display: grid; width: 46px; height: 46px; border-radius: 13px; place-items: center; background: rgba(255,255,255,.1); color: #fff; font: 800 12px/1 var(--pkl-display); font-style: normal; }
.pkl-community-links i.is-youtube { background: #f12435; }
.pkl-community-links i.is-tiktok { background: #080d11; }
.pkl-community-links i.is-instagram { background: linear-gradient(145deg,#6944df,#ef3f78,#ffb445); }
.pkl-community-links i.is-vk { background: #2c91e8; }
.pkl-community-links b { padding-left: 12px; font-size: 14px; }
.pkl-community-links small { color: rgba(255,255,255,.48); font: 750 9px/1 var(--pkl-display); letter-spacing: .1em; text-transform: uppercase; }

.pkl-ready-v2 { min-height: 300px; background: #ffd741; }
.pkl-ready-v2 .pkl-ready-layout { min-height: 300px; }
.pkl-ready-v2 .pkl-ready-ball { display: none; }
.pkl-ready-v2 h2 { max-width: 760px; }
.pkl-ready-v2 .pkl-ready-cta { min-width: 230px; }

.pkl-footer-v2 { padding: 68px 0 24px; background: #03131f; color: #fff; }
.pkl-v2150 .pkl-footer-grid { display: grid !important; grid-template-columns: minmax(280px,1.35fr) repeat(3,minmax(120px,.65fr)) !important; gap: 42px; align-items: start !important; padding-bottom: 54px; }
.pkl-v2150 .pkl-footer-grid > * { width: auto !important; min-width: 0; }
.pkl-v2150 .pkl-footer-about { grid-column: auto; }
.pkl-footer-about p { max-width: 330px; margin: 20px 0 0; color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.6; }
.pkl-footer-v2 nav { display: grid !important; gap: 12px; }
.pkl-footer-v2 nav b { margin-bottom: 5px; color: #fff; font-size: 12px; }
.pkl-footer-v2 nav a { color: rgba(255,255,255,.5) !important; font-size: 12px; text-decoration: none; }
.pkl-footer-v2 nav a:hover { color: #ffd741 !important; }
.pkl-footer-bottom { display: flex !important; justify-content: space-between; align-items: center !important; border-top: 1px solid rgba(255,255,255,.1); padding-top: 22px; color: rgba(255,255,255,.35); font-size: 10px; }

@media (max-width: 1000px) {
  .pkl-team-stage { grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); }
  .pkl-team-head { width: 62%; }
  .pkl-team-panel { padding: 24px; }
  .pkl-skill-grid { grid-template-columns: 1fr; }
  .pkl-feature-mon { right: 1vw; }
  .pkl-update-grid { grid-template-columns: 1.25fr .8fr; }
  .pkl-community-layout { grid-template-columns: 1fr 330px; }
  .pkl-footer-grid { grid-template-columns: 1.25fr repeat(3,.75fr); gap: 26px; }
}

@media (max-width: 760px) {
  .pkl-team { min-height: 1060px; }
  .pkl-team-bg { object-position: 36% center; }
  .pkl-team-shade { background: linear-gradient(180deg, rgba(3,17,27,.52), rgba(3,17,27,.08) 28%, rgba(3,17,27,.94) 60%); }
  .pkl-team-shell { padding-top: 84px; padding-bottom: 52px; }
  .pkl-team-head { width: 100%; }
  .pkl-team-head h2 { font-size: clamp(44px,13vw,62px); }
  .pkl-team-head p { font-size: 14px; }
  .pkl-team-stage { display: block; min-height: 0; margin-top: 12px; }
  .pkl-team-visual { min-height: 380px; }
  .pkl-team-mon { width: min(350px,85%); max-height: 360px; }
  .pkl-team-index { top: 20%; font-size: 96px; }
  .pkl-team-switcher { left: 50%; bottom: 5px; transform: translateX(-50%); }
  .pkl-team-switcher button { width: 66px; height: 66px; border-radius: 17px; }
  .pkl-team-panel { margin-top: 10px; border-radius: 24px; padding: 21px; }
  .pkl-team-title h3 { font-size: 36px; }
  .pkl-skill-grid { grid-template-columns: 1fr 1fr; }
  .pkl-skill { grid-template-columns: 44px 1fr; min-height: 64px; padding: 7px 8px; }
  .pkl-skill img { width: 40px; height: 40px; }
  .pkl-skill em { display: none; }
  .pkl-skill small { font-size: 6px; }
  .pkl-skill b { font-size: 10px; }

  .pkl-features { min-height: 980px; }
  .pkl-feature-bg { object-position: 60% center; }
  .pkl-feature-shade { background: linear-gradient(180deg, rgba(3,19,29,.84) 0%, rgba(3,19,29,.44) 46%, rgba(3,19,29,.92) 76%); }
  .pkl-feature-layout { min-height: 840px; padding-top: 82px; padding-bottom: 245px; }
  .pkl-feature-head { width: 100%; }
  .pkl-feature-head h2 { font-size: clamp(50px,15vw,68px); }
  .pkl-feature-copy { align-self: end; width: 100%; margin-bottom: 12px; }
  .pkl-feature-copy h3 { font-size: 33px; }
  .pkl-feature-copy p { font-size: 14px; }
  .pkl-feature-mon { right: -2%; bottom: 348px; width: 52vw; max-height: 300px; }
  .pkl-feature-nav { position: absolute; left: 14px; right: 14px; bottom: 142px; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; overflow: hidden; }
  .pkl-feature-nav button { min-height: 68px; padding: 13px 12px; border-bottom: 1px solid rgba(255,255,255,.15); }
  .pkl-feature-nav button:nth-child(even) { border-right: 0; }
  .pkl-feature-facts { grid-template-columns: 1fr 1fr; min-height: 140px; padding: 0 14px; }
  .pkl-feature-facts > span { min-height: 70px; padding: 11px 13px; border-bottom: 1px solid #d9e0de; }
  .pkl-feature-facts > span:nth-child(odd) { border-left: 1px solid #d9e0de; }
  .pkl-feature-facts b { font-size: 12px; }
  .pkl-feature-facts small { font-size: 9px; }

  .pkl-updates { padding: 84px 0 90px; }
  .pkl-updates::before { font-size: 92px; }
  .pkl-updates-head { display: block; }
  .pkl-updates-head h2 { font-size: clamp(44px,13vw,60px); }
  .pkl-updates-head > a { margin-top: 22px; }
  .pkl-update-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: 430px 280px 280px; }
  .pkl-update-card.is-main { grid-row: auto; }
  .pkl-update-card { border-radius: 22px; }
  .pkl-update-copy { max-width: 74%; }
  .pkl-update-card.is-main .pkl-update-copy b { font-size: 42px; }

  .pkl-community-v2 { min-height: 790px; }
  .pkl-community-bg { object-position: 58% center; }
  .pkl-community-shade { background: linear-gradient(180deg, rgba(2,15,28,.95), rgba(2,15,28,.47) 47%, rgba(2,15,28,.94)); }
  .pkl-community-layout { min-height: 790px; grid-template-columns: 1fr; gap: 24px; align-content: center; padding-top: 70px; padding-bottom: 62px; }
  .pkl-community-copy h2 { font-size: clamp(52px,15vw,70px); }
  .pkl-community-copy p { font-size: 14px; }
  .pkl-community-links { grid-template-columns: 1fr 1fr; gap: 8px; }
  .pkl-community-links > span { grid-template-columns: 40px 1fr; min-height: 60px; padding: 8px; }
  .pkl-community-links i { width: 40px; height: 40px; border-radius: 11px; }
  .pkl-community-links b { padding-left: 8px; font-size: 11px; }
  .pkl-community-links small { display: none; }

  .pkl-ready-v2,
  .pkl-ready-v2 .pkl-ready-layout { min-height: 360px; }
  .pkl-footer-v2 { padding-top: 52px; }
  .pkl-v2150 .pkl-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 36px 26px; }
  .pkl-v2150 .pkl-footer-about { grid-column: 1 / -1; }
  .pkl-footer-bottom { display: grid !important; gap: 9px; }
}

@media (max-width: 430px) {
  .pkl-team { min-height: 1100px; }
  .pkl-team-head h2 { font-size: 44px; }
  .pkl-team-visual { min-height: 350px; }
  .pkl-skill-grid { gap: 7px; }
  .pkl-team-link { margin-top: 17px; font-size: 12px; }
  .pkl-features { min-height: 1010px; }
  .pkl-feature-layout { min-height: 870px; }
  .pkl-feature-tags i:nth-child(3) { display: none; }
  .pkl-update-grid { grid-template-rows: 400px 260px 260px; }
  .pkl-update-copy { left: 20px; right: 20px; bottom: 58px; }
  .pkl-update-meta { left: 20px; right: 20px; }
  .pkl-update-card > strong { left: 20px; bottom: 20px; }
  .pkl-update-card.is-main .pkl-update-copy b { font-size: 38px; }
  .pkl-update-copy b { font-size: 29px; }
  .pkl-community-links { grid-template-columns: 1fr; }
  .pkl-community-v2,
  .pkl-community-layout { min-height: 850px; }
  .pkl-v2150 .pkl-footer-grid { grid-template-columns: 1fr 1fr !important; }
  .pkl-v2150 .pkl-footer-grid nav:last-child { grid-column: 1 / -1; grid-template-columns: repeat(3,1fr); }
  .pkl-v2150 .pkl-footer-grid nav:last-child b { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .pkl-team-mon,
  .pkl-feature-bg,
  .pkl-feature-mon,
  .pkl-update-card > img { transition: none !important; }
}
/* Pokepark public homepage 2.16.0 — full-width editorial scenes. */
.pkl-v2160 {
  --shell: min(1440px, calc(100vw - 96px));
  --ppx-ink: #061824;
  --ppx-paper: #f4f2eb;
  --ppx-line: rgba(7, 28, 44, .14);
  background: var(--ppx-paper);
}
.pkl-v2160 main { background: var(--ppx-paper); }
.pkl-v2160 .pkl-eyebrow { color: #ffd941; letter-spacing: .18em; }
.pkl-v2160 .pkl-nav { padding-inline: max(32px, calc((100vw - 1510px) / 2)); }
.pkl-v2160 .pkl-nav::after { right: max(32px, calc((100vw - 1510px) / 2)); left: max(32px, calc((100vw - 1510px) / 2)); }
.pkl-v2160 .pkl-nav.is-scrolled { background: rgba(248, 248, 244, .93); }
.pkl-v2160 .pkl-brand > span { user-select: none; }
.pkl-v2160 .pkl-account-avatar { overflow: hidden; }
.pkl-v2160 .pkl-account-avatar img { width: 100%; height: 100%; object-fit: cover; }

.ppx-hero,
.ppx-partner,
.ppx-world,
.ppx-battle,
.ppx-activities,
.ppx-updates { position: relative; overflow: hidden; }
.ppx-hero-media,
.ppx-hero-media img,
.ppx-hero-shade,
.ppx-partner-bg,
.ppx-partner-shade,
.ppx-world-bg,
.ppx-world-shade,
.ppx-battle-bg,
.ppx-battle-shade,
.ppx-activity-media,
.ppx-activity-bg,
.ppx-activity-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.ppx-hero-media img,
.ppx-partner-bg,
.ppx-world-bg,
.ppx-battle-bg,
.ppx-activity-bg { object-fit: cover; }
.ppx-activity-media { display: block; }
.ppx-hero h1,
.ppx-partner h2,
.ppx-world h2,
.ppx-battle h2,
.ppx-activities h2,
.ppx-updates h2 { font-family: Manrope, sans-serif; font-weight: 800; text-wrap: balance; }
.ppx-hero button,
.ppx-partner button,
.ppx-world button,
.ppx-battle button,
.ppx-activities button { color: inherit; cursor: pointer; }

/* Opening scene */
.ppx-hero { display: grid; min-height: max(760px, 100svh); color: #fff; background: #0f583f; }
.ppx-hero-media img { transform: scale(1.01); }
.ppx-hero-shade {
  background:
    linear-gradient(90deg, rgba(3, 20, 30, .91) 0%, rgba(3, 24, 32, .75) 34%, rgba(3, 22, 27, .08) 68%),
    linear-gradient(0deg, rgba(3, 21, 30, .72) 0%, transparent 36%);
}
.ppx-hero-layout { position: relative; z-index: 2; display: grid; min-height: inherit; align-items: center; padding: 126px 0 118px; }
.ppx-hero-copy { width: min(700px, 52vw); }
.ppx-hero .pkl-version { border-color: rgba(255,255,255,.28); background: rgba(4,25,31,.32); }
.ppx-hero .pkl-version i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #6affba; box-shadow: 0 0 0 5px rgba(106,255,186,.12); }
.ppx-hero h1 { max-width: 760px; margin: 25px 0 24px; font-size: clamp(58px, 6.1vw, 96px); line-height: .92; letter-spacing: -.072em; }
.ppx-hero h1 em { color: #ffdb3d; font-style: normal; }
.ppx-hero-copy > p:not(.pkl-welcome) { max-width: 600px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(16px, 1.25vw, 20px); font-weight: 550; line-height: 1.65; }
.ppx-hero .pkl-welcome { display: inline-flex; margin: 18px 0 -6px !important; padding: 8px 12px; border-radius: 9px; background: rgba(4,26,34,.38); backdrop-filter: blur(12px); }
.ppx-hero-status { position: absolute; right: 0; bottom: 44px; display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); width: min(610px, 47vw); border-block: 1px solid rgba(255,255,255,.25); }
.ppx-hero-status > span { display: grid; min-height: 94px; align-content: center; padding: 12px 24px; border-left: 1px solid rgba(255,255,255,.18); }
.ppx-hero-status small { margin-bottom: 8px; color: #ffdc43; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.ppx-hero-status b { font-size: 13px; }
.ppx-hero-status em { margin-top: 4px; color: rgba(255,255,255,.54); font-size: 9px; font-style: normal; }
.ppx-scroll { position: absolute; z-index: 3; bottom: 32px; left: max(48px, calc((100vw - 1440px) / 2)); display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.64); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ppx-scroll i { position: relative; display: block; width: 20px; height: 32px; border: 1px solid rgba(255,255,255,.42); border-radius: 12px; }
.ppx-scroll i::after { content: ""; position: absolute; top: 7px; left: 8px; width: 2px; height: 6px; border-radius: 2px; background: #fff; animation: ppx-scroll 1.8s ease infinite; }
@keyframes ppx-scroll { 0%,100% { transform: translateY(0); opacity: .35; } 50% { transform: translateY(8px); opacity: 1; } }

/* Partner laboratory */
.ppx-partner { min-height: 940px; color: #fff; background: #174c41; }
.ppx-partner-bg { object-position: center; transform: scale(1.015); }
.ppx-partner-shade { background: linear-gradient(90deg, rgba(4,26,31,.94) 0%, rgba(4,28,32,.68) 35%, rgba(5,29,32,.12) 65%), linear-gradient(0deg, rgba(2,23,28,.83), transparent 47%); }
.ppx-partner-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(330px,.78fr) minmax(390px,1fr) minmax(420px,.95fr); grid-template-rows: 1fr auto; gap: 34px; min-height: 940px; align-items: center; padding: 112px 0 42px; }
.ppx-partner-head { align-self: start; padding-top: 48px; }
.ppx-partner-head h2 { margin: 15px 0 23px; font-size: clamp(56px,5.1vw,82px); line-height: .94; letter-spacing: -.065em; }
.ppx-partner-head p { max-width: 470px; margin: 0; color: rgba(255,255,255,.67); font-size: 15px; line-height: 1.7; }
.ppx-partner-mon { position: relative; align-self: end; height: 660px; }
.ppx-partner-mon::before { content: ""; position: absolute; right: 4%; bottom: 24px; left: 4%; height: 68px; border-radius: 50%; background: radial-gradient(ellipse, rgba(89,255,187,.38), rgba(11,71,58,.04) 68%); filter: blur(5px); }
.ppx-partner-mon img { position: absolute; z-index: 2; right: 0; bottom: 50px; left: 0; width: min(520px,100%); max-height: 560px; margin: auto; object-fit: contain; filter: drop-shadow(0 30px 25px rgba(0,15,16,.38)); transition: opacity .18s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.ppx-partner-mon img.is-changing { opacity: 0; transform: translateY(16px) scale(.96); }
.ppx-partner-number { position: absolute; top: 65px; left: -12px; color: rgba(255,255,255,.12); font-size: clamp(78px,8vw,132px); font-weight: 800; letter-spacing: -.08em; }
.ppx-partner-mon[data-team-theme="fire"]::before { background: radial-gradient(ellipse, rgba(255,145,69,.46), rgba(11,71,58,.04) 68%); }
.ppx-partner-mon[data-team-theme="water"]::before { background: radial-gradient(ellipse, rgba(73,178,255,.46), rgba(11,71,58,.04) 68%); }
.ppx-partner-panel { align-self: center; padding: 29px; border: 1px solid rgba(255,255,255,.22); border-radius: 28px; background: rgba(4,24,29,.57); box-shadow: 0 26px 70px rgba(0,14,19,.27); backdrop-filter: blur(24px); }
.ppx-partner-title > span { color: #ffdb3d; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.ppx-partner-title h3 { margin: 8px 0 7px; font-size: 39px; line-height: 1; letter-spacing: -.045em; }
.ppx-partner-title p { margin: 0 0 22px; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.55; }
.ppx-skill-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.ppx-skill-grid button { display: grid; grid-template-columns: 44px 1fr auto; gap: 9px; min-height: 66px; align-items: center; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; text-align: left; background: rgba(255,255,255,.055); }
.ppx-skill-grid button:hover,
.ppx-skill-grid button.is-active { border-color: rgba(255,219,61,.55); background: rgba(255,219,61,.09); }
.ppx-skill-grid img { width: 44px; height: 44px; border-radius: 12px; object-fit: cover; }
.ppx-skill-grid span { display: grid; gap: 4px; min-width: 0; }
.ppx-skill-grid small { color: rgba(255,255,255,.42); font-size: 6px; font-weight: 800; letter-spacing: .08em; }
.ppx-skill-grid b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ppx-skill-grid em { color: #ffdb3d; font-size: 8px; font-style: normal; font-weight: 800; }
.ppx-partner-panel > a { display: flex; min-height: 46px; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.82); font-size: 11px; font-weight: 800; }
.ppx-partner-switcher { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); width: min(760px,70%); justify-self: center; border-top: 1px solid rgba(255,255,255,.23); }
.ppx-partner-switcher button { display: grid; grid-template-columns: 54px 1fr; gap: 12px; min-height: 82px; align-items: center; padding: 10px 22px; border-right: 1px solid rgba(255,255,255,.15); text-align: left; background: transparent; opacity: .52; }
.ppx-partner-switcher button:first-child { border-left: 1px solid rgba(255,255,255,.15); }
.ppx-partner-switcher button.is-active { background: rgba(255,255,255,.09); opacity: 1; }
.ppx-partner-switcher img { width: 54px; height: 54px; object-fit: contain; }
.ppx-partner-switcher span { display: grid; gap: 5px; }
.ppx-partner-switcher small { color: #ffdb3d; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.ppx-partner-switcher b { font-size: 12px; }

/* Region map */
.ppx-world { min-height: 960px; color: #fff; background: #314d61; }
.ppx-world-bg { object-position: center; transform: scale(1.015); }
.ppx-world-shade { background: linear-gradient(180deg, rgba(5,21,33,.69) 0%, transparent 34%, rgba(5,20,31,.45) 72%, rgba(5,20,31,.92) 100%), linear-gradient(90deg, rgba(5,21,32,.35), transparent 45%); }
.ppx-world-layout { position: relative; z-index: 2; min-height: 960px; padding: 100px 0 54px; }
.ppx-world-head { position: relative; z-index: 3; width: min(530px,44%); }
.ppx-world-head h2 { margin: 12px 0 14px; font-size: clamp(52px,4.7vw,76px); line-height: .95; letter-spacing: -.065em; }
.ppx-world-head p { margin: 0; color: rgba(255,255,255,.7); font-size: 14px; }
.ppx-world-hotspots { position: absolute; inset: 0; }
.ppx-world-hotspots button { position: absolute; top: var(--y); left: var(--x); display: grid; justify-items: center; gap: 8px; transform: translate(-50%,-50%); color: #fff; background: transparent; }
.ppx-world-hotspots button i { position: relative; display: block; width: 22px; height: 22px; border: 4px solid rgba(255,255,255,.82); border-radius: 50%; background: #1688ff; box-shadow: 0 0 0 8px rgba(3,24,34,.32), 0 7px 18px rgba(0,0,0,.3); transition: transform .2s ease, box-shadow .2s ease; }
.ppx-world-hotspots button i::after { content: ""; position: absolute; inset: -13px; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; animation: ppx-pulse 2.2s ease-out infinite; }
.ppx-world-hotspots button span { padding: 7px 10px; border-radius: 8px; background: rgba(3,22,31,.78); box-shadow: 0 8px 22px rgba(0,0,0,.18); backdrop-filter: blur(10px); font-size: 9px; font-weight: 800; white-space: nowrap; }
.ppx-world-hotspots button:hover i,
.ppx-world-hotspots button.is-active i { transform: scale(1.24); background: #ffda3d; box-shadow: 0 0 0 10px rgba(255,218,61,.18), 0 8px 18px rgba(0,0,0,.3); }
@keyframes ppx-pulse { 0% { transform: scale(.65); opacity: .9; } 100% { transform: scale(1.55); opacity: 0; } }
.ppx-world-card { position: absolute; right: 0; bottom: 54px; width: min(440px,35vw); padding: 30px; border: 1px solid rgba(255,255,255,.23); border-radius: 28px 0 28px 28px; background: rgba(4,23,33,.78); box-shadow: 0 28px 80px rgba(0,12,20,.35); backdrop-filter: blur(24px); }
.ppx-world-card > span { color: #ffda3d; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.ppx-world-card h3 { margin: 9px 0 10px; font-size: 34px; line-height: 1.04; letter-spacing: -.045em; }
.ppx-world-card p { margin: 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.65; user-select: text; }
.ppx-world-card div { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.ppx-world-card div i { padding: 7px 9px; border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.09); font-size: 8px; font-style: normal; font-weight: 700; }
.ppx-world-card a { display: flex; min-height: 42px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.14); padding-top: 14px; color: #fff; font-size: 11px; font-weight: 800; }

/* Combat detail */
.ppx-battle { min-height: 940px; color: #fff; background: #0c1734; }
.ppx-battle-bg { object-position: center; transform: scale(1.02); }
.ppx-battle-shade { background: linear-gradient(180deg, rgba(5,11,29,.86) 0%, rgba(5,12,30,.08) 38%, rgba(5,11,27,.91) 100%), linear-gradient(90deg, rgba(5,11,28,.4), transparent 50%, rgba(5,11,28,.3)); }
.ppx-battle-layout { position: relative; z-index: 2; min-height: 940px; padding: 100px 0 46px; }
.ppx-battle-head { position: relative; z-index: 5; width: min(600px,50%); }
.ppx-battle-head h2 { margin: 13px 0 18px; font-size: clamp(54px,5.2vw,82px); line-height: .93; letter-spacing: -.065em; }
.ppx-battle-head p { max-width: 490px; margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.65; }
.ppx-battle-stage { position: absolute; inset: 150px 0 190px; }
.ppx-fighter { position: absolute; bottom: 0; width: 42%; height: 74%; }
.ppx-fighter.is-player { left: 17%; }
.ppx-fighter.is-rival { right: 2%; }
.ppx-fighter img { position: absolute; right: 0; bottom: 0; left: 0; width: min(440px,88%); height: 100%; margin: auto; object-fit: contain; filter: drop-shadow(0 34px 30px rgba(0,0,0,.44)); transition: transform .25s ease, filter .25s ease; }
.ppx-fighter.is-rival img { width: min(430px,92%); }
.ppx-fighter > span { position: absolute; z-index: 3; bottom: 5%; left: 5%; display: grid; padding: 9px 13px; border-left: 3px solid #ffda3d; background: rgba(3,11,27,.7); backdrop-filter: blur(10px); }
.ppx-fighter.is-rival > span { right: 5%; left: auto; border-right: 3px solid #b079ff; border-left: 0; text-align: right; }
.ppx-fighter small { color: rgba(255,255,255,.5); font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.ppx-fighter b { margin-top: 4px; font-size: 15px; }
.ppx-battle-spark { position: absolute; top: 53%; left: 52%; display: grid; width: 74px; height: 74px; place-items: center; transform: translate(-50%,-50%); }
.ppx-battle-spark i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 50px rgba(91,135,255,.42); transform: rotate(45deg); }
.ppx-battle-spark b { font-size: 14px; letter-spacing: .12em; }
.ppx-battle-stage.is-casting .is-player img { animation: ppx-attack .48s cubic-bezier(.2,.9,.2,1); filter: drop-shadow(0 0 32px rgba(255,223,69,.9)); }
.ppx-battle-stage.is-casting .is-rival img { animation: ppx-hit .48s ease; }
@keyframes ppx-attack { 50% { transform: translate(42px,-12px) scale(1.05); } }
@keyframes ppx-hit { 50% { transform: translateX(13px); filter: brightness(1.6) drop-shadow(0 0 25px #8f6cff); } }
.ppx-battle-console { position: absolute; right: 0; bottom: 44px; left: 0; display: grid; grid-template-columns: minmax(250px,.9fr) minmax(600px,1.4fr); gap: 26px; align-items: center; padding: 18px 20px 18px 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(4,11,28,.82); box-shadow: 0 24px 70px rgba(0,0,0,.35); backdrop-filter: blur(24px); }
.ppx-battle-readout span { color: #ffda3d; font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.ppx-battle-readout h3 { margin: 6px 0 5px; font-size: 25px; line-height: 1; }
.ppx-battle-readout p { margin: 0; color: rgba(255,255,255,.53); font-size: 10px; line-height: 1.5; user-select: text; }
.ppx-battle-skills { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.ppx-battle-skills button { position: relative; display: grid; min-height: 92px; justify-items: center; align-content: center; gap: 7px; padding: 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.05); }
.ppx-battle-skills button:hover,
.ppx-battle-skills button.is-active { border-color: #ffda3d; background: rgba(255,218,61,.1); transform: translateY(-2px); }
.ppx-battle-skills img { width: 46px; height: 46px; border-radius: 12px; object-fit: cover; }
.ppx-battle-skills span { width: 100%; overflow: hidden; color: rgba(255,255,255,.72); font-size: 8px; font-weight: 750; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

/* Activities */
.ppx-activities { min-height: 950px; color: #fff; background: #64402c; }
.ppx-activity-bg { object-position: center; transition: opacity .22s ease, transform .5s ease; transform: scale(1.025); }
.ppx-activity-bg.is-changing { opacity: .3; transform: scale(1.055); }
.ppx-activity-shade { background: linear-gradient(90deg, rgba(6,19,24,.86) 0%, rgba(6,20,25,.42) 42%, rgba(6,20,25,.05) 68%), linear-gradient(0deg, rgba(6,18,23,.9), transparent 52%); }
.ppx-activity-extra,
.ppx-activity-mon { position: absolute; z-index: 2; object-fit: contain; filter: drop-shadow(0 32px 30px rgba(0,0,0,.32)); transition: opacity .2s ease, transform .42s ease; }
.ppx-activity-extra { top: 22%; right: 4%; width: min(690px,47vw); max-height: 410px; }
.ppx-activity-mon { right: 34%; bottom: 15%; width: min(400px,28vw); max-height: 440px; }
.ppx-activity-extra.is-changing,
.ppx-activity-mon.is-changing { opacity: 0; transform: translateY(15px) scale(.96); }
.ppx-activity-layout { position: relative; z-index: 3; display: grid; min-height: 950px; grid-template-columns: minmax(360px,.65fr) 1fr; grid-template-rows: 1fr auto; align-items: center; gap: 30px; padding: 106px 0 46px; }
.ppx-activity-head { align-self: start; padding-top: 40px; }
.ppx-activity-head h2 { margin: 13px 0 0; font-size: clamp(54px,5vw,80px); line-height: .94; letter-spacing: -.065em; }
.ppx-activity-copy { grid-column: 1; align-self: end; width: min(470px,100%); margin-bottom: 16px; }
.ppx-activity-copy > span { color: #ffdc41; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.ppx-activity-copy h3 { margin: 8px 0 10px; font-size: 34px; line-height: 1.02; letter-spacing: -.045em; }
.ppx-activity-copy p { margin: 0; color: rgba(255,255,255,.66); font-size: 13px; line-height: 1.65; user-select: text; }
.ppx-activity-copy a { display: inline-flex; gap: 22px; margin-top: 22px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.38); font-size: 11px; font-weight: 800; }
.ppx-activity-nav { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid rgba(255,255,255,.22); }
.ppx-activity-nav button { display: grid; grid-template-columns: 34px 1fr; gap: 12px; min-height: 90px; align-items: center; padding: 13px 20px; border-left: 1px solid rgba(255,255,255,.16); text-align: left; background: rgba(4,18,22,.24); opacity: .56; }
.ppx-activity-nav button.is-active { background: rgba(4,18,22,.58); opacity: 1; }
.ppx-activity-nav button > b { color: #ffdc41; font-size: 9px; }
.ppx-activity-nav button span { display: grid; gap: 5px; font-size: 11px; font-weight: 800; }
.ppx-activity-nav small { color: rgba(255,255,255,.47); font-size: 8px; font-weight: 600; }

/* Proof line */
.ppx-proof { border-block: 1px solid #d8d5cb; background: #ece9df; }
.ppx-proof .pkl-shell { display: grid; grid-template-columns: repeat(4,1fr); }
.ppx-proof span { display: grid; min-height: 150px; align-content: center; padding: 22px 30px; border-left: 1px solid #d8d5cb; }
.ppx-proof span:last-child { border-right: 1px solid #d8d5cb; }
.ppx-proof small { margin-bottom: 10px; color: #8f6f00; font-size: 7px; font-weight: 800; letter-spacing: .15em; }
.ppx-proof b { font-size: 18px; letter-spacing: -.025em; }
.ppx-proof em { margin-top: 5px; color: rgba(7,28,44,.53); font-size: 9px; font-style: normal; }

/* Update journal */
.ppx-updates { padding: 120px 0 130px; color: var(--ppx-ink); background: #f4f2eb; }
.ppx-updates::before { content: "PATCHES"; position: absolute; top: 56px; right: -20px; color: rgba(7,28,44,.035); font-size: clamp(100px,16vw,250px); font-weight: 800; letter-spacing: -.08em; user-select: none; }
.ppx-updates > .pkl-shell { position: relative; z-index: 2; }
.ppx-updates-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.ppx-updates .pkl-eyebrow { color: #907100; }
.ppx-updates-head h2 { margin: 13px 0 0; font-size: clamp(52px,5vw,78px); line-height: .95; letter-spacing: -.065em; }
.ppx-updates-head > a { display: inline-flex; gap: 22px; padding-bottom: 9px; border-bottom: 1px solid var(--ppx-ink); font-size: 11px; font-weight: 800; }
.ppx-update-grid { display: grid; grid-template-columns: 1.45fr .78fr; grid-template-rows: 310px 310px; gap: 16px; }
.ppx-update { position: relative; display: block; overflow: hidden; border-radius: 28px; color: #fff; background: #102736; box-shadow: 0 22px 60px rgba(7,28,44,.12); }
.pkl-v2160 a.ppx-update { color: #fff; }
.ppx-update.is-main { grid-row: 1 / 3; }
.ppx-update > img:first-child,
.ppx-update > span { position: absolute; inset: 0; width: 100%; height: 100%; }
.ppx-update > img:first-child { object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.ppx-update > span { background: linear-gradient(0deg, rgba(4,18,27,.96) 0%, rgba(4,18,27,.08) 72%), linear-gradient(90deg, rgba(4,18,27,.35), transparent 60%); }
.ppx-update:hover > img:first-child { transform: scale(1.045); }
.ppx-update-object { position: absolute; z-index: 2; top: 10%; right: -3%; width: 64%; max-height: 50%; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.25)); }
.ppx-update time { position: absolute; z-index: 3; top: 24px; left: 26px; padding: 8px 10px; border-radius: 8px; background: rgba(4,18,27,.62); backdrop-filter: blur(10px); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.ppx-update > div { position: absolute; z-index: 3; right: 28px; bottom: 58px; left: 28px; display: grid; }
.ppx-update small { color: #ffda3d; font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.ppx-update div b { margin-top: 8px; font-size: 29px; line-height: 1.04; letter-spacing: -.04em; }
.ppx-update.is-main div b { font-size: clamp(42px,4vw,64px); }
.ppx-update em { max-width: 560px; margin-top: 9px; color: rgba(255,255,255,.65); font-size: 11px; font-style: normal; line-height: 1.5; user-select: text; }
.ppx-update > strong { position: absolute; z-index: 3; bottom: 24px; left: 28px; font-size: 9px; }

/* Progressive entrance without hiding content when scripting is unavailable. */
.pkl-v2160.has-reveal [data-ppx-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1); }
.pkl-v2160.has-reveal [data-ppx-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .pkl-v2160 { --shell: min(100% - 56px, 1120px); }
  .ppx-hero-status { width: 52vw; }
  .ppx-partner-layout { grid-template-columns: .8fr 1fr; }
  .ppx-partner-head { grid-column: 1; }
  .ppx-partner-mon { grid-column: 2; grid-row: 1; }
  .ppx-partner-panel { grid-column: 1 / -1; grid-row: 2; width: min(760px,100%); justify-self: center; }
  .ppx-partner-switcher { grid-row: 3; }
  .ppx-partner { min-height: 1170px; }
  .ppx-partner-layout { min-height: 1170px; grid-template-rows: 580px auto auto; align-content: center; }
  .ppx-world-card { width: min(420px,42vw); }
  .ppx-battle-console { grid-template-columns: 310px 1fr; }
  .ppx-activity-extra { right: -6%; width: 58vw; }
  .ppx-activity-mon { right: 27%; width: 34vw; }
}

@media (max-width: 760px) {
  .pkl-v2160 { --shell: calc(100vw - 28px); }
  .pkl-v2160 .pkl-nav { padding-inline: 14px; }
  .ppx-hero { min-height: max(720px,100svh); }
  .ppx-hero-media img { object-position: center top; }
  .ppx-hero-shade { background: linear-gradient(180deg, rgba(3,19,28,.22) 0%, rgba(3,20,29,.13) 31%, rgba(3,20,29,.9) 62%, rgba(3,20,29,.98) 100%); }
  .ppx-hero-layout { align-items: end; padding: 92px 0 136px; }
  .ppx-hero-copy { width: 100%; }
  .ppx-hero h1 { margin: 14px 0 17px; font-size: clamp(46px,14.6vw,64px); line-height: .93; }
  .ppx-hero-copy > p:not(.pkl-welcome) { font-size: 14px; line-height: 1.55; }
  .ppx-hero .pkl-version { font-size: 7px; }
  .ppx-hero .pkl-hero-actions { margin-top: 22px; }
  .ppx-hero .pkl-ghost { color: #fff; }
  .ppx-hero-status { right: 14px; bottom: 22px; left: 14px; grid-template-columns: repeat(3,1fr); width: auto; }
  .ppx-hero-status > span { min-height: 76px; padding: 8px 9px; }
  .ppx-hero-status small { margin-bottom: 5px; font-size: 6px; }
  .ppx-hero-status b { font-size: 9px; }
  .ppx-hero-status em { display: none; }
  .ppx-scroll { display: none; }

  .ppx-partner { min-height: 1110px; }
  .ppx-partner-bg { object-position: 58% center; }
  .ppx-partner-shade { background: linear-gradient(180deg, rgba(3,24,29,.91), rgba(3,24,29,.18) 37%, rgba(3,24,29,.94) 67%); }
  .ppx-partner-layout { display: block; min-height: 1110px; padding: 82px 0 34px; }
  .ppx-partner-head { width: 100%; padding: 0; }
  .ppx-partner-head h2 { margin: 10px 0 13px; font-size: clamp(46px,13vw,62px); }
  .ppx-partner-head p { max-width: 330px; font-size: 12px; }
  .ppx-partner-mon { height: 370px; margin: -8px auto 0; }
  .ppx-partner-mon img { bottom: 24px; width: 330px; max-height: 340px; }
  .ppx-partner-number { top: 70px; left: 0; font-size: 84px; }
  .ppx-partner-panel { padding: 20px; border-radius: 22px; }
  .ppx-partner-title h3 { font-size: 31px; }
  .ppx-partner-title p { font-size: 10px; }
  .ppx-skill-grid { gap: 7px; }
  .ppx-skill-grid button { grid-template-columns: 38px 1fr; min-height: 60px; padding: 7px; border-radius: 14px; }
  .ppx-skill-grid img { width: 38px; height: 38px; }
  .ppx-skill-grid em { display: none; }
  .ppx-skill-grid small { font-size: 5px; }
  .ppx-skill-grid b { font-size: 8px; }
  .ppx-partner-switcher { grid-template-columns: repeat(3,1fr); width: 100%; margin-top: 12px; }
  .ppx-partner-switcher button { display: grid; grid-template-columns: 1fr; justify-items: center; min-height: 76px; padding: 7px 4px; text-align: center; }
  .ppx-partner-switcher img { width: 42px; height: 42px; }
  .ppx-partner-switcher small { display: none; }
  .ppx-partner-switcher b { font-size: 8px; }

  .ppx-world { min-height: 880px; }
  .ppx-world-bg { object-position: 48% center; }
  .ppx-world-shade { background: linear-gradient(180deg, rgba(4,19,30,.85), rgba(4,19,30,.05) 35%, rgba(4,19,30,.28) 55%, rgba(4,19,30,.96) 78%); }
  .ppx-world-layout { min-height: 880px; padding: 80px 0 30px; }
  .ppx-world-head { width: 100%; }
  .ppx-world-head h2 { font-size: 49px; }
  .ppx-world-head p { max-width: 300px; font-size: 11px; }
  .ppx-world-hotspots { inset: 120px 0 290px; }
  .ppx-world-hotspots button span { display: none; }
  .ppx-world-hotspots button i { width: 18px; height: 18px; border-width: 3px; }
  .ppx-world-card { right: 0; bottom: 28px; left: 0; width: 100%; padding: 22px; border-radius: 22px; }
  .ppx-world-card h3 { font-size: 29px; }
  .ppx-world-card p { font-size: 10px; }
  .ppx-world-card div { margin: 14px 0; }

  .ppx-battle { min-height: 940px; }
  .ppx-battle-shade { background: linear-gradient(180deg, rgba(4,9,25,.91), rgba(4,9,25,.1) 38%, rgba(4,9,25,.88) 66%); }
  .ppx-battle-layout { min-height: 940px; padding: 80px 0 26px; }
  .ppx-battle-head { width: 100%; }
  .ppx-battle-head h2 { font-size: 48px; }
  .ppx-battle-head p { max-width: 320px; font-size: 11px; }
  .ppx-battle-stage { inset: 270px -12px 330px; }
  .ppx-fighter { width: 56%; height: 80%; }
  .ppx-fighter.is-player { left: -1%; }
  .ppx-fighter.is-rival { right: -2%; }
  .ppx-fighter > span { bottom: -20px; }
  .ppx-fighter small { font-size: 5px; }
  .ppx-fighter b { font-size: 11px; }
  .ppx-battle-spark { top: 55%; left: 50%; width: 50px; height: 50px; }
  .ppx-battle-console { bottom: 25px; display: block; padding: 20px; border-radius: 22px; }
  .ppx-battle-readout h3 { font-size: 25px; }
  .ppx-battle-readout p { min-height: 45px; }
  .ppx-battle-skills { gap: 6px; margin-top: 13px; }
  .ppx-battle-skills button { min-height: 73px; padding: 6px; border-radius: 13px; }
  .ppx-battle-skills img { width: 39px; height: 39px; }
  .ppx-battle-skills span { font-size: 6px; }

  .ppx-activities { min-height: 920px; }
  .ppx-activity-bg { object-position: 58% center; }
  .ppx-activity-shade { background: linear-gradient(180deg, rgba(5,18,23,.88), rgba(5,18,23,.12) 38%, rgba(5,18,23,.9) 67%); }
  .ppx-activity-extra { top: 28%; right: -34%; width: 112vw; max-height: 300px; }
  .ppx-activity-mon { right: 34%; bottom: 35%; width: 53vw; max-height: 260px; }
  .ppx-activity-layout { display: block; min-height: 920px; padding: 80px 0 26px; }
  .ppx-activity-head { padding: 0; }
  .ppx-activity-head h2 { font-size: 47px; }
  .ppx-activity-copy { position: absolute; right: 0; bottom: 176px; left: 0; margin: 0; }
  .ppx-activity-copy h3 { font-size: 28px; }
  .ppx-activity-copy p { font-size: 10px; }
  .ppx-activity-nav { position: absolute; right: 0; bottom: 25px; left: 0; grid-template-columns: 1fr; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; overflow: hidden; }
  .ppx-activity-nav button { grid-template-columns: 28px 1fr; min-height: 48px; padding: 7px 12px; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .ppx-activity-nav small { display: none; }

  .ppx-proof .pkl-shell { grid-template-columns: 1fr 1fr; }
  .ppx-proof span { min-height: 108px; padding: 14px; border-bottom: 1px solid #d8d5cb; }
  .ppx-proof span:nth-child(even) { border-right: 1px solid #d8d5cb; }
  .ppx-proof b { font-size: 13px; }
  .ppx-proof em { font-size: 7px; }

  .ppx-updates { padding: 82px 0 90px; }
  .ppx-updates-head { display: block; margin-bottom: 28px; }
  .ppx-updates-head h2 { font-size: 48px; }
  .ppx-updates-head > a { margin-top: 20px; }
  .ppx-update-grid { grid-template-columns: 1fr; grid-template-rows: 440px 270px 270px; }
  .ppx-update.is-main { grid-row: auto; }
  .ppx-update { border-radius: 22px; }
  .ppx-update.is-main div b { font-size: 39px; }
  .ppx-update div b { font-size: 27px; }
  .ppx-update > div { right: 21px; bottom: 54px; left: 21px; }
  .ppx-update time { top: 20px; left: 20px; }
  .ppx-update > strong { bottom: 20px; left: 21px; }
}

@media (max-width: 420px) {
  .ppx-hero h1 { font-size: 47px; }
  .ppx-partner { min-height: 1130px; }
  .ppx-partner-head h2,
  .ppx-world-head h2,
  .ppx-battle-head h2,
  .ppx-activity-head h2,
  .ppx-updates-head h2 { font-size: 43px; }
  .ppx-partner-mon { height: 350px; }
  .ppx-skill-grid b { font-size: 7px; }
  .ppx-world { min-height: 900px; }
  .ppx-battle { min-height: 930px; }
  .ppx-battle-stage { top: 280px; }
  .ppx-update-grid { grid-template-rows: 410px 260px 260px; }
}

@media (prefers-reduced-motion: reduce) {
  .ppx-scroll i::after,
  .ppx-world-hotspots button i::after { animation: none !important; }
  .ppx-battle-stage.is-casting .ppx-fighter img { animation: none !important; }
  .pkl-v2160.has-reveal [data-ppx-reveal] { opacity: 1; transform: none; transition: none; }
}
/* Pokepark public homepage 2.17.0 — cinematic polish and desktop layout repair. */
.pkl-v2170 {
  --p17-yellow: #ffdc3e;
  --p17-mint: #68efbd;
  --p17-night: #061925;
  --p17-glass: rgba(5, 22, 30, .78);
}

.pkl-v2170 .pkl-nav {
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease, color .28s ease;
}
.pkl-v2170 .pkl-nav.is-scrolled {
  color: #fff !important;
  background: rgba(4, 20, 28, .9) !important;
  border-color: rgba(255,255,255,.1) !important;
  box-shadow: 0 16px 44px rgba(0,12,19,.18);
  backdrop-filter: blur(22px) saturate(1.25);
}
.pkl-v2170 .pkl-nav.is-scrolled::after { opacity: .2; }
.pkl-v2170 .pkl-nav.is-scrolled nav a,
.pkl-v2170 .pkl-nav.is-scrolled .pkl-signin,
.pkl-v2170 .pkl-nav.is-scrolled .pkl-brand { color: #fff !important; }
.pkl-v2170 .pkl-nav.is-scrolled .pkl-menu i { background: #fff !important; }

.ppx-chapters {
  position: fixed;
  z-index: 24;
  top: 50%;
  right: 18px;
  display: grid;
  gap: 5px;
  transform: translateY(-50%);
}
.ppx-chapters a {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  color: #fff;
  filter: drop-shadow(0 2px 7px rgba(0,0,0,.45));
}
.ppx-chapters i {
  order: 2;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: rgba(4,20,28,.42);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ppx-chapters span {
  padding: 5px 8px;
  border-radius: 6px;
  background: rgba(4,20,28,.72);
  opacity: 0;
  transform: translateX(7px);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: opacity .2s ease, transform .2s ease;
}
.ppx-chapters a:hover span,
.ppx-chapters a:focus-visible span { opacity: 1; transform: none; }
.ppx-chapters a.is-active i {
  transform: scale(1.45);
  border-color: var(--p17-yellow);
  background: var(--p17-yellow);
  box-shadow: 0 0 0 5px rgba(255,220,62,.17);
}

.pkl-v2170 .ppx-hero-media img,
.pkl-v2170 .ppx-partner-bg,
.pkl-v2170 .ppx-world-bg,
.pkl-v2170 .ppx-battle-bg,
.pkl-v2170 .ppx-activity-bg,
.pkl-v2170 .ppx-first-hour > img,
.pkl-v2170 .pkl-community-bg {
  transform: translate3d(0, var(--scene-y, 0), 0) scale(var(--scene-scale, 1.035));
  will-change: transform;
}

.pkl-v2170 .ppx-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(520px circle at var(--hero-x, 72%) var(--hero-y, 38%), rgba(255,233,126,.13), transparent 62%);
  transition: opacity .25s ease;
}
.pkl-v2170 .ppx-hero-copy { position: relative; z-index: 3; }
.pkl-v2170 .ppx-hero h1 { max-width: 820px; }
.pkl-v2170 .ppx-hero-status { backdrop-filter: blur(8px); background: rgba(4,22,29,.12); }

/* Partner scene: flexible desktop columns prevent the 1280px crop from 2.16.0. */
.pkl-v2170 .ppx-partner { min-height: 920px; background: #173847; }
.pkl-v2170 .ppx-partner-bg { object-position: center 48%; }
.pkl-v2170 .ppx-partner-shade {
  background:
    linear-gradient(90deg, rgba(4,21,30,.93) 0%, rgba(4,24,31,.61) 34%, rgba(4,24,31,.06) 62%),
    linear-gradient(0deg, rgba(3,19,26,.9) 0%, rgba(3,19,26,.03) 54%, rgba(3,19,26,.18) 100%);
}
.pkl-v2170 .ppx-partner-layout {
  grid-template-columns: minmax(240px,.72fr) minmax(320px,1fr) minmax(310px,.84fr);
  grid-template-rows: minmax(0,1fr) auto;
  gap: clamp(16px,2vw,32px);
  min-height: 920px;
  padding: 112px 0 34px;
}
.pkl-v2170 .ppx-partner-head { align-self: center; padding-top: 0; }
.pkl-v2170 .ppx-partner-head h2 { font-size: clamp(52px,4.5vw,76px); }
.pkl-v2170 .ppx-partner-head p { max-width: 390px; color: rgba(255,255,255,.76); font-size: 13px; }
.pkl-v2170 .ppx-partner-mon { align-self: center; height: 620px; }
.pkl-v2170 .ppx-partner-mon::before { right: 3%; bottom: 44px; left: 3%; height: 88px; }
.pkl-v2170 .ppx-partner-mon > img {
  bottom: 30px;
  width: min(580px,112%);
  max-width: none;
  max-height: 590px;
  filter: drop-shadow(0 38px 28px rgba(0,15,20,.4));
}
.pkl-v2170 .ppx-partner-number { top: 52px; left: -4%; color: rgba(255,255,255,.16); }
.ppx-partner-orbit { position: absolute; z-index: 1; inset: 21% 1% 9%; pointer-events: none; }
.ppx-partner-orbit i {
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(107,255,197,.3);
  border-radius: 50%;
  transform: rotate(-12deg) skewX(12deg);
  animation: p17-orbit 13s linear infinite;
}
.ppx-partner-orbit i:nth-child(2) { inset: 25% 4%; animation-duration: 9s; animation-direction: reverse; opacity: .62; }
.ppx-partner-orbit i:nth-child(3) { inset: 38% -2%; animation-duration: 16s; opacity: .42; }
.ppx-partner-orbit i::after { content: ""; position: absolute; top: 7%; left: 19%; width: 8px; height: 8px; border-radius: 50%; background: var(--p17-mint); box-shadow: 0 0 20px rgba(104,239,189,.9); }
@keyframes p17-orbit { to { transform: rotate(348deg) skewX(12deg); } }
.pkl-v2170 .ppx-partner-panel {
  min-width: 0;
  padding: 26px;
  background: rgba(4,22,29,.76);
  border-color: rgba(255,255,255,.26);
  box-shadow: 0 30px 80px rgba(0,12,20,.36);
}
.pkl-v2170 .ppx-partner-title p { color: rgba(255,255,255,.72); }
.pkl-v2170 .ppx-skill-grid { grid-template-columns: 1fr; }
.pkl-v2170 .ppx-skill-grid button { grid-template-columns: 44px minmax(0,1fr) auto; }
.pkl-v2170 .ppx-partner-switcher {
  width: min(840px,76%);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(3,19,26,.48);
  backdrop-filter: blur(16px);
}
.pkl-v2170 .ppx-partner-switcher button { border: 0; border-left: 1px solid rgba(255,255,255,.12); }
.pkl-v2170 .ppx-partner-switcher button:first-child { border-left: 0; }
.pkl-v2170 .ppx-partner-switcher button:hover { opacity: .85; background: rgba(255,255,255,.06); }
.pkl-v2170 .ppx-partner-switcher button.is-active { background: rgba(255,220,62,.13); box-shadow: inset 0 -3px var(--p17-yellow); }

.pkl-v2170 .ppx-world-card,
.pkl-v2170 .ppx-partner-panel,
.pkl-v2170 .ppx-battle-console { transform: perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transform-style: preserve-3d; transition: transform .22s ease, border-color .22s ease; }

/* Bright arena and a readable combat composition. */
.pkl-v2170 .ppx-battle { min-height: 920px; background: #0d2434; }
.pkl-v2170 .ppx-battle-bg { object-position: center; }
.pkl-v2170 .ppx-battle-shade {
  background:
    linear-gradient(90deg, rgba(4,18,28,.88) 0%, rgba(4,18,28,.36) 38%, rgba(4,18,28,.12) 68%),
    linear-gradient(0deg, rgba(4,15,24,.92) 0%, rgba(4,15,24,.05) 52%, rgba(4,15,24,.3) 100%);
}
.pkl-v2170 .ppx-battle-layout { min-height: 920px; padding-top: 102px; }
.pkl-v2170 .ppx-battle-head { width: min(570px,46%); }
.pkl-v2170 .ppx-battle-stage { inset: 185px 0 190px; }
.pkl-v2170 .ppx-fighter { height: 78%; }
.pkl-v2170 .ppx-fighter.is-player { left: 22%; width: 36%; }
.pkl-v2170 .ppx-fighter.is-rival { right: 4%; width: 38%; }
.pkl-v2170 .ppx-fighter img { max-height: 460px; }
.pkl-v2170 .ppx-battle-spark { top: 58%; left: 59%; width: 88px; height: 88px; }
.pkl-v2170 .ppx-battle-spark i { z-index: 0; background: rgba(5,29,39,.34); backdrop-filter: blur(8px); }
.pkl-v2170 .ppx-battle-spark b { position: relative; z-index: 2; color: #fff; }
.pkl-v2170 .ppx-battle-spark span { position: absolute; z-index: 3; width: 180px; height: 2px; background: linear-gradient(90deg, transparent, #ffe15a, #8ad8ff, transparent); opacity: 0; filter: drop-shadow(0 0 8px #fff); transform: rotate(-8deg) scaleX(.2); }
.pkl-v2170 .ppx-battle-stage.is-casting .ppx-battle-spark span { animation: p17-beam .5s ease; }
@keyframes p17-beam { 35% { opacity: 1; transform: rotate(-8deg) scaleX(1); } 100% { opacity: 0; transform: rotate(-8deg) scaleX(1.25); } }
.pkl-v2170 .ppx-battle-console { background: rgba(3,17,27,.88); }

/* A concise onboarding scene gives the page a clear game loop. */
.ppx-first-hour { position: relative; min-height: 900px; overflow: hidden; color: #fff; background: #315a37; }
.ppx-first-hour > img,
.ppx-first-hour-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.ppx-first-hour > img { object-fit: cover; object-position: center; }
.ppx-first-hour-shade {
  background:
    linear-gradient(90deg, rgba(4,22,28,.93) 0%, rgba(4,22,28,.68) 36%, rgba(4,22,28,.05) 68%),
    linear-gradient(0deg, rgba(4,22,28,.67), transparent 46%);
}
.ppx-first-hour-layout { position: relative; z-index: 2; display: grid; min-height: 900px; width: var(--shell); align-content: center; justify-items: start; }
.ppx-first-hour header { width: min(610px,49%); }
.ppx-first-hour h2 { margin: 14px 0 18px; font-family: Manrope,sans-serif; font-size: clamp(52px,5vw,78px); font-weight: 800; line-height: .94; letter-spacing: -.065em; }
.ppx-first-hour header p { max-width: 480px; margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.7; }
.ppx-first-hour ol { display: grid; width: min(570px,47%); gap: 0; margin: 34px 0 27px; padding: 0; list-style: none; border-block: 1px solid rgba(255,255,255,.2); }
.ppx-first-hour li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; min-height: 76px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.13); }
.ppx-first-hour li:last-child { border-bottom: 0; }
.ppx-first-hour li > b { color: var(--p17-yellow); font-size: 9px; letter-spacing: .12em; }
.ppx-first-hour li span { display: grid; gap: 5px; }
.ppx-first-hour strong { font-size: 14px; }
.ppx-first-hour em { color: rgba(255,255,255,.55); font-size: 9px; font-style: normal; }
.ppx-first-hour-layout > button { display: flex; min-width: 230px; min-height: 58px; align-items: center; justify-content: space-between; padding: 8px 9px 8px 22px; border-radius: 13px; color: #08202b; background: var(--p17-yellow); font-size: 12px; font-weight: 800; box-shadow: 0 18px 45px rgba(0,0,0,.22); }
.ppx-first-hour-layout > button b { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; color: #fff; background: #08202b; }
.ppx-first-hour-layout > button:hover { transform: translateY(-3px); box-shadow: 0 24px 55px rgba(0,0,0,.28); }

.pkl-v2170 .pkl-community-bg { object-position: center; }
.pkl-v2170 .pkl-community-shade { background: linear-gradient(90deg, rgba(4,20,29,.9), rgba(4,20,29,.38) 51%, rgba(4,20,29,.11)); }
.pkl-v2170 .pkl-ready-v2 { position: relative; overflow: hidden; }

/* Faster, calmer entrances: nothing remains faint while scrolling. */
.pkl-v2170.has-reveal [data-ppx-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .42s ease, transform .5s cubic-bezier(.2,.75,.25,1);
}
.pkl-v2170.has-reveal [data-ppx-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1240px) {
  .pkl-v2170 .ppx-partner { min-height: 1180px; }
  .pkl-v2170 .ppx-partner-layout {
    grid-template-columns: minmax(280px,.8fr) minmax(400px,1.15fr);
    grid-template-rows: 600px auto auto;
    min-height: 1180px;
    align-content: center;
  }
  .pkl-v2170 .ppx-partner-head { grid-column: 1; grid-row: 1; }
  .pkl-v2170 .ppx-partner-mon { grid-column: 2; grid-row: 1; }
  .pkl-v2170 .ppx-partner-panel { grid-column: 1 / -1; grid-row: 2; width: min(820px,100%); justify-self: center; }
  .pkl-v2170 .ppx-skill-grid { grid-template-columns: 1fr 1fr; }
  .pkl-v2170 .ppx-partner-switcher { grid-column: 1 / -1; grid-row: 3; width: min(820px,100%); }
  .ppx-chapters { display: none; }
}

@media (min-width: 1241px) and (max-height: 820px) {
  .pkl-v2170 .ppx-partner,
  .pkl-v2170 .ppx-partner-layout { min-height: 760px; }
  .pkl-v2170 .ppx-partner-layout { grid-template-rows: minmax(0,1fr) 70px; padding: 84px 0 18px; }
  .pkl-v2170 .ppx-partner-mon { height: 500px; }
  .pkl-v2170 .ppx-partner-mon > img { max-height: 500px; }
  .pkl-v2170 .ppx-partner-panel { padding: 20px; }
  .pkl-v2170 .ppx-partner-title p { margin-bottom: 12px; }
  .pkl-v2170 .ppx-skill-grid button { min-height: 58px; }
  .pkl-v2170 .ppx-partner-switcher button { min-height: 68px; }

  .pkl-v2170 .ppx-world,
  .pkl-v2170 .ppx-world-layout { min-height: 720px; }
  .pkl-v2170 .ppx-world-layout { padding: 86px 0 24px; }
  .pkl-v2170 .ppx-world-card { bottom: 24px; }

  .pkl-v2170 .ppx-battle,
  .pkl-v2170 .ppx-battle-layout { min-height: 720px; }
  .pkl-v2170 .ppx-battle-layout { padding: 86px 0 20px; }
  .pkl-v2170 .ppx-battle-head h2 { margin-block: 9px 10px; font-size: 58px; }
  .pkl-v2170 .ppx-battle-stage { inset: 150px 0 148px; }
  .pkl-v2170 .ppx-fighter img { max-height: 380px; }
  .pkl-v2170 .ppx-battle-console { bottom: 12px; }

  .pkl-v2170 .ppx-activities,
  .pkl-v2170 .ppx-activity-layout { min-height: 760px; }
  .pkl-v2170 .ppx-activity-layout { padding: 84px 0 24px; }

  .ppx-first-hour,
  .ppx-first-hour-layout { min-height: 720px; }
  .ppx-first-hour h2 { margin-block: 9px 12px; font-size: 58px; }
  .ppx-first-hour header p { line-height: 1.5; }
  .ppx-first-hour ol { margin: 20px 0 18px; }
  .ppx-first-hour li { min-height: 62px; }
  .ppx-first-hour-layout > button { min-height: 52px; }
}

@media (max-width: 760px) {
  .pkl-v2170 .pkl-nav.is-scrolled { background: rgba(4,20,28,.94) !important; }
  .pkl-v2170 .ppx-hero::after { display: none; }
  .pkl-v2170 .ppx-partner { min-height: 1160px; }
  .pkl-v2170 .ppx-partner-bg { object-position: 67% center; }
  .pkl-v2170 .ppx-partner-shade { background: linear-gradient(180deg, rgba(3,20,28,.92), rgba(3,20,28,.2) 34%, rgba(3,20,28,.94) 66%); }
  .pkl-v2170 .ppx-partner-layout { display: block; min-height: 1160px; padding-top: 86px; }
  .pkl-v2170 .ppx-partner-mon { height: 390px; margin-top: -8px; }
  .pkl-v2170 .ppx-partner-mon > img { bottom: 6px; width: min(390px,112vw); max-height: 390px; }
  .pkl-v2170 .ppx-partner-number { top: 72px; font-size: 76px; }
  .ppx-partner-orbit { inset: 20% 3% 4%; }
  .pkl-v2170 .ppx-skill-grid { grid-template-columns: 1fr 1fr; }
  .pkl-v2170 .ppx-partner-switcher { width: 100%; }

  .pkl-v2170 .ppx-battle { min-height: 950px; }
  .pkl-v2170 .ppx-battle-bg { object-position: 48% center; }
  .pkl-v2170 .ppx-battle-shade { background: linear-gradient(180deg, rgba(4,17,26,.93), rgba(4,17,26,.09) 38%, rgba(4,17,26,.92) 66%); }
  .pkl-v2170 .ppx-battle-stage { inset: 270px -12px 330px; }
  .pkl-v2170 .ppx-fighter.is-player { left: -2%; width: 57%; }
  .pkl-v2170 .ppx-fighter.is-rival { right: -2%; width: 57%; }
  .pkl-v2170 .ppx-battle-spark { left: 50%; width: 54px; height: 54px; }

  .ppx-first-hour { min-height: 940px; }
  .ppx-first-hour > img { object-position: 56% center; }
  .ppx-first-hour-shade { background: linear-gradient(180deg, rgba(4,20,27,.82), rgba(4,20,27,.12) 33%, rgba(4,20,27,.94) 63%); }
  .ppx-first-hour-layout { display: block; min-height: 940px; padding: 80px 0 28px; }
  .ppx-first-hour header { width: 100%; }
  .ppx-first-hour h2 { font-size: 44px; }
  .ppx-first-hour header p { max-width: 320px; font-size: 11px; }
  .ppx-first-hour ol { position: absolute; right: 0; bottom: 102px; left: 0; width: 100%; margin: 0; padding: 0 18px; border-radius: 20px; background: rgba(4,19,26,.76); backdrop-filter: blur(18px); }
  .ppx-first-hour li { min-height: 64px; }
  .ppx-first-hour-layout > button { position: absolute; right: 0; bottom: 28px; left: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ppx-partner-orbit i,
  .pkl-v2170 .ppx-battle-stage.is-casting .ppx-battle-spark span { animation: none !important; }
  .pkl-v2170 .ppx-hero-media img,
  .pkl-v2170 .ppx-partner-bg,
  .pkl-v2170 .ppx-world-bg,
  .pkl-v2170 .ppx-battle-bg,
  .pkl-v2170 .ppx-activity-bg,
  .pkl-v2170 .ppx-first-hour > img,
  .pkl-v2170 .pkl-community-bg { transform: scale(1.035) !important; }
}

/* 2.18.0 — denser starter information and a calmer visual rhythm. */
.pkl-v2180 .ppx-skill-source {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -4px 0 11px;
  color: rgba(255,255,255,.48);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: .06em;
}
.pkl-v2180 .ppx-skill-source > span { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.72); }
.pkl-v2180 .ppx-skill-source i { width: 6px; height: 6px; border-radius: 50%; background: #65efb9; box-shadow: 0 0 0 4px rgba(101,239,185,.12); }
.pkl-v2180 .ppx-skill-grid { grid-template-columns: 1fr; gap: 7px; }
.pkl-v2180 .ppx-skill-grid button {
  position: relative;
  grid-template-columns: 48px minmax(0,1fr);
  grid-template-rows: auto auto;
  gap: 2px 12px;
  min-height: 76px;
  padding: 10px 13px 10px 10px;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.pkl-v2180 .ppx-skill-grid button::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, #65efb9, #ffdd42);
  opacity: 0;
  transform: scaleX(.25);
  transform-origin: left;
  transition: opacity .22s ease, transform .28s ease;
}
.pkl-v2180 .ppx-skill-grid button.is-active::after { opacity: 1; transform: scaleX(1); }
.pkl-v2180 .ppx-skill-grid button:hover { transform: translateX(3px); }
.pkl-v2180 .ppx-skill-grid img { grid-row: 1 / 3; width: 48px; height: 48px; align-self: center; border-radius: 14px; }
.pkl-v2180 .ppx-skill-grid span { gap: 3px; align-self: center; }
.pkl-v2180 .ppx-skill-grid small { font-size: 6px; }
.pkl-v2180 .ppx-skill-grid b { font-size: 11px; }
.pkl-v2180 .ppx-skill-grid em {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(255,255,255,.57);
  font-size: 8px;
  font-style: normal;
  font-weight: 550;
  line-height: 1.38;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.pkl-v2180 .ppx-partner-panel > a { margin-top: 11px; }
.pkl-v2180 .ppx-partner-switcher button { transition: opacity .22s ease, background .22s ease, transform .22s ease; }
.pkl-v2180 .ppx-partner-switcher button:hover { transform: translateY(-2px); }

.pkl-v2180 .ppx-world-card,
.pkl-v2180 .ppx-battle-console,
.pkl-v2180 .ppx-activity-copy {
  border-color: rgba(255,255,255,.24);
  box-shadow: 0 30px 90px rgba(0,14,22,.28);
}
.pkl-v2180 .ppx-world-hotspots button i { box-shadow: 0 0 0 7px rgba(255,221,66,.13), 0 10px 30px rgba(0,0,0,.28); }
.pkl-v2180 .ppx-world-hotspots button.is-active i { animation: p18-hotspot 1.9s ease-in-out infinite; }
@keyframes p18-hotspot { 50% { box-shadow: 0 0 0 14px rgba(255,221,66,0), 0 10px 30px rgba(0,0,0,.28); } }

.pkl-v2180 .ppx-proof { position: relative; overflow: hidden; background: #f1eee5; }
.pkl-v2180 .ppx-proof span { position: relative; min-height: 164px; padding-left: 52px; counter-increment: proof; }
.pkl-v2180 .ppx-proof .pkl-shell { counter-reset: proof; }
.pkl-v2180 .ppx-proof span::before {
  content: "0" counter(proof);
  position: absolute;
  top: 30px;
  left: 26px;
  color: rgba(8,31,45,.14);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.pkl-v2180 .ppx-proof b { font-size: 20px; }
.pkl-v2180 .ppx-proof b[data-public-stat] { font-size: clamp(28px,2.3vw,38px); font-variant-numeric: tabular-nums; letter-spacing: -.055em; }
.pkl-v2180 .ppx-proof em { max-width: 190px; line-height: 1.45; }

.pkl-v2180 .ppx-activity-bg { object-position: center; }

.pkl-v2180 .ppx-update {
  isolation: isolate;
  transition: transform .3s cubic-bezier(.2,.75,.25,1), box-shadow .3s ease;
}
.pkl-v2180 .ppx-update:hover { transform: translateY(-7px); box-shadow: 0 26px 70px rgba(6,25,37,.2); }
.pkl-v2180 .ppx-update > img:first-child { transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .35s ease; }
.pkl-v2180 .ppx-update:hover > img:first-child { transform: scale(1.045); filter: saturate(1.08); }
.pkl-v2180.has-reveal [data-ppx-reveal] { opacity: 1; }
.pkl-v2180 .pkl-ready-v2::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(500px circle at 82% 50%, rgba(255,220,65,.12), transparent 64%);
}
.pkl-v2180 .pkl-ready-layout { position: relative; z-index: 1; }

@media (min-width: 1241px) and (max-height: 820px) {
  .pkl-v2180 .ppx-skill-source { min-height: 22px; margin-bottom: 6px; }
  .pkl-v2180 .ppx-skill-grid button { min-height: 64px; padding-block: 7px; }
  .pkl-v2180 .ppx-skill-grid img { width: 42px; height: 42px; }
  .pkl-v2180 .ppx-skill-grid em { font-size: 7px; }
}

@media (max-width: 760px) {
  .pkl-v2180 .ppx-skill-source { align-items: flex-start; margin-top: 1px; }
  .pkl-v2180 .ppx-skill-source small { max-width: 120px; text-align: right; line-height: 1.35; }
  .pkl-v2180 .ppx-skill-grid { grid-template-columns: 1fr 1fr; }
  .pkl-v2180 .ppx-skill-grid button { display: grid; grid-template-columns: 38px minmax(0,1fr); min-height: 82px; padding: 8px; }
  .pkl-v2180 .ppx-skill-grid img { width: 38px; height: 38px; border-radius: 11px; }
  .pkl-v2180 .ppx-skill-grid b { font-size: 8px; white-space: normal; line-height: 1.15; }
  .pkl-v2180 .ppx-skill-grid em { font-size: 7px; line-height: 1.34; -webkit-line-clamp: 3; }
  .pkl-v2180 .ppx-proof span { min-height: 118px; padding: 20px 13px 16px 34px; }
  .pkl-v2180 .ppx-proof span::before { top: 23px; left: 13px; }
  .pkl-v2180 .ppx-proof b { font-size: 14px; }
  .pkl-v2180 .ppx-proof b[data-public-stat] { font-size: 24px; }
  .pkl-v2180 .ppx-activity-bg { object-position: center; }
}

@media (prefers-reduced-motion: reduce) {
  .pkl-v2180 .ppx-world-hotspots button.is-active i { animation: none; }
}

/* Elemental partner staging keeps every official silhouette readable. */
.pkl-v2180 .ppx-partner {
  --starter-accent: #65efb9;
  --starter-glow: rgba(101,239,185,.36);
}
.pkl-v2180 .ppx-partner[data-team-theme="fire"] {
  --starter-accent: #ff8c52;
  --starter-glow: rgba(255,112,54,.42);
}
.pkl-v2180 .ppx-partner[data-team-theme="water"] {
  --starter-accent: #65caff;
  --starter-glow: rgba(64,167,255,.42);
}
.pkl-v2180 .ppx-partner-mon::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 18% 4% 7%;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle at 50% 54%, var(--starter-glow), transparent 66%);
  filter: blur(5px);
  transition: background .35s ease;
}
.pkl-v2180 .ppx-partner-mon[data-team-theme="fire"] > img,
.pkl-v2180 .ppx-partner-mon[data-team-theme="water"] > img {
  bottom: 42px;
  width: min(470px,94%);
  max-height: 500px;
  filter: drop-shadow(0 30px 25px rgba(0,15,16,.38)) drop-shadow(0 0 26px var(--starter-glow));
}
.pkl-v2180 .ppx-partner[data-team-theme="fire"] .ppx-partner-orbit i,
.pkl-v2180 .ppx-partner[data-team-theme="water"] .ppx-partner-orbit i {
  border-color: color-mix(in srgb, var(--starter-accent) 48%, transparent);
}
.pkl-v2180 .ppx-partner[data-team-theme="fire"] .ppx-partner-orbit i::after,
.pkl-v2180 .ppx-partner[data-team-theme="water"] .ppx-partner-orbit i::after {
  background: var(--starter-accent);
  box-shadow: 0 0 20px var(--starter-glow);
}
.pkl-v2180 .ppx-partner[data-team-theme="fire"] .ppx-partner-title > span,
.pkl-v2180 .ppx-partner[data-team-theme="water"] .ppx-partner-title > span {
  color: var(--starter-accent);
}
.pkl-v2180 .ppx-skill-source i { background: var(--starter-accent); box-shadow: 0 0 0 4px var(--starter-glow); }
.pkl-v2180 .ppx-skill-grid button::after { background: linear-gradient(90deg, var(--starter-accent), #ffdd42); }
.pkl-v2180 .ppx-hero .pkl-welcome {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(4,26,34,.56);
}

@media (max-width: 1240px) {
  .pkl-v2180 .ppx-partner-mon[data-team-theme="fire"] > img,
  .pkl-v2180 .ppx-partner-mon[data-team-theme="water"] > img {
    width: min(430px,94%);
    max-height: 470px;
  }
}

@media (max-width: 760px) {
  .pkl-v2180 .pkl-nav.is-scrolled .pkl-menu { color: #092330; background: #edf2f3; }
  .pkl-v2180 .pkl-nav.is-scrolled .pkl-menu i { background: #092330 !important; }
  .pkl-v2180 .pkl-nav.is-scrolled > nav { color: #092330; background: rgba(248,250,247,.98); }
  .pkl-v2180 .pkl-nav.is-scrolled > nav a { color: #092330 !important; }
  .pkl-v2180 .ppx-partner-mon[data-team-theme="fire"] > img,
  .pkl-v2180 .ppx-partner-mon[data-team-theme="water"] > img {
    bottom: 14px;
    width: min(310px,83vw);
    max-height: 330px;
  }
}

/* 2.18.0 — bright adventure art direction. */
.pkl-v2180 {
  --adventure-ink: #082d3d;
  --adventure-blue: #087fca;
  --adventure-sky: #8bdeff;
  --adventure-paper: rgba(248, 255, 255, .88);
  --adventure-line: rgba(10, 73, 94, .16);
}

.pkl-v2180 .pkl-nav,
.pkl-v2180 .pkl-nav.is-scrolled {
  color: var(--adventure-ink) !important;
  background: rgba(247, 254, 255, .82) !important;
  border-color: rgba(8, 57, 76, .08) !important;
  box-shadow: 0 12px 42px rgba(8, 61, 83, .1);
  backdrop-filter: blur(22px) saturate(1.25);
}
.pkl-v2180 .pkl-nav::after,
.pkl-v2180 .pkl-nav.is-scrolled::after { background: rgba(8, 57, 76, .1); opacity: 1; }
.pkl-v2180 .pkl-nav nav a,
.pkl-v2180 .pkl-nav .pkl-signin,
.pkl-v2180 .pkl-nav .pkl-brand { color: var(--adventure-ink) !important; }
.pkl-v2180 .pkl-nav.is-scrolled nav a,
.pkl-v2180 .pkl-nav.is-scrolled .pkl-signin,
.pkl-v2180 .pkl-nav.is-scrolled .pkl-brand { color: var(--adventure-ink) !important; }
.pkl-v2180 .pkl-nav .pkl-brand b span { color: var(--adventure-blue); }
.pkl-v2180 .pkl-nav .pkl-menu { color: var(--adventure-ink); background: rgba(255,255,255,.74); }
.pkl-v2180 .pkl-nav .pkl-menu i { background: var(--adventure-ink) !important; }
.pkl-v2180 .pkl-account-avatar { border-color: rgba(8,57,76,.18); }

#app[data-screen="gate"] .gate-screen { color: var(--adventure-ink, #082d3d); background: #82d9ff; }
#app[data-screen="gate"] .gate-screen .auth-backdrop {
  background:
    linear-gradient(90deg, rgba(235,250,255,.54), rgba(235,250,255,.02) 58%),
    url('/home-assets-v2180/hero-adventure-v2180.webp') center / cover no-repeat;
}
#app[data-screen="gate"] .gate-screen .auth-vignette { background: linear-gradient(180deg, rgba(4,66,88,.06), transparent 56%, rgba(4,66,88,.16)); }
#app[data-screen="gate"] .gate-screen .auth-brand { color: #083247; text-shadow: 0 1px 0 rgba(255,255,255,.65); }
#app[data-screen="gate"] .gate-screen .auth-brand b { color: #083247; }
#app[data-screen="gate"] .gate-screen .auth-brand small { color: rgba(8,50,71,.62); }
#app[data-screen="gate"] .gate-card { box-shadow: 0 34px 100px rgba(10,85,112,.24); }

.pkl-v2180 .ppx-chapters a { color: var(--adventure-ink); filter: drop-shadow(0 2px 7px rgba(255,255,255,.8)); }
.pkl-v2180 .ppx-chapters i { border-color: rgba(8,45,61,.46); background: rgba(255,255,255,.74); }
.pkl-v2180 .ppx-chapters span { color: var(--adventure-ink); background: rgba(250,255,255,.9); box-shadow: 0 8px 24px rgba(8,56,75,.12); }
.pkl-v2180 .ppx-hero,
.pkl-v2180 .ppx-partner,
.pkl-v2180 .ppx-world,
.pkl-v2180 .ppx-battle,
.pkl-v2180 .ppx-activities,
.pkl-v2180 .ppx-first-hour,
.pkl-v2180 .pkl-community-v2 { scroll-margin-top: 68px; }

/* A clear opening: scenery first, copy second, characters as a separate game layer. */
.pkl-v2180 .ppx-hero { color: var(--adventure-ink); background: #87dcff; }
.pkl-v2180 .ppx-hero-media { z-index: 0; }
.pkl-v2180 .ppx-hero-media img { object-position: center; filter: saturate(1.06) contrast(1.01); }
.pkl-v2180 .ppx-hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(242,253,255,.96) 0%, rgba(242,253,255,.79) 31%, rgba(242,253,255,.18) 52%, transparent 67%),
    linear-gradient(0deg, rgba(5,67,87,.2), transparent 31%);
}
.pkl-v2180 .ppx-hero::after { z-index: 1; background: radial-gradient(520px circle at var(--hero-x, 74%) var(--hero-y, 38%), rgba(255,242,145,.32), transparent 66%); }
.ppx-hero-cast { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.ppx-hero-cast img { position: absolute; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(5,54,70,.26)); }
.ppx-hero-cast .is-charizard { top: 9%; right: 5%; width: min(430px,29vw); max-height: 45%; animation: p18-float-air 5.8s ease-in-out infinite; }
.ppx-hero-cast .is-eevee { right: 21%; bottom: 11%; width: min(300px,19vw); max-height: 38%; animation: p18-float-ground 4.6s ease-in-out infinite .35s; }
.ppx-hero-cast .is-pikachu { right: 2%; bottom: 8%; width: min(360px,22vw); max-height: 43%; animation: p18-float-ground 4.2s ease-in-out infinite; }
.pkl-v2180 .ppx-hero-layout { z-index: 3; }
.pkl-v2180 .ppx-hero-copy { width: min(690px,49vw); }
.pkl-v2180 .ppx-hero .pkl-version { color: #0a516c; border-color: rgba(8,71,93,.17); background: rgba(255,255,255,.7); box-shadow: 0 10px 30px rgba(10,83,109,.09); }
.pkl-v2180 .ppx-hero h1 { color: var(--adventure-ink); text-shadow: 0 2px 0 rgba(255,255,255,.72); }
.pkl-v2180 .ppx-hero h1 em { color: var(--adventure-blue); }
.pkl-v2180 .ppx-hero-copy > p:not(.pkl-welcome) { color: rgba(8,45,61,.76); }
.pkl-v2180 .ppx-hero .pkl-welcome { color: var(--adventure-ink) !important; border-color: rgba(8,71,93,.15); background: rgba(255,255,255,.78); }
.pkl-v2180 .ppx-hero .pkl-ghost { color: var(--adventure-ink); border-color: rgba(8,45,61,.24); background: rgba(255,255,255,.42); }
.pkl-v2180 .ppx-hero-status { color: var(--adventure-ink); border-color: rgba(8,57,76,.14); background: rgba(249,255,255,.79); box-shadow: 0 18px 50px rgba(7,62,81,.12); backdrop-filter: blur(15px) saturate(1.2); }
.pkl-v2180 .ppx-hero-status > span { border-color: rgba(8,57,76,.1); }
.pkl-v2180 .ppx-hero-status small { color: #0878b8; }
.pkl-v2180 .ppx-hero-status em { color: rgba(8,45,61,.55); }
.pkl-v2180 .ppx-scroll { color: rgba(8,45,61,.65); }
.pkl-v2180 .ppx-scroll i { border-color: rgba(8,45,61,.34); background: rgba(255,255,255,.36); }
.pkl-v2180 .ppx-scroll i::after { background: var(--adventure-blue); }

/* Sunny companion campus with a compact, readable Pokédex panel. */
.pkl-v2180 .ppx-partner { color: var(--adventure-ink); background: #8ddfff; }
.pkl-v2180 .ppx-partner-bg { object-position: center; filter: saturate(1.035); }
.pkl-v2180 .ppx-partner-shade {
  background:
    linear-gradient(90deg, rgba(240,253,255,.91) 0%, rgba(240,253,255,.58) 27%, transparent 49%),
    linear-gradient(0deg, rgba(10,77,91,.18), transparent 37%);
}
.pkl-v2180 .ppx-partner-head .pkl-eyebrow { color: #0878b8; }
.pkl-v2180 .ppx-partner-head h2 { color: var(--adventure-ink); text-shadow: 0 2px 0 rgba(255,255,255,.72); }
.pkl-v2180 .ppx-partner-head p { color: rgba(8,45,61,.7); }
.pkl-v2180 .ppx-partner-number { color: rgba(5,79,108,.13); }
.pkl-v2180 .ppx-partner-mon > img { filter: drop-shadow(0 32px 23px rgba(8,63,77,.26)); }
.pkl-v2180 .ppx-partner-panel {
  color: var(--adventure-ink);
  border-color: rgba(8,74,96,.15);
  background: rgba(249,255,255,.86);
  box-shadow: 0 30px 85px rgba(6,70,91,.19);
  backdrop-filter: blur(24px) saturate(1.15);
}
.pkl-v2180 .ppx-partner-title > span { color: #087ab9; }
.pkl-v2180 .ppx-partner-title p { color: rgba(8,45,61,.65); }
.pkl-v2180 .ppx-skill-source,
.pkl-v2180 .ppx-skill-source > span { color: rgba(8,45,61,.58); }
.pkl-v2180 .ppx-skill-grid button { color: var(--adventure-ink); border-color: rgba(8,74,96,.11); background: rgba(255,255,255,.72); }
.pkl-v2180 .ppx-skill-grid button:hover,
.pkl-v2180 .ppx-skill-grid button.is-active { border-color: color-mix(in srgb, var(--starter-accent) 62%, #789); background: color-mix(in srgb, var(--starter-accent) 10%, white); }
.pkl-v2180 .ppx-skill-grid small { color: rgba(8,45,61,.46); }
.pkl-v2180 .ppx-skill-grid em { color: rgba(8,45,61,.65); }
.pkl-v2180 .ppx-partner-panel > a { color: #096d9f; border-color: rgba(8,74,96,.13); }
.pkl-v2180 .ppx-partner-switcher { color: var(--adventure-ink); border-color: rgba(8,74,96,.15); background: rgba(249,255,255,.78); box-shadow: 0 16px 50px rgba(7,68,88,.13); }
.pkl-v2180 .ppx-partner-switcher button { color: var(--adventure-ink); border-color: rgba(8,74,96,.1); }
.pkl-v2180 .ppx-partner-switcher button:hover { background: rgba(255,255,255,.65); }
.pkl-v2180 .ppx-partner-switcher button.is-active { background: rgba(255,227,94,.25); }
.pkl-v2180 .ppx-partner-switcher small { color: #0876ad; }

/* The region behaves like an interactive atlas, while the art remains visible. */
.pkl-v2180 .ppx-world { color: var(--adventure-ink); background: #62cbee; }
.pkl-v2180 .ppx-world-bg { object-position: center; filter: saturate(1.04); }
.pkl-v2180 .ppx-world-shade { background: linear-gradient(180deg, rgba(242,253,255,.66), transparent 25%, transparent 69%, rgba(6,64,82,.18)); }
.pkl-v2180 .ppx-world-head { padding: 22px 24px 24px; border: 1px solid rgba(8,70,91,.12); border-radius: 24px; background: rgba(249,255,255,.82); box-shadow: 0 20px 55px rgba(7,67,88,.13); backdrop-filter: blur(18px); }
.pkl-v2180 .ppx-world-head .pkl-eyebrow { color: #0878b8; }
.pkl-v2180 .ppx-world-head h2 { color: var(--adventure-ink); }
.pkl-v2180 .ppx-world-head p { color: rgba(8,45,61,.64); }
.pkl-v2180 .ppx-world-card { color: var(--adventure-ink); border-color: rgba(8,70,91,.14); background: rgba(249,255,255,.88); box-shadow: 0 28px 80px rgba(6,64,84,.2); }
.pkl-v2180 .ppx-world-card > span { color: #0878b8; }
.pkl-v2180 .ppx-world-card p { color: rgba(8,45,61,.66); }
.pkl-v2180 .ppx-world-card div i { color: rgba(8,45,61,.72); background: rgba(7,127,202,.09); }
.pkl-v2180 .ppx-world-card a { color: #086eaa; border-color: rgba(8,70,91,.13); }
.pkl-v2180 .ppx-world-hotspots button { color: var(--adventure-ink); }
.pkl-v2180 .ppx-world-hotspots button span { color: var(--adventure-ink); background: rgba(250,255,255,.91); box-shadow: 0 8px 24px rgba(5,59,79,.16); }
.pkl-v2180 .ppx-world-hotspots button i { border-color: #fff; box-shadow: 0 0 0 7px rgba(8,96,134,.15), 0 9px 24px rgba(4,52,70,.28); }

/* A bright arena; the dark strip is limited to the combat controls. */
.pkl-v2180 .ppx-battle { color: var(--adventure-ink); background: #85ddff; }
.pkl-v2180 .ppx-battle-bg { object-position: center; filter: saturate(1.05); }
.pkl-v2180 .ppx-battle-shade {
  background:
    linear-gradient(90deg, rgba(241,253,255,.9) 0%, rgba(241,253,255,.56) 28%, transparent 50%),
    linear-gradient(0deg, rgba(5,43,56,.34), transparent 31%);
}
.pkl-v2180 .ppx-battle-head .pkl-eyebrow { color: #0878b8; }
.pkl-v2180 .ppx-battle-head h2 { color: var(--adventure-ink); text-shadow: 0 2px 0 rgba(255,255,255,.68); }
.pkl-v2180 .ppx-battle-head p { color: rgba(8,45,61,.68); }
.pkl-v2180 .ppx-fighter img { filter: drop-shadow(0 28px 22px rgba(5,49,65,.3)); }
.pkl-v2180 .ppx-battle-console { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(5,34,46,.84); box-shadow: 0 24px 70px rgba(4,46,61,.25); }

/* Activities keep one dramatic HUD layer while the route remains sunny. */
.pkl-v2180 .ppx-activities { background: #75d4f5; }
.pkl-v2180 .ppx-activity-bg { object-position: center; filter: saturate(1.05); }
.pkl-v2180 .ppx-activity-shade {
  background:
    linear-gradient(90deg, rgba(4,43,54,.67) 0%, rgba(4,43,54,.31) 30%, transparent 58%),
    linear-gradient(0deg, rgba(4,35,45,.42), transparent 39%);
}
.pkl-v2180 .ppx-activity-copy { padding: 22px 24px; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: rgba(4,41,52,.62); box-shadow: 0 22px 70px rgba(4,45,59,.2); backdrop-filter: blur(17px); }
.pkl-v2180 .ppx-activity-copy p { color: rgba(255,255,255,.78); }
.pkl-v2180 .ppx-activity-nav { border-color: rgba(255,255,255,.34); border-radius: 18px; overflow: hidden; background: rgba(4,41,52,.28); backdrop-filter: blur(15px); }
.pkl-v2180 .ppx-activity-nav button { border-color: rgba(255,255,255,.17); background: transparent; }
.pkl-v2180 .ppx-activity-nav button.is-active { background: rgba(4,41,52,.72); }

/* The onboarding scene shows the actual three starters on the generated platforms. */
.pkl-v2180 .ppx-first-hour { color: var(--adventure-ink); background: #9ce2fb; }
.pkl-v2180 .ppx-first-hour > img { object-position: center; filter: saturate(1.03); }
.pkl-v2180 .ppx-first-hour-shade {
  background:
    linear-gradient(90deg, rgba(244,253,255,.93) 0%, rgba(244,253,255,.7) 31%, transparent 53%),
    linear-gradient(0deg, rgba(4,72,91,.12), transparent 35%);
}
.ppx-first-hour-cast { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.ppx-first-hour-cast img { position: absolute; bottom: 16%; width: min(270px,17vw); max-height: 34%; object-fit: contain; filter: drop-shadow(0 24px 20px rgba(5,61,77,.26)); }
.ppx-first-hour-cast .is-bulbasaur { left: 48%; }
.ppx-first-hour-cast .is-charmander { left: 64%; }
.ppx-first-hour-cast .is-squirtle { left: 80%; }
.pkl-v2180 .ppx-first-hour-layout { z-index: 2; }
.pkl-v2180 .ppx-first-hour .pkl-eyebrow { color: #0878b8; }
.pkl-v2180 .ppx-first-hour h2 { color: var(--adventure-ink); text-shadow: 0 2px 0 rgba(255,255,255,.72); }
.pkl-v2180 .ppx-first-hour header p { color: rgba(8,45,61,.67); }
.pkl-v2180 .ppx-first-hour ol { padding: 8px 18px; border: 1px solid rgba(8,70,91,.12); border-radius: 22px; background: rgba(249,255,255,.79); box-shadow: 0 20px 55px rgba(6,67,87,.12); backdrop-filter: blur(17px); }
.pkl-v2180 .ppx-first-hour li { border-color: rgba(8,70,91,.1); }
.pkl-v2180 .ppx-first-hour li > b { color: #0878b8; }
.pkl-v2180 .ppx-first-hour em { color: rgba(8,45,61,.56); }

/* Community closes the journey in daylight instead of a dark promo banner. */
.pkl-v2180 .pkl-community-v2 { color: var(--adventure-ink); background: #9bdff1; }
.pkl-v2180 .pkl-community-bg { object-position: center; filter: saturate(1.03); }
.pkl-v2180 .pkl-community-shade {
  background:
    linear-gradient(90deg, rgba(255,250,239,.93) 0%, rgba(255,250,239,.68) 32%, transparent 56%),
    linear-gradient(0deg, rgba(7,65,78,.11), transparent 42%);
}
.pkl-v2180 .pkl-community-copy .pkl-eyebrow { color: #c34e31; }
.pkl-v2180 .pkl-community-copy h2 { color: var(--adventure-ink); text-shadow: 0 2px 0 rgba(255,255,255,.7); }
.pkl-v2180 .pkl-community-copy p { color: rgba(8,45,61,.68); }
.pkl-v2180 .pkl-community-links > span { color: var(--adventure-ink); border-color: rgba(8,70,91,.12); background: rgba(250,255,255,.82); box-shadow: 0 14px 40px rgba(7,65,83,.11); }
.pkl-v2180 .pkl-community-links small { color: rgba(8,45,61,.48); }

@keyframes p18-float-air { 50% { transform: translate3d(-7px,-11px,0) rotate(-1deg); } }
@keyframes p18-float-ground { 50% { transform: translate3d(0,-7px,0); } }

@media (max-width: 1240px) {
  .ppx-hero-cast .is-charizard { right: -2%; width: 34vw; }
  .ppx-hero-cast .is-eevee { right: 19%; width: 23vw; }
  .ppx-hero-cast .is-pikachu { right: -3%; width: 27vw; }
  .ppx-first-hour-cast img { width: 20vw; }
  .ppx-first-hour-cast .is-bulbasaur { left: 43%; }
  .ppx-first-hour-cast .is-charmander { left: 61%; }
  .ppx-first-hour-cast .is-squirtle { left: 78%; }
}

@media (max-width: 760px) {
  #app[data-screen="gate"] .gate-screen .auth-backdrop {
    background:
      linear-gradient(180deg, rgba(239,252,255,.16), rgba(239,252,255,.02) 46%, rgba(4,58,76,.15)),
      url('/home-assets-v2180/hero-adventure-mobile-v2180.webp') center / cover no-repeat;
  }
  #app[data-screen="gate"] .gate-screen .auth-brand { color: #fff; text-shadow: 0 2px 14px rgba(4,49,67,.5); }
  #app[data-screen="gate"] .gate-screen .auth-brand b { color: #fff; }
  #app[data-screen="gate"] .gate-screen .auth-brand small { color: rgba(255,255,255,.72); }

  .pkl-v2180 .ppx-hero { min-height: max(820px,100svh); }
  .pkl-v2180 .ppx-hero-media img { object-position: center; }
  .pkl-v2180 .ppx-hero-shade {
    background:
      linear-gradient(180deg, rgba(241,253,255,.9) 0%, rgba(241,253,255,.6) 31%, transparent 51%, rgba(5,57,74,.16) 75%, rgba(242,253,255,.9) 100%);
  }
  .pkl-v2180 .ppx-hero-layout { align-items: start; padding: 104px 0 142px; }
  .pkl-v2180 .ppx-hero-copy { width: 100%; }
  .pkl-v2180 .ppx-hero h1 { max-width: 560px; font-size: clamp(44px,13.2vw,60px); }
  .pkl-v2180 .ppx-hero-copy > p:not(.pkl-welcome) { max-width: 460px; color: rgba(8,45,61,.72); }
  .pkl-v2180 .ppx-hero .pkl-ghost { color: var(--adventure-ink); }
  .ppx-hero-cast .is-charizard { display: none; }
  .ppx-hero-cast .is-eevee { right: auto; bottom: 16%; left: 7%; width: 34vw; max-height: 25%; }
  .ppx-hero-cast .is-pikachu { right: 3%; bottom: 15%; width: 38vw; max-height: 29%; }
  .pkl-v2180 .ppx-hero-status { right: 14px; bottom: 18px; left: 14px; width: auto; }

  .pkl-v2180 .ppx-partner-shade { background: linear-gradient(180deg, rgba(241,253,255,.92), rgba(241,253,255,.21) 35%, rgba(241,253,255,.08) 58%, rgba(241,253,255,.9) 77%); }
  .pkl-v2180 .ppx-partner-bg { object-position: 50% center; }
  .pkl-v2180 .ppx-partner-panel { background: rgba(249,255,255,.91); }
  .pkl-v2180 .ppx-partner-switcher { background: rgba(249,255,255,.9); }

  .pkl-v2180 .ppx-world,
  .pkl-v2180 .ppx-world-layout { min-height: 820px; }
  .pkl-v2180 .ppx-world { background: linear-gradient(#b7ebf7, #72d4ef 60%, #bcecf5); }
  .pkl-v2180 .ppx-world-bg { top: 245px; bottom: auto; height: auto; object-fit: contain; object-position: center; transform: none; }
  .pkl-v2180 .ppx-world-shade { display: none; }
  .pkl-v2180 .ppx-world-layout { padding-top: 82px; }
  .pkl-v2180 .ppx-world-head { width: min(100%,430px); padding: 16px 18px 18px; border-radius: 19px; }
  .pkl-v2180 .ppx-world-hotspots { top: 245px; right: 0; bottom: auto; left: 0; height: calc((100vw - 28px) * .5625); }
  .pkl-v2180 .ppx-world-card { background: rgba(249,255,255,.94); }

  .pkl-v2180 .ppx-battle-shade { background: linear-gradient(180deg, rgba(241,253,255,.9), rgba(241,253,255,.13) 32%, transparent 58%, rgba(5,43,56,.46) 72%); }
  .pkl-v2180 .ppx-battle-head { width: 100%; }

  .pkl-v2180 .ppx-activity-shade { background: linear-gradient(180deg, rgba(4,43,54,.7), rgba(4,43,54,.18) 35%, transparent 58%, rgba(4,35,45,.56) 71%); }
  .pkl-v2180 .ppx-activity-copy { padding: 17px 18px; border-radius: 18px; }

  .pkl-v2180 .ppx-first-hour-shade { background: linear-gradient(180deg, rgba(243,253,255,.94), rgba(243,253,255,.45) 32%, transparent 57%, rgba(243,253,255,.95) 76%); }
  .pkl-v2180 .ppx-first-hour > img { object-position: 53% center; }
  .pkl-v2180 .ppx-first-hour header { position: absolute; top: 88px; right: 0; left: 0; }
  .ppx-first-hour-cast img { bottom: 38%; width: 31vw; max-height: 24%; }
  .ppx-first-hour-cast .is-bulbasaur { left: -2%; }
  .ppx-first-hour-cast .is-charmander { left: 34%; }
  .ppx-first-hour-cast .is-squirtle { left: 68%; }
  .pkl-v2180 .ppx-first-hour ol { padding: 0 15px; background: rgba(249,255,255,.91); }

  .pkl-v2180 .pkl-community-bg { object-position: 58% center; }
  .pkl-v2180 .pkl-community-shade { background: linear-gradient(180deg, rgba(255,251,241,.93), rgba(255,251,241,.55) 35%, transparent 56%, rgba(6,58,71,.34) 73%, rgba(255,251,241,.92)); }
  .pkl-v2180 .pkl-community-layout { color: var(--adventure-ink); }
  .pkl-v2180 .pkl-community-links > span { background: rgba(250,255,255,.9); }
}

@media (prefers-reduced-motion: reduce) {
  .ppx-hero-cast img { animation: none !important; }
}

/* 2.19.0 — cohesive key art, clearer interactions and living gameplay previews. */
#app[data-screen="gate"] .gate-screen .auth-backdrop {
  background:
    linear-gradient(90deg, rgba(240,252,255,.9) 0%, rgba(240,252,255,.5) 38%, rgba(240,252,255,.03) 68%),
    url('/home-assets-v2190/hero-keyart-v2190.webp') right center / cover no-repeat;
}

.pkl-v2190 .ppx-hero-media img {
  object-position: right center;
  filter: saturate(1.04) contrast(1.015);
}
.pkl-v2190 .ppx-hero-shade {
  background:
    linear-gradient(90deg, rgba(245,253,255,.97) 0%, rgba(245,253,255,.83) 31%, rgba(245,253,255,.22) 51%, transparent 67%),
    linear-gradient(0deg, rgba(7,78,102,.16), transparent 35%);
}
.pkl-v2190 .ppx-hero-cast { display: none; }
.pkl-v2190 .ppx-hero-status { background: rgba(250,255,255,.86); }
.pkl-v2190 .pkl-auth { overflow: hidden; }
.pkl-v2190 .pkl-nav .pkl-menu i { background: var(--adventure-ink) !important; }

.pkl-v2190 .ppx-skill-focus {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  gap: 14px;
  min-height: 105px;
  align-items: center;
  margin-bottom: 9px;
  padding: 14px 16px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--starter-accent) 34%, rgba(8,74,96,.13));
  border-radius: 18px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--starter-accent) 12%, white), rgba(255,255,255,.58));
}
.pkl-v2190 .ppx-skill-focus::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--starter-accent);
}
.pkl-v2190 .ppx-skill-focus > img {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  object-fit: cover;
  box-shadow: 0 10px 26px var(--starter-glow);
}
.pkl-v2190 .ppx-skill-focus > span { display: grid; gap: 4px; min-width: 0; }
.pkl-v2190 .ppx-skill-focus small { color: color-mix(in srgb, var(--starter-accent) 78%, #173d4b); font-size: 7px; font-weight: 850; letter-spacing: .11em; }
.pkl-v2190 .ppx-skill-focus b { font-size: 16px; letter-spacing: -.025em; }
.pkl-v2190 .ppx-skill-focus em { color: rgba(8,45,61,.64); font-size: 9px; font-style: normal; line-height: 1.5; }
.pkl-v2190 .ppx-skill-focus.is-refreshing > img { animation: p19-skill-pop .34s cubic-bezier(.2,.8,.2,1); }
.pkl-v2190 .ppx-skill-grid { grid-template-columns: 1fr 1fr; gap: 7px; }
.pkl-v2190 .ppx-skill-grid button {
  grid-template-columns: 39px minmax(0,1fr);
  grid-template-rows: 1fr;
  min-height: 59px;
  padding: 8px 10px 8px 8px;
  cursor: pointer;
}
.pkl-v2190 .ppx-skill-grid img { grid-row: auto; width: 39px; height: 39px; border-radius: 11px; }
.pkl-v2190 .ppx-skill-grid small { font-size: 5px; }
.pkl-v2190 .ppx-skill-grid b { font-size: 9px; white-space: normal; line-height: 1.12; }
.pkl-v2190 .ppx-skill-grid em { display: none; }
.pkl-v2190 .ppx-partner-switcher img { filter: drop-shadow(0 6px 6px rgba(5,55,68,.19)); }
@keyframes p19-skill-pop { 0% { opacity: .35; transform: scale(.88) rotate(-4deg); } 100% { opacity: 1; transform: none; } }

.pkl-v2190 .ppx-world-bg { object-position: center; filter: saturate(1.08) contrast(1.01); }
.pkl-v2190 .ppx-world-shade {
  background:
    linear-gradient(180deg, rgba(239,252,255,.69), transparent 24%, transparent 72%, rgba(7,71,91,.2)),
    linear-gradient(90deg, rgba(239,252,255,.18), transparent 45%);
}
.pkl-v2190 .ppx-world-head,
.pkl-v2190 .ppx-world-card { background: rgba(250,255,255,.9); }

.pkl-v2190 .ppx-fighter.is-player img { transform: scaleX(-1); }
.pkl-v2190 .ppx-fighter::after {
  content: "";
  position: absolute;
  right: 8%;
  bottom: 0;
  left: 8%;
  height: 16%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(80,194,228,.3), rgba(14,95,118,.03) 69%);
  filter: blur(5px);
}
.pkl-v2190 .ppx-fighter.is-rival::after { background: radial-gradient(ellipse, rgba(143,108,255,.34), rgba(50,31,95,.03) 69%); }
.pkl-v2190 .ppx-battle-stage.is-casting .is-player img { animation: p19-player-attack .48s cubic-bezier(.2,.9,.2,1); }
@keyframes p19-player-attack {
  0%,100% { transform: scaleX(-1); }
  50% { transform: translate(42px,-12px) scaleX(-1) scale(1.05); }
}

.pkl-v2190 .ppx-activities.is-playing .ppx-activity-bg { animation: p19-activity-camera 6.5s ease-out both; }
.pkl-v2190 .ppx-activities.is-playing .ppx-activity-extra { animation: p19-activity-extra 6.5s ease-in-out both; }
.pkl-v2190 .ppx-activities.is-playing .ppx-activity-mon { animation: p19-activity-mon 3.2s ease-in-out infinite; }
.pkl-v2190 .ppx-activity-nav button { position: relative; overflow: hidden; cursor: pointer; }
.pkl-v2190 .ppx-activity-nav button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg,#ffdc41,#76e7ff);
  transform: scaleX(0);
  transform-origin: left;
}
.pkl-v2190 .ppx-activities.is-playing .ppx-activity-nav button.is-active::after { animation: p19-activity-progress 6.5s linear both; }
.pkl-v2190 .ppx-activities:hover .ppx-activity-nav button.is-active::after,
.pkl-v2190 .ppx-activities:focus-within .ppx-activity-nav button.is-active::after { animation-play-state: paused; }
@keyframes p19-activity-camera { from { transform: scale(1.025); } to { transform: scale(1.085) translate3d(-.8%,0,0); } }
@keyframes p19-activity-extra { 0%,100% { transform: translate3d(0,0,0) rotate(0); } 50% { transform: translate3d(-16px,-12px,0) rotate(-1deg); } }
@keyframes p19-activity-mon { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(5px,-10px,0) rotate(.5deg); } }
@keyframes p19-activity-progress { to { transform: scaleX(1); } }

.pkl-v2190 .ppx-proof { border-color: #cfe7e8; background: linear-gradient(90deg,#eefaf7,#eaf7ff); }
.pkl-v2190 .ppx-proof span { border-color: rgba(8,74,96,.1); }
.pkl-v2190 .ppx-proof small { color: #0878b8; }
.pkl-v2190 .ppx-proof b[data-public-stat] { color: #08384b; }

.ppx-first-hour-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.ppx-first-hour-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pkl-v2190 .ppx-first-hour-media img { transform: translate3d(0,var(--scene-y,0),0) scale(var(--scene-scale,1.035)); filter: saturate(1.04); }
.pkl-v2190 .ppx-first-hour-cast { display: none; }
.pkl-v2190 .ppx-first-hour-shade {
  background:
    linear-gradient(180deg, rgba(244,253,255,.87) 0%, rgba(244,253,255,.32) 34%, transparent 57%, rgba(4,72,91,.11)),
    linear-gradient(90deg, rgba(244,253,255,.82), transparent 45%);
}
.pkl-v2190 .ppx-first-hour-layout { align-content: start; padding-top: 116px; }
.pkl-v2190 .ppx-first-hour header { width: min(560px,44%); }
.pkl-v2190 .ppx-first-hour h2 { font-size: clamp(48px,4.4vw,70px); }
.pkl-v2190 .ppx-first-hour ol {
  position: absolute;
  top: 124px;
  right: 0;
  width: min(410px,34%);
  margin: 0;
  padding: 8px 18px;
  background: rgba(249,255,255,.88);
}
.pkl-v2190 .ppx-first-hour-layout > button { margin-top: 27px; }

@media (max-width: 1240px) {
  .pkl-v2190 .ppx-partner-layout { grid-template-columns: minmax(220px,.72fr) minmax(300px,1fr) minmax(330px,.88fr); }
  .pkl-v2190 .ppx-first-hour ol { width: 38%; }
}

@media (min-width: 761px) and (max-width: 980px) {
  .pkl-v2190 .ppx-partner,
  .pkl-v2190 .ppx-partner-layout { min-height: 1200px; }
  .pkl-v2190 .ppx-partner-layout {
    grid-template-columns: minmax(240px,.78fr) minmax(320px,1.1fr);
    grid-template-rows: 470px auto auto;
    gap: 22px;
    padding: 96px 0 28px;
  }
  .pkl-v2190 .ppx-partner-head { grid-column: 1; grid-row: 1; }
  .pkl-v2190 .ppx-partner-head h2 { font-size: clamp(50px,7vw,62px); }
  .pkl-v2190 .ppx-partner-mon { grid-column: 2; grid-row: 1; height: 460px; }
  .pkl-v2190 .ppx-partner-mon > img { max-height: 450px; }
  .pkl-v2190 .ppx-partner-panel { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .pkl-v2190 .ppx-partner-switcher { grid-column: 1 / -1; grid-row: 3; width: 100%; }

  .pkl-v2190 .ppx-battle,
  .pkl-v2190 .ppx-battle-layout { min-height: 1040px; }
  .pkl-v2190 .ppx-battle-head { width: min(590px,72%); }
  .pkl-v2190 .ppx-battle-stage { inset: 230px 0 345px; }
  .pkl-v2190 .ppx-battle-console { grid-template-columns: 1fr; gap: 14px; }

  .pkl-v2190 .ppx-first-hour header { width: 52%; }
  .pkl-v2190 .ppx-first-hour ol { width: 43%; }

  .pkl-v2190 .pkl-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 36px 26px; }
  .pkl-v2190 .pkl-footer-about { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  #app[data-screen="gate"] .gate-screen .auth-backdrop {
    background:
      linear-gradient(180deg, rgba(239,252,255,.16), rgba(239,252,255,.02) 46%, rgba(4,58,76,.15)),
      url('/home-assets-v2180/hero-adventure-mobile-v2180.webp') center / cover no-repeat;
  }
  .pkl-v2190 .ppx-hero-cast { display: block; }
  .pkl-v2190 .ppx-skill-focus { grid-template-columns: 52px minmax(0,1fr); min-height: 92px; padding: 11px 12px; }
  .pkl-v2190 .ppx-skill-focus > img { width: 52px; height: 52px; border-radius: 14px; }
  .pkl-v2190 .ppx-skill-focus b { font-size: 14px; }
  .pkl-v2190 .ppx-skill-focus em { font-size: 8px; line-height: 1.4; }
  .pkl-v2190 .ppx-skill-grid button { min-height: 55px; }
  .pkl-v2190 .ppx-world-bg { object-position: center; }
  .pkl-v2190 .ppx-world-hotspots button span { padding: 5px 7px; font-size: 7px; }
  .pkl-v2190 .ppx-first-hour,
  .pkl-v2190 .ppx-first-hour-layout { min-height: 1050px; }
  .pkl-v2190 .ppx-first-hour-layout { display: block; padding: 80px 0 24px; }
  .pkl-v2190 .ppx-first-hour header { position: absolute; top: 88px; right: 0; left: 0; width: 100%; }
  .pkl-v2190 .ppx-first-hour ol { position: absolute; top: auto; right: 0; bottom: 96px; left: 0; width: 100%; margin: 0; }
  .pkl-v2190 .ppx-first-hour-layout > button { position: absolute; right: 0; bottom: 24px; left: 0; width: 100%; margin-top: 0; }
  .pkl-v2190 .ppx-first-hour-cast { display: block; }
  .pkl-v2190 .ppx-first-hour-cast img { bottom: 36%; }
  .pkl-v2190 .ppx-first-hour-media img { object-position: 53% center; }
}

@media (prefers-reduced-motion: reduce) {
  .pkl-v2190 .ppx-activities.is-playing .ppx-activity-bg,
  .pkl-v2190 .ppx-activities.is-playing .ppx-activity-extra,
  .pkl-v2190 .ppx-activities.is-playing .ppx-activity-mon,
  .pkl-v2190 .ppx-activities.is-playing .ppx-activity-nav button.is-active::after { animation: none !important; }
}
