/* RPG shop visual rebuild — warm indoor scene, bounded catalog, illustrated HUD */

body.pf-components-page {
 --rpg-warm-bg: linear-gradient(145deg, #775541, #c6a77d 50%, #76513e);
 --rpg-warm-accent: radial-gradient(ellipse at 14% 26%, #f7ddac 0, transparent 34%);
 --rpg-panel-bg: linear-gradient(140deg, #fffdf6, #f3ead7);
 --rpg-card-bg: linear-gradient(145deg, #fffefa, #edf1f5);
 --rpg-cold-white: #f5f5f7;
 --rpg-blue-grey: #c2d2eb;
 --rpg-gold: #bd955d;
 --rpg-gold-light: #ebd397;
 --rpg-gold-dark: #745b3c;
 --rpg-ink: #303c50;
 --rpg-muted: #596579;
 --rpg-blue: #4a89fb;
 --rpg-blue-bright: #7bd4ff;
 --rpg-blue-deep: #5093fe;
 --rpg-coral: #ef7aa6;
 --rpg-stamp-red: #bb3f51;
}

/* Scene: warm perspective indoor with diagonal beams, radial warm light */
body.pf-components-page {
 background: var(--rpg-warm-accent), var(--rpg-warm-bg);
 color: var(--rpg-ink);
 isolation: isolate;
}

body.pf-components-page::before {
 content: "";
 position: fixed;
 inset: 0;
 z-index: -2;
 pointer-events: none;
 background:
  linear-gradient(0deg, #4b302a44, transparent 65%),
  repeating-linear-gradient(100deg, transparent 0 130px, #66422d40 132px 137px, transparent 139px 260px) bottom/100% 22% no-repeat,
  linear-gradient(#6b4632, #b38557 9px, #e0ba84 12px, #9b7048 18px, transparent 19px) 0 79%/100% 25px no-repeat,
  repeating-linear-gradient(90deg, #4d342a55 0 12px, transparent 13px 24%) 0 0/100% 79% no-repeat,
  linear-gradient(12deg, #5c3b2c 0 5%, transparent 5.2%) top/100% 21% no-repeat,
  radial-gradient(ellipse at 17% 25%, #fff0be9c, transparent 44%);
 box-shadow: inset 0 0 120px #37231955;
}

/* F00/F01: Product panel with SVG corner ornaments */
body.pf-game-page.pf-components-page .pf-game-panel {
 position: relative;
 left: 25%;
 top: 19vh;
 width: 74%;
 height: 67vh;
 border: 2px solid var(--rpg-gold);
 border-radius: 12px;
 background: var(--rpg-panel-bg);
 box-shadow:
  0 0 0 3px #efe1ba,
  0 0 0 5px #8a745a,
  inset 0 0 0 4px #fffbee,
  0 14px 35px #30231e66;
}

body.pf-game-page.pf-components-page .pf-game-panel::before,
body.pf-game-page.pf-components-page .pf-game-panel::after {
 content: "";
 position: absolute;
 width: 84px;
 height: 84px;
 background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 84'%3E%3Cpath d='M42 2L44 12 54 4 50 14 62 10 56 20 68 18 60 26 72 26 62 32 74 34 62 38 72 42 60 44 68 50 56 48 62 58 50 54 54 66 44 60 42 72 40 60 30 66 34 54 22 58 28 48 16 50 24 44 12 42 24 38 12 34 26 32 16 26 28 26 20 18 32 20 26 10 38 14 34 4 44 12z' fill='%23ebd397' stroke='%23745b3c' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;
 pointer-events: none;
}

body.pf-game-page.pf-components-page .pf-game-panel::before { left: -42px; top: -42px; }
body.pf-game-page.pf-components-page .pf-game-panel::after { right: -42px; top: -42px; }

/* H01: Independent title/return */
body.pf-game-page.pf-components-page .pf-game-header {
 position: absolute;
 left: 0.5%;
 top: 1.5%;
 display: flex;
 align-items: center;
 gap: 14px;
 min-height: 53px;
}

body.pf-game-page.pf-components-page .pf-game-header__back {
 display: grid;
 place-items: center;
 width: 154px;
 height: 53px;
 border: 2px solid var(--rpg-gold-light);
 border-radius: 8px;
 background: linear-gradient(135deg, #e8f0ff, #c4d8f0);
 box-shadow: 0 0 0 1px #fff, 0 2px 4px #35271f44;
 color: var(--rpg-blue);
 text-decoration: none;
 font-weight: 900;
 font-size: 18px;
}

body.pf-game-page.pf-components-page .pf-game-header__title {
 font-size: clamp(26px, 2vw, 30px);
 font-weight: 900;
 color: #fff;
 text-shadow: 0 2px 4px #35271fcc, 0 0 2px #2a4d7f;
}

/* H02: Right cart summary */
body.pf-game-page.pf-components-page .pf-game-cart-summary {
 position: absolute;
 right: 2%;
 top: 2%;
 display: flex;
 align-items: center;
 gap: 12px;
 min-height: 34px;
 padding: 6px 14px;
 border: 1px solid #9ca9b8;
 border-radius: 18px;
 background: linear-gradient(90deg, #fffffff0, #d8e3eddc);
 backdrop-filter: blur(8px);
 box-shadow: 0 2px 6px #35271f33;
}

body.pf-game-page.pf-components-page .pf-game-cart-summary__label {
 font-size: 13px;
 font-weight: 800;
 color: var(--rpg-muted);
}

body.pf-game-page.pf-components-page .pf-game-cart-summary__value {
 font-size: 15px;
 font-weight: 900;
 color: var(--rpg-ink);
}

/* T01/T02: Segmented pill tabs outside panel */
body.pf-game-page.pf-components-page .pf-game-tabs {
 position: absolute;
 left: 24.5%;
 top: 10%;
 display: flex;
 gap: 3px;
 z-index: 2;
}

body.pf-game-page.pf-components-page .pf-game-tab {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px;
 min-height: 35px;
 padding: 8px 16px;
 border: 1px solid #9baac0;
 border-radius: 16px 16px 0 0;
 background: linear-gradient(#fffef6, #d8e0e9);
 box-shadow: inset 0 2px #fff, 0 -1px 2px #7a8ea444;
 color: #3b516e;
 text-decoration: none;
 font-size: 18px;
 font-weight: 800;
 white-space: nowrap;
}

body.pf-game-page.pf-components-page .pf-game-tab svg {
 width: 20px;
 height: 20px;
 fill: none;
 stroke: currentColor;
 stroke-width: 2;
}

body.pf-game-page.pf-components-page .pf-game-tab--active {
 background: linear-gradient(#7597c3, #426d9d);
 border-color: #3e6697;
 color: #fff;
 box-shadow: inset 0 2px #a0c0e8, 0 -1px 2px #5577a066;
}

/* C00: Product grid 4 columns */
body.pf-game-page.pf-components-page .pf-game-scrollport {
 position: relative;
 padding: 13px 12px 13px 12px;
 overflow-y: auto;
 scrollbar-width: thin;
 scrollbar-color: #7099bc #e0e5e9;
}

body.pf-game-page.pf-components-page ul.products {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 10px 10px;
 margin: 0;
 padding: 0;
 list-style: none;
}

/* C01: Cold white/grey-blue card with diamond texture */
body.pf-game-page.pf-components-page .product-card {
 position: relative;
 display: flex;
 flex-direction: column;
 width: 100%;
 min-width: 0;
 padding: 8px;
 border: 1px solid #9eaec0;
 border-radius: 8px;
 background: 
  repeating-linear-gradient(45deg, transparent, transparent 14px, #e8eef255 14px, #e8eef255 15px, transparent 15px, transparent 29px),
  repeating-linear-gradient(-45deg, transparent, transparent 14px, #e8eef233 14px, #e8eef233 15px, transparent 15px, transparent 29px),
  var(--rpg-card-bg);
 box-shadow: inset 0 0 0 2px #fff, 0 2px 3px #33485e20;
}

/* I01: Centered small item icon frame */
body.pf-game-page.pf-components-page .product-image-button {
 display: grid;
 place-items: center;
 width: 100%;
 aspect-ratio: 1.02;
 margin: 0 0 10px;
 border: 1px solid #a8b8c8;
 border-radius: 6px;
 background: radial-gradient(ellipse at 40% 30%, #fff, #e5eaf0);
 box-shadow: inset 0 0 0 1px #fff, inset 0 1px 2px #6a748011, 0 1px 2px #4a5e7222;
 overflow: hidden;
}

body.pf-game-page.pf-components-page .product-illustration img {
 display: block;
 width: 48%;
 height: 48%;
 object-fit: contain;
 filter: drop-shadow(0 1px 2px #4a5e7233);
}

/* Y01: Product name 18-20px, max 2 lines */
body.pf-game-page.pf-components-page .product-name {
 margin: 0 0 8px;
 min-height: 2.2em;
 font-size: 18px;
 font-weight: 700;
 line-height: 1.2;
 color: #34455e;
 overflow-wrap: anywhere;
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

body.pf-game-page.pf-components-page .product-name a {
 color: inherit;
 text-decoration: none;
}

/* P01: Price slot light blue-grey inset */
body.pf-game-page.pf-components-page .product-price {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 min-height: 41px;
 margin: auto 0 9px;
 padding: 5px 10px;
 border: 1px solid #b0c1d8;
 border-radius: 6px;
 background: linear-gradient(#eef3fa, var(--rpg-blue-grey));
 box-shadow: inset 0 1px #fff, inset 0 -1px #8fa5be;
 font-size: 24px;
 font-weight: 900;
 color: #354e72;
 text-shadow: 0 1px #fff, 0 -1px #69809d44;
}

/* B01: Capsule CTA with multiple rings, cyan-blue shine */
body.pf-game-page.pf-components-page .product-action .button {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 10px 18px;
 border: 0;
 border-radius: 22px;
 background:
  linear-gradient(#7bd4ff 0%, #4a89fb 45%, #5093fe 55%, #4a89fb 100%);
 box-shadow:
  0 0 0 1px #30465acc,
  0 0 0 3px #fffbf2,
  0 0 0 5px var(--rpg-gold),
  inset 0 0 0 1px #a0d4ff,
  0 3px 0 0 #745a3a;
 color: #fff;
 font-size: 20px;
 font-weight: 900;
 text-shadow: 0 2px 3px #33587b, 0 0 1px #1a3a5f;
 text-decoration: none;
 cursor: pointer;
}

body.pf-game-page.pf-components-page .product-action .button:hover {
 background: linear-gradient(#90d0ff, #3a7ee8);
}

body.pf-game-page.pf-components-page .product-action .button:active {
 transform: translateY(1px);
 box-shadow:
  0 0 0 1px #30465acc,
  0 0 0 3px #fffbf2,
  0 0 0 5px var(--rpg-gold),
  inset 0 0 0 1px #a0d4ff,
  0 2px 0 0 #745a3a;
}

/* B02/S01: Sold-out muted card + diagonal red stamp */
body.pf-game-page.pf-components-page .product-card--soldout {
 filter: saturate(0.3) brightness(0.9);
}

body.pf-game-page.pf-components-page .product-card--soldout::before {
 content: "售罄";
 position: absolute;
 z-index: 3;
 left: 12px;
 top: 35%;
 display: grid;
 place-items: center;
 min-width: 137px;
 min-height: 91px;
 border: 3px double #fff5ee;
 border-radius: 50%;
 background: var(--rpg-stamp-red);
 box-shadow: 0 0 0 2px var(--rpg-stamp-red), 0 2px 6px #35271f66;
 color: #fff;
 font-size: 28px;
 font-weight: 900;
 letter-spacing: 0.1em;
 transform: rotate(-10deg);
 pointer-events: none;
}

/* D01/D02: Translucent dialogue with coral nameplate */
body.pf-game-page.pf-components-page .pf-game-dialogue {
 position: absolute;
 left: 2%;
 bottom: calc(8.9% + 54px);
 width: 21.7%;
 min-height: 89px;
 padding: 24px 46px 18px 18px;
 border: 1px solid #e1c18b;
 border-radius: 4px 14px;
 background: linear-gradient(120deg, #fffef3ec, #f1ead5dc);
 backdrop-filter: blur(8px);
 box-shadow: 0 0 0 3px #4e49596b, 0 8px 24px #31252055;
 color: #354253;
 font-size: 15px;
 line-height: 1.4;
 overflow-wrap: anywhere;
}

body.pf-game-page.pf-components-page .pf-game-dialogue__nameplate {
 position: absolute;
 left: 12px;
 top: -16px;
 max-width: calc(100% - 24px);
 padding: 3px 18px;
 border: 1px solid #e3c78f;
 border-radius: 3px 10px;
 background: linear-gradient(#5d7892, #344f6e);
 box-shadow: 0 2px 3px #3b2e2944;
 color: #fff9df;
 font-size: 16px;
 font-weight: 800;
 overflow-wrap: anywhere;
}

/* N00/N01: Bottom HUD with illustrated colored icons */
body.pf-game-page.pf-components-page .pf-game-nav {
 position: fixed;
 bottom: 10px;
 left: 0.2%;
 right: 0.2%;
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 16px;
 min-height: 54px;
 padding: 8px 16px;
 border: 2px solid var(--rpg-gold);
 border-radius: 10px;
 background: linear-gradient(#fffef5ed, #e6e7e7ed);
 backdrop-filter: blur(10px);
 box-shadow: 0 0 0 2px #fff4cd, 0 5px 14px #332c2555;
}

body.pf-game-page.pf-components-page .pf-game-nav::before,
body.pf-game-page.pf-components-page .pf-game-nav::after {
 content: "";
 width: 48px;
 height: 64px;
 background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 64'%3E%3Cpath d='M2 32Q2 2 24 2T46 32Q46 62 24 62T2 32M8 32Q8 50 24 56T40 32Q40 14 24 8T8 32' fill='%23ebd397' stroke='%23745b3c' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat;
}

body.pf-game-page.pf-components-page .pf-game-nav__item {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 4px;
 min-width: 100px;
 padding: 4px 8px;
 color: #35527a;
 text-decoration: none;
 font-size: 20px;
 font-weight: 800;
 text-shadow: 0 1px #fff;
}

body.pf-game-page.pf-components-page .pf-game-nav__item svg {
 width: 56px;
 height: 56px;
 filter: drop-shadow(0 3px 4px #35271f44);
}

/* R01: Scrollbar in product area */
body.pf-game-page.pf-components-page .pf-game-scrollport::-webkit-scrollbar {
 width: 14px;
}

body.pf-game-page.pf-components-page .pf-game-scrollport::-webkit-scrollbar-track {
 background: #e4e7e9;
 border-radius: 7px;
}

body.pf-game-page.pf-components-page .pf-game-scrollport::-webkit-scrollbar-thumb {
 border: 2px solid #e4e7e9;
 border-radius: 7px;
 background: linear-gradient(#89b5d8, #5e91bb);
 box-shadow: inset 0 1px #c0d8ed;
}

/* G01: Bottom panel status band */
body.pf-game-page.pf-components-page .pf-game-status {
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 display: flex;
 justify-content: space-between;
 align-items: center;
 min-height: 44px;
 padding: 8px 16px;
 border-top: 1px solid #c9b68c;
 background: linear-gradient(#fffef9cc, #f5f1e6cc);
 backdrop-filter: blur(6px);
}

/* B03: Secondary action (Cart entry) */
body.pf-game-page.pf-components-page .pf-game-status__action {
 min-height: 40px;
 padding: 8px 18px;
 border: 1px solid #a4b8cd;
 border-radius: 20px;
 background: linear-gradient(#fbfeff, #e2ebf4);
 box-shadow: inset 0 2px #fff, inset 0 -1px #b4c5d6, 0 2px #9aadb9;
 color: #3f5472;
 font-size: 20px;
 font-weight: 800;
 text-shadow: 0 1px #fff;
 text-decoration: none;
}

/* Responsive: 1080×608 keeps left keeper + right 4 columns */
@media (max-width: 1080px) and (min-height: 609px) {
 body.pf-game-page.pf-components-page .pf-game-panel {
  left: 25%;
  width: 74%;
 }
}

/* Portrait mobile: 2 columns, compact keeper, same HUD */
@media (max-width: 600px) {
 body.pf-game-page.pf-components-page .pf-game-panel {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  margin: 48px 0 72px;
 }
 
 body.pf-game-page.pf-components-page ul.products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
 }
 
 body.pf-game-page.pf-components-page .pf-game-tabs {
  position: relative;
  left: 0;
  top: 0;
  padding: 8px;
  flex-wrap: wrap;
 }
 
 body.pf-game-page.pf-components-page .pf-game-tab {
  font-size: 14px;
  padding: 6px 12px;
 }
 
 body.pf-game-page.pf-components-page .product-name {
  font-size: 14px;
 }
 
 body.pf-game-page.pf-components-page .product-price {
  font-size: 16px;
  min-height: 36px;
 }
 
 body.pf-game-page.pf-components-page .product-action .button {
  font-size: 14px;
  min-height: 44px;
 }
 
 body.pf-game-page.pf-components-page .pf-game-nav__item {
  min-width: 64px;
  font-size: 12px;
 }
 
 body.pf-game-page.pf-components-page .pf-game-nav__item svg {
  width: 40px;
  height: 40px;
 }
}

/* Keyboard/zoom/reduced-motion */
body.pf-game-page.pf-components-page :where(a, button, input, select):focus-visible {
 outline: 3px solid #154c81;
 outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
 body.pf-game-page.pf-components-page * {
  animation: none !important;
  transition: none !important;
 }
}

/* Integration corrections: original model targets an obsolete shell. These rules
   map its components to the current native Woo shell and repair observed conflicts. */
body.pf-game-page.pf-components-page {--pf-game-nav-height:66px;--rpg-panel-bg:linear-gradient(135deg,#fafbfe,#e3e9f2);--pf-font-body:"Chiron GoRound TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;font-family:var(--pf-font-body);background:var(--rpg-warm-accent),var(--rpg-warm-bg)}
body.pf-components-page .pf-game-main {display:block;position:relative;width:100%;max-width:1800px;min-height:100dvh;padding:0;margin:0 auto;isolation:isolate}
body.pf-components-page .pf-game-main::after {display:none}
body.pf-game-page.pf-components-page .pf-game-header {position:absolute;left:.6%;top:1.5dvh;min-height:53px;width:auto;max-width:49%;padding:0;border:0;border-radius:0;background:none;gap:8px;z-index:4}
body.pf-game-page.pf-components-page .pf-game-header__back {width:60px;min-width:44px;height:50px;padding:0;border:0;border-radius:0;box-shadow:none;background:none}
body.pf-components-page .pf-game-header__back svg {display:block;width:60px;height:50px}
body.pf-game-page.pf-components-page .pf-game-header__title {font-size:28px;white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:3px #483b32;text-shadow:0 2px #fff}
body.pf-game-page.pf-components-page .pf-game-cart-summary {top:2dvh;right:1.5%;max-width:46%;min-height:44px;z-index:4}
body.pf-components-page .pf-game-main--catalog {height:100dvh}
body.pf-game-page.pf-components-page .pf-game-panel {position:relative;top:auto;left:auto;margin:19dvh 1% 110px 25%;width:74%;height:auto;border:1px solid #b29764;background:var(--rpg-panel-bg);box-shadow:0 0 0 2px #fffdf4,0 0 0 3px #bca474,0 3px 4px #362e4466;overflow:visible}
body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-panel {position:absolute;left:25%;top:19dvh;width:74%;height:67dvh;margin:0}
body.pf-game-page.pf-components-page .pf-game-panel::before,body.pf-game-page.pf-components-page .pf-game-panel::after {content:none}
body.pf-game-page.pf-components-page .pf-game-panel__inner {display:flex;height:auto;min-width:0;min-height:0;margin:3px;border:1px solid #9eacc0;border-radius:9px;background:#edf1f6;box-shadow:inset 0 0 0 2px white}
body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-panel__inner {height:calc(100% - 6px)}
body.pf-game-page.pf-components-page .pf-game-scrollport {padding:8px 9px;outline-offset:-3px;flex:none;overflow:visible;scrollbar-width:auto;scrollbar-color:#72a9e7 #d8dfea;scroll-padding-block:12px}
body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-scrollport {flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body.pf-game-page.pf-components-page .pf-game-scrollport::-webkit-scrollbar {width:14px}
body.pf-components-page .home-notices:empty {display:none}
body.pf-components-page .home-products,.pf-components-page .home-products>.woocommerce {margin:0;padding:0}
body.pf-game-page.pf-components-page .pf-game-panel ul.products {grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;align-items:stretch}
body.pf-game-page.pf-components-page .product-card {height:100%;min-height:286px;padding:12px 10px;border-radius:8px;overflow:visible}
body.pf-game-page.pf-components-page .product-image-button {width:90px;max-width:65%;height:90px;aspect-ratio:1;margin:0 auto 27px;padding:4px;border:2px solid #98aac2;border-radius:6px;background:linear-gradient(135deg,#fff,#d6e5ee);box-shadow:0 0 0 1px #fff,inset 0 0 0 1px white;flex:none}
body.pf-game-page.pf-components-page .product-illustration {position:static;width:100%;height:100%;aspect-ratio:auto;margin:0;transform:none;filter:none;display:block}
body.pf-game-page.pf-components-page .product-illustration img {display:block;width:100%;height:100%;max-height:none;object-fit:contain;transform:none;border:0;box-shadow:none;background:none;padding:0}
body.pf-game-page.pf-components-page .product-info {display:flex;flex:1;flex-direction:column;gap:0;padding:0;min-width:0}
body.pf-game-page.pf-components-page .product-name {display:block;min-height:44px;margin:0 0 10px;font-size:18px;font-weight:600;line-height:1.25;overflow:visible;-webkit-line-clamp:unset;color:#414958}
body.pf-game-page.pf-components-page .product-tagline {display:none}
body.pf-game-page.pf-components-page .product-buy-row {display:flex;flex-direction:column;gap:0;padding:0;margin-top:auto;border:0}
body.pf-game-page.pf-components-page .product-price {display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:39px;margin:0 0 12px;padding:4px 6px;font-size:22px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;text-align:center}
body.pf-game-page.pf-components-page .product-price .price {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin:0;font-size:inherit;color:inherit;font-weight:700}
body.pf-game-page.pf-components-page .product-price .amount {font-size:inherit;white-space:nowrap;color:inherit}
body.pf-game-page.pf-components-page .product-price .price del {font-size:14px;color:#566378;opacity:1}
body.pf-game-page.pf-components-page .product-price .price ins {background:none;color:inherit}
body.pf-game-page.pf-components-page .product-action {width:100%;padding:0 4px}
body.pf-game-page.pf-components-page .pf-game-panel ul.products li.product .product-action :is(a.button,a.added_to_cart,button.button) {display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;margin:0;padding:4px 3px;border:0;border-radius:20px;background:linear-gradient(#a9ebff 0%,#5bc0ff 18%,#4a89fb 48%,#3078e4 52%,#5093fe 90%,#1f5ca8);color:white;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:0;paint-order:stroke fill;-webkit-text-stroke:1px #315087;text-shadow:0 1px 1px #223d68;box-shadow:0 0 0 1px #f9fbff,0 0 0 3px #bba36b,0 0 0 5px #f9f9ff,0 0 0 6px #9dabbf,inset 0 1px 2px #fff9,0 3px 3px #58607566}
body.pf-game-page.pf-components-page .product-card--soldout {filter:none;background-color:#a9b8d0}
body.pf-game-page.pf-components-page .product-card--soldout::before {content:none}
body.pf-components-page .product-card--soldout :is(.product-image-button,.product-info) {filter:saturate(.4) brightness(.82)}
body.pf-game-page.pf-components-page .pf-rpg-stock-label {position:absolute;z-index:3;left:8%;top:32%;width:84%;min-height:72px;display:grid;place-items:center;border:4px double white;border-radius:48%;background:#eb698a;box-shadow:0 0 0 2px #f3809d;color:#fff;font-size:26px;line-height:1;transform:rotate(-10deg);pointer-events:none}
body.pf-components-page .product-card--soldout .pf-rpg-stock-label::before {content:"";position:absolute;inset:11px -4px;border:3px double white;background:#ee7894;z-index:-1}
body.pf-game-page.pf-components-page .pf-game-tabs {top:10dvh;left:24.8%;width:calc(74% - 150px);max-width:none;gap:0;padding:0;border:0;border-radius:20px;background:none;overflow:auto;z-index:5}
body.pf-game-page.pf-components-page .pf-game-tab {min-height:44px;flex:1 0 auto;padding:4px 12px;border-radius:0;border:1px solid #a4b7d3;font-size:18px;font-weight:600;background:linear-gradient(#fff 15%,#f9fafc 40%,#d2dbea 100%);box-shadow:inset 0 1px 1px white;gap:6px}
body.pf-game-page.pf-components-page .pf-game-tab:first-child {border-radius:22px 0 0 22px}
body.pf-game-page.pf-components-page .pf-game-tab:last-child {border-radius:0 22px 22px 0}
body.pf-game-page.pf-components-page .pf-game-tab--active {background:linear-gradient(#8ed6ff,#528add 55%,#3677cf);color:#fff;text-shadow:0 1px #365384}
body.pf-components-page .pf-game-tab>span {color:#8e7298;font-size:22px;text-shadow:0 1px white}
body.pf-components-page .pf-component-tools {position:absolute;right:1%;top:10dvh;z-index:6;width:140px}
body.pf-components-page .pf-component-tools>summary {min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #9aacc8;border-radius:22px;background:linear-gradient(white,#d9e3f3);color:#344966;cursor:pointer;font-size:16px}
body.pf-components-page .pf-component-tools[open] {z-index:10}
body.pf-components-page .pf-component-tools .pf-game-tools {position:absolute;right:0;top:100%;display:flex;flex-direction:column;width:min(350px,90vw);padding:10px;background:#f4f7fe;box-shadow:0 3px 15px #243b5f66;border:1px solid #98a7bc;border-radius:8px}
body.pf-components-page .pf-game-tools :is(input,button,select) {font-size:16px;min-height:44px}
body.pf-components-page .pf-game-sort {flex:auto;width:100%;padding:0 6px}
body.pf-components-page .pf-game-sort button {width:64px;border:0;border-radius:8px;background:#dce8f7;color:#35475b}
body.pf-game-page.pf-components-page .pf-game-status {position:relative;left:auto;right:auto;bottom:auto;display:flex;flex:none;justify-content:space-between;min-height:48px;padding:4px 12px;background:linear-gradient(#ffffffe0,#e8e7e6e0);border-top:1px solid #b5bfcf;font-size:16px}
body.pf-game-page.pf-components-page .pf-game-status__action {display:flex;align-items:center;min-height:44px;padding:3px 16px;border-radius:24px;font-size:18px;line-height:1.2}
body.pf-game-page.pf-components-page .pf-game-keeper {position:fixed;display:block;left:0;top:17dvh;width:25%;height:74dvh;max-width:450px;padding:0;z-index:1}
body.pf-components-page .pf-game-keeper__stage {position:absolute;inset:0 -9%;width:118%;height:100%;border:0;background:none;overflow:visible}
body.pf-components-page .pf-game-keeper__canvas {height:100%;border:0;background:none;box-shadow:none;overflow:visible}
body.pf-components-page .pf-game-keeper__art {height:100%;width:100%;object-fit:contain;object-position:center bottom;max-height:none}
body.pf-game-page.pf-components-page .pf-game-dialogue {position:absolute;left:8%;bottom:7%;width:88%;min-height:120px;margin:0;padding:39px 10px 12px;border:1px solid #ffffffa0;border-radius:12px 12px 3px 3px;background:#ffffffbf;box-shadow:0 1px 3px #59526044;backdrop-filter:blur(2px);font-size:16px;line-height:1.3;color:#414753}
body.pf-game-page.pf-components-page .pf-game-dialogue__nameplate {top:0;left:0;width:100%;max-width:none;min-height:30px;display:flex;align-items:center;padding:4px 12px;border:0;border-radius:11px 11px 0 0;background:#ef7aa6;color:white;box-shadow:none;font-size:17px;font-weight:600}
body.pf-components-page .pf-game-dialogue__text {max-height:20dvh;overflow:auto;padding-right:18px;font-size:16px;line-height:1.3}
body.pf-components-page .pf-game-dialogue__next {right:0;bottom:0;min-height:44px;min-width:44px;color:#5b5c79}
body.pf-components-page .pf-game-keeper__collapse {position:absolute;right:4%;top:0;margin:0;border:1px solid #ffffffc0;border-radius:20px;background:#ffffffd9;color:#465476;font-size:12px;z-index:2}
body.pf-game-page.pf-components-page .pf-game-nav {position:fixed;bottom:0;left:.3%;right:.3%;min-height:54px;height:54px;display:flex;gap:0;padding:0 40px;border-radius:30px 30px 8px 8px;background:linear-gradient(#ffffffee,#f1f0f6ee);border:1px solid #b4965b;box-shadow:0 0 0 2px #fff0cc;z-index:20}
body.pf-components-page .pf-game-nav__primary {display:flex;flex:1;width:100%;justify-content:space-around;align-items:end;gap:0}
body.pf-game-page.pf-components-page .pf-game-nav__item {display:flex;flex:1;min-width:0;min-height:76px;margin-top:-23px;padding:0 8px 2px;gap:0;color:#46699d;font-size:20px;font-weight:700;text-shadow:0 1px white;line-height:1.2;border:0;border-radius:0;background:none}
body.pf-components-page .pf-game-nav__item--current {background:linear-gradient(transparent,#cce9ff99)}
body.pf-components-page .pf-component-nav-icon {display:block;width:56px;height:56px;margin:0;object-fit:contain;filter:drop-shadow(0 2px 1px #fff) drop-shadow(0 2px 2px #6b5a58)}
body.pf-game-page.pf-components-page .pf-game-nav::before,body.pf-game-page.pf-components-page .pf-game-nav::after {position:absolute;bottom:0;width:35px;height:54px;pointer-events:none}
body.pf-components-page .pf-game-nav::before {left:0}
body.pf-components-page .pf-game-nav::after {right:0;transform:scaleX(-1)}
body.pf-components-page .pf-game-main--no-keeper .pf-game-panel {left:auto;width:84%;margin-left:8%}
body.pf-components-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid #164777;outline-offset:3px}
@media(min-width:900px) {body.pf-components-page .pf-game-main:not(.pf-game-main--catalog) {padding-top:1px}}
@media(max-width:899px) {
 body.pf-game-page.pf-components-page .pf-game-main {display:flex;flex-direction:column;gap:12px;height:auto;min-height:100dvh;padding:10px 10px calc(95px + env(safe-area-inset-bottom))}
 body.pf-game-page.pf-components-page .pf-game-header {position:relative;left:auto;top:auto;order:0;min-height:44px;max-width:55%;gap:3px}
 body.pf-components-page .pf-game-header__back,body.pf-components-page .pf-game-header__back svg {width:44px;height:40px}
 body.pf-game-page.pf-components-page .pf-game-header__title {font-size:22px}
 body.pf-game-page.pf-components-page .pf-game-cart-summary {position:absolute;right:10px;top:12px;max-width:42%;gap:5px;padding:4px 10px;min-height:44px;font-size:12px}
 body.pf-components-page .pf-game-cart-summary__value {display:none}
 body.pf-game-page.pf-components-page .pf-game-keeper {position:relative;left:auto;top:auto;order:1;display:grid;grid-template-columns:46px minmax(0,1fr) 44px;align-items:center;gap:6px;width:100%;height:auto;max-width:none;padding:0}
 body.pf-components-page .pf-game-keeper__stage {position:relative;inset:auto;width:46px;height:60px;border:0;overflow:hidden}
 body.pf-components-page .pf-game-keeper__art {object-fit:cover;object-position:center 15%}
 body.pf-game-page.pf-components-page .pf-game-dialogue {position:relative;left:auto;bottom:auto;width:100%;min-height:64px;margin:0;padding:26px 5px 4px;border-radius:8px;background:#ffffffdb;font-size:13px}
 body.pf-game-page.pf-components-page .pf-game-dialogue__nameplate {min-height:23px;padding:2px 8px;font-size:13px;border-radius:7px 7px 0 0}
 body.pf-components-page .pf-game-dialogue__text {font-size:13px;line-height:1.4;max-height:none;padding-right:22px}
 body.pf-components-page .pf-game-keeper__collapse {position:relative;top:auto;right:auto;min-width:44px;padding:2px;font-size:11px;align-self:start}
 body.pf-components-page .pf-game-keeper.is-collapsed .pf-game-dialogue {max-height:none;display:block;overflow:visible}
 body.pf-game-page.pf-components-page .pf-game-tabs {position:relative;left:auto;top:auto;order:2;width:100%;padding:0;flex-wrap:nowrap;flex-shrink:0}
 body.pf-game-page.pf-components-page .pf-game-tab {font-size:15px;padding:4px 12px}
 body.pf-components-page .pf-component-tools {position:relative;right:auto;top:auto;order:3;width:100%}
 body.pf-components-page .pf-component-tools>summary {min-height:44px;justify-content:flex-start;padding:4px 14px;font-size:14px}
 body.pf-components-page .pf-component-tools .pf-game-tools {position:relative;top:auto;width:100%;box-shadow:none}
 body.pf-game-page.pf-components-page .pf-game-panel,body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-panel {position:relative;top:auto;left:auto;order:4;width:100%;height:auto;margin:0;flex:none}
 body.pf-game-page.pf-components-page .pf-game-panel__inner,body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-panel__inner {height:auto}
 body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-scrollport {flex:none;overflow:visible}
 body.pf-game-page.pf-components-page .pf-game-panel ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.pf-game-page.pf-components-page .product-card {min-height:264px;padding:10px 8px}
 body.pf-game-page.pf-components-page .product-image-button {width:76px;height:76px;margin-bottom:17px}
 body.pf-game-page.pf-components-page .product-name {font-size:15px;min-height:39px;margin-bottom:8px}
 body.pf-game-page.pf-components-page .product-price {font-size:16px;min-height:36px;margin-bottom:12px;padding:4px}
 body.pf-game-page.pf-components-page .pf-game-panel ul.products li.product .product-action :is(a.button,a.added_to_cart,button.button) {font-size:16px;min-height:44px;padding:4px 2px}
 body.pf-game-page.pf-components-page .pf-game-nav {left:2px;right:2px;bottom:0;padding:0 12px env(safe-area-inset-bottom);height:calc(58px + env(safe-area-inset-bottom));min-height:58px;border-radius:14px 14px 3px 3px}
 body.pf-game-page.pf-components-page .pf-game-nav__item {font-size:11px;min-height:65px;margin-top:-12px;padding:0 1px 3px;white-space:normal}
 body.pf-components-page .pf-component-nav-icon {width:40px;height:40px}
 body.pf-game-page.pf-components-page .pf-game-nav::before,body.pf-game-page.pf-components-page .pf-game-nav::after {width:15px;height:45px}
 body.pf-components-page .pf-game-status {font-size:13px;padding-inline:8px}
 body.pf-game-page.pf-components-page .pf-game-status__action {font-size:15px}
 body.pf-components-page .pf-game-main--product .pf-game-panel div.product {grid-template-columns:minmax(0,1fr)}
}

@media(min-width:900px){body.pf-game-page.pf-components-page .pf-game-main--catalog.pf-game-main--no-keeper .pf-game-panel{left:8%;width:84%;margin:0}}

/* Measured 1080 reference alignment: preserve text/hit areas while correcting
   the first-card inset and price-to-action rhythm. */
@media(min-width:900px){
 body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-scrollport{padding:8px 25px 8px 5px}
 body.pf-game-page.pf-components-page .product-name{margin-bottom:6px}
 body.pf-game-page.pf-components-page .product-price{padding-block:3px;margin-bottom:9px}
 body.pf-game-page.pf-components-page .pf-game-dialogue{bottom:calc(7% + 8px);padding-top:43px}
 body.pf-game-page.pf-components-page .pf-game-dialogue__nameplate{min-height:34px}
}
body.pf-components-page .pf-component-extra-nav{position:fixed;right:12px;bottom:90px;z-index:22;color:#314c72}
body.pf-components-page .pf-component-extra-nav summary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:60px;border:1px solid #a7b9d0;border-radius:20px;background:#f4f8ff;cursor:pointer}
body.pf-components-page .pf-component-extra-nav ul{list-style:none;margin:0;padding:8px;border:1px solid #a7b9d0;background:#f4f8ff;border-radius:8px}
body.pf-components-page .pf-component-extra-nav a{display:flex;align-items:center;min-height:44px;color:inherit;padding:6px 12px}

body.pf-game-page.pf-components-page .product-card--soldout .product-action button:disabled{background:linear-gradient(#b6c4d9,#6886b4);color:#e7eaf0;cursor:not-allowed}

/* Art correction 01 — original generated room, unchanged VTuber overlay.
   Source image and prompt provenance remain in private review records. */
body.pf-game-page.pf-components-page {background:#75533f url('../images/scene/rpg-room-v1.webp') center center/cover fixed no-repeat}
body.pf-components-page .pf-game-main::before {background:linear-gradient(90deg,#422b2212,transparent 45%,#3a252015);box-shadow:inset 0 0 80px #39261e24}
body.pf-game-page.pf-components-page .product-card {
 background:
 linear-gradient(135deg,#ffffff70 25%,transparent 25%) -16px 0/32px 32px,
 linear-gradient(225deg,#ffffff70 25%,transparent 25%) -16px 0/32px 32px,
 linear-gradient(315deg,#ffffff70 25%,transparent 25%) 0 0/32px 32px,
 linear-gradient(45deg,#ffffff70 25%,transparent 25%) 0 0/32px 32px,
 linear-gradient(#f1f3f7,#edf0f5);
 border-color:#aeb9cb;
 box-shadow:inset 0 0 0 2px #fff,0 2px 1px #66748b44;
}
body.pf-game-page.pf-components-page .pf-game-panel {border-color:#b49860;box-shadow:0 0 0 2px #fffdf6,0 0 0 3px #bba273,0 1px 0 4px #5e586743,0 4px 6px #2f263a44}
body.pf-game-page.pf-components-page .pf-game-panel__inner {box-shadow:inset 0 1px 0 1px #fff,inset 0 -1px 0 1px #c1cbdc;background:linear-gradient(#f4f6fb,#e9edf5)}
body.pf-game-page.pf-components-page .pf-game-panel ul.products li.product .product-action :is(a.button,a.added_to_cart,button.button) {
 background:linear-gradient(#d0faff 0%,#77d5ff 15%,#4e9dfb 38%,#3277e4 50%,#4a8cf7 57%,#559dff 82%,#2a6ccc 94%,#224f8c);
 box-shadow:0 0 0 1px #fffef5,0 0 0 3px #bba16a,0 0 0 4px #f2e1ad,0 0 0 5px #fff,0 0 0 6px #9ca6b9,inset 0 1px 3px #fff9,inset 0 -2px 2px #1e4c9366,0 3px 3px #58607566;
}
body.pf-game-page.pf-components-page .pf-game-nav::before,body.pf-game-page.pf-components-page .pf-game-nav::after {width:42px;height:58px;background:url('../svg/rpg-ui/hud-scroll-end.svg') bottom/contain no-repeat}
body.pf-components-page .pf-component-nav-icon {width:64px;height:64px;filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 2px 2px #6b5a5880)}
body.pf-game-page.pf-components-page .pf-game-nav__item {font-size:20px;line-height:1.1;margin-top:-30px;text-shadow:0 1px 0 #fff,1px 0 #fff,-1px 0 #fff}
@media(max-width:899px){
 body.pf-game-page.pf-components-page{background-position:22% center}
 body.pf-components-page .pf-component-nav-icon{width:44px;height:44px}
 body.pf-game-page.pf-components-page .pf-game-nav__item{font-size:11px;margin-top:-15px}
 body.pf-game-page.pf-components-page .pf-game-nav::before,body.pf-game-page.pf-components-page .pf-game-nav::after{width:20px;height:48px}
}
/* Remove the superseded flat room overlay instead of painting over it. */
body.pf-game-page.pf-components-page::before {content:none}
body.pf-game-page.pf-components-page .product-card {background:url('../svg/rpg-ui/card-diamond.svg') 0 0/32px 32px repeat,linear-gradient(#f0f2f7,#e9edf4)}
body.pf-game-page.pf-components-page .pf-game-status__action {min-width:114px;justify-content:center}
@media(min-width:900px){
 body.pf-game-page.pf-components-page .pf-game-main--catalog .pf-game-scrollport {margin-right:7px;padding:8px 4px 8px 5px;scrollbar-color:auto;scrollbar-width:auto}
 body.pf-game-page.pf-components-page .pf-game-status__action {position:absolute;left:34%;min-width:114px;font-size:20px}
}
