/* UX refinement only: existing sections, text and purchase handlers stay intact. */
body { line-height:1.6; }
#header { padding:18px 20px;gap:14px; }
#header #logo { width:48px;height:48px;object-fit:contain;flex-shrink:0; }
#header h1 { font-size:23px;line-height:1.25; }
#header p { font-size:13px;line-height:1.5; }
#screens { padding:20px 16px; }
.home-big-cards { gap:14px; }
.ps-hub-card { position:relative;overflow:hidden;min-height:112px;padding:22px 24px; }
.ps-hub-card .ps-hub-card-title { padding-right:88px;font-size:19px;line-height:1.35;letter-spacing:-.3px;text-shadow:none; }
.ps-hub-card .ps-hub-card-subtitle { padding-right:88px;font-size:14px;line-height:1.6;max-width:none;text-shadow:none;margin-top:8px; }
.ps-hub-card .skin-brand-logo { right:18px!important;width:58px!important;height:58px!important; }
.ps-hub-card .ps-hub-card-chevron { right:10px;opacity:.55; }
.region-list { gap:12px; }
.screen-title { font-size:26px;line-height:1.25;margin:4px 0 22px; }
.form-card { padding:22px; }
.field-label { display:block;font-size:14px;font-weight:600;line-height:1.5; }
.field-input { font-size:16px;line-height:1.5;min-height:48px;width:100%;box-sizing:border-box;color:var(--text); }
.field-input::placeholder { color:#a8a8a8;opacity:1; }
.field-hint { font-size:13px;line-height:1.65;color:var(--hint); }
.field-hint a,.faq-answer a { text-decoration:underline;text-underline-offset:3px; }
.preset-btn,.psplus-tab,.filter-chip,.copy-btn,.btn-primary,.kls-btn--primary,.kls-btn--ghost { min-height:44px; }
.psplus-chips-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible; }
.psplus-chip { min-width:0;width:100%;min-height:84px;padding:16px;white-space:normal; }
.psplus-chips-scroll { display:none; }
.psplus-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.psplus-tab { padding:12px 6px;min-width:0; }
.psplus-chip.active,.psplus-tab.active,.preset-btn.active { outline:1px solid var(--accent);outline-offset:2px; }
.psplus-features-card { padding:22px; }
.game-card-name { font-size:14px;line-height:1.5; }
.game-detail-title { font-size:25px;line-height:1.3; }
.game-detail-description,.faq-answer { line-height:1.7; }
.faq-item.open .faq-answer { max-height:none; }
.cart-item-card { padding:18px;margin-bottom:14px; }
.cart-total-card { padding:22px; }
.code-box { overflow-wrap:anywhere; }
.tab-btn { min-width:0;min-height:60px;gap:6px; }
.tab-btn>span:last-child { font-size:11px;line-height:1.3; }
.bottom-tabs { height:calc(64px + env(safe-area-inset-bottom,0px));padding-left:8px;padding-right:8px;padding-bottom:env(safe-area-inset-bottom); }
.sticky-cta-bar { bottom:calc(64px + env(safe-area-inset-bottom,0px)); }
.screen.has-sticky-cta { padding-bottom:calc(144px + env(safe-area-inset-bottom,0px)); }
.wait-card,.done-card { padding:26px 20px; }
@media(max-width:359px) { #header { padding:16px; } .ps-hub-card { padding:20px 16px; } .ps-hub-card .ps-hub-card-title,.ps-hub-card .ps-hub-card-subtitle { padding-right:70px; } .ps-hub-card .skin-brand-logo { width:48px!important;height:48px!important;right:14px!important; } .form-card { padding:18px; } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .ps-hub-card:hover { border-color:var(--accent);box-shadow:0 8px 26px rgba(232,184,109,.08); } }
