/* QuestPick 4.1 — platform badges and connected libraries */
.pn-platform-section{margin:16px 0 13px}.pn-platform-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.pn-platform-header>span{color:#c199d3;font-size:10px;letter-spacing:1.7px;font-weight:850}.pn-platform-header button{border:0;background:transparent;color:#d08def;font-size:11px;font-weight:750;display:inline-flex;align-items:center;gap:6px}.pn-platform-header svg{width:15px;height:15px}.pn-platform-tabs{display:flex;gap:7px;overflow-x:auto;padding:3px 0 9px;scrollbar-width:none}.pn-platform-tabs::-webkit-scrollbar{display:none}.pn-platform-tab{display:flex;align-items:center;gap:8px;white-space:nowrap;flex:none;padding:10px 12px;border-radius:12px;border:1px solid #62367645;background:linear-gradient(155deg,#341642,#240f2d);color:#d9bde6;font-weight:740;font-size:12px;box-shadow:0 4px 13px #0002}.pn-platform-tab svg{width:18px;height:18px;color:#d6aaeb;filter:drop-shadow(0 2px 8px rgba(172,39,234,.12))}.pn-platform-tab strong{font-size:11px;font-variant-numeric:tabular-nums;color:#aa80bd}.pn-platform-tab.is-active{border-color:#c05cefa0;color:#f4e3fc;background:linear-gradient(135deg,#3e1750,#46175c);box-shadow:0 3px 17px #a43ad51a}.pn-platform-tab.is-active svg{color:#f0d8fb;filter:drop-shadow(0 3px 10px rgba(200,113,241,.22))}.pn-platform-tab.is-active strong{color:#cb79f2}
.pn-platform-tab svg,.pn-connect-metric svg,.pn-copy-icon svg,.pn-brand-mark svg,.pn-platform-badge svg{display:block;flex:none;shape-rendering:geometricPrecision}
.pn-platform-tab span{min-width:0}
.pn-connected-actions>.btn,.pn-platform-header button{white-space:normal;text-align:center;line-height:1.25}
.pn-connected-overview .btn{min-width:0}

.pn-platform-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.pn-platform-badge{height:23px;border:1px solid #c390da5c;border-radius:8px;padding:2px 5px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,rgba(43,16,56,.96),rgba(26,9,35,.94));color:#eccdfa;box-shadow:0 2px 12px #0007,inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(8px)}.pn-platform-badge svg{width:15px;height:15px;flex:none}.pn-platform-badge b,.pn-platform-badge i{font-style:normal;font-size:9px;letter-spacing:.05em;font-weight:800}.pn-platform-badge i{display:none}.pn-platform-badge.pn-steam{color:#dfabf7;border-color:#9550b577;background:linear-gradient(180deg,rgba(51,18,66,.96),rgba(30,10,39,.94))}.pn-platform-badge.pn-epic{color:#f0e1fc;border-color:#caa0ec77;background:linear-gradient(180deg,rgba(51,31,67,.96),rgba(28,16,38,.94))}.pn-platform-badge.pn-ps{color:#e8c3f9;border-color:#9f5fbc7d;background:linear-gradient(180deg,rgba(70,29,89,.96),rgba(38,15,49,.94))}.pn-platform-badges.mini{gap:3px}.pn-platform-badges.mini .pn-platform-badge{width:21px;height:21px;padding:1px;border-radius:6px}.pn-platform-badges.mini svg{width:14px;height:14px}.pn-cover-platforms{position:absolute;z-index:8;right:4px;top:4px;bottom:auto;pointer-events:none;max-width:95%;display:flex;justify-content:flex-end}.cover .pn-cover-platforms{font-size:0}.cover .pn-cover-platforms::before,.cover .pn-cover-platforms::after{content:none!important}.game-row .game-text{min-width:0}.game-row .meta{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cards-layout .pn-cover-platforms{left:7px;right:auto;top:auto;bottom:7px;justify-content:flex-start;max-width:calc(100% - 14px)}.cards-layout .pn-cover-platforms .pn-platform-badges.mini{gap:5px}.cards-layout .pn-cover-platforms .pn-platform-badges.mini .pn-platform-badge{width:auto;min-width:0;height:24px;padding:0 7px 0 6px;border-radius:999px;gap:4px}.cards-layout .pn-cover-platforms .pn-platform-badges.mini .pn-platform-badge i{display:block}.cards-layout .pn-platform-badges.mini svg{width:14px;height:14px}
.pn-platform-detail{margin-top:15px;padding:14px}.pn-platform-copy{display:flex;gap:13px;align-items:center;padding:9px 0;border-bottom:1px solid #dcb3ef1b}.pn-platform-copy:last-of-type{border:0}.pn-platform-copy b{display:block;font-size:13px}.pn-platform-copy small{display:block;margin-top:3px;color:#bd9acd;font-size:11px;line-height:1.4}.pn-copy-icon{width:35px;height:35px;display:grid;place-items:center;background:linear-gradient(145deg,#3f1652,#2f113d);border:1px solid #a161bf40;border-radius:11px;color:#dea9f7;flex:none;box-shadow:0 6px 14px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06)}.pn-copy-icon svg{width:23px;height:23px;filter:drop-shadow(0 2px 8px rgba(200,112,241,.18))}
.pn-link-promo,.pn-hub-connect{background:radial-gradient(ellipse at 95% 2%,#7b359b57,transparent 56%),linear-gradient(130deg,#2f123d,#260e31);border:1px solid #974fb959}.pn-link-promo{display:flex;align-items:center;gap:16px;justify-content:space-between}.pn-link-promo b{font-size:16px}.pn-link-promo p{max-width:530px;margin-bottom:0}.pn-hub-connect{margin-top:19px}.pn-hub-connect>span{font-size:10px;letter-spacing:1.5px;font-weight:850;color:#c98ee4}.pn-hub-connect>span svg{width:16px;height:16px;vertical-align:middle}.pn-connect-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}.pn-connect-metric{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;background:#260e32;border:1px solid #ffffff12;border-radius:13px;padding:13px 5px}.pn-connect-metric svg{width:24px;height:24px;color:#dea9f6;filter:drop-shadow(0 3px 10px rgba(198,107,240,.16))}.pn-connect-metric strong{font-size:24px;font-weight:880}.pn-connect-metric small{font-size:10px;color:#bc9bcc;text-align:center}
.pn-connected-overview,.pn-connected-card,.pn-bridge-panel{margin-bottom:14px}.pn-connected-head{display:flex;align-items:center;gap:13px}.pn-connected-head h3{font-size:18px;margin:0 0 5px}.pn-connected-head p{line-height:1.5;margin:0}.pn-connected-head>div{flex:1;min-width:0}.pn-connected-head>strong{font-size:23px;color:#d593f4}.pn-brand-mark{width:48px;height:48px;flex:none;border-radius:15px;border:1px solid #82449f7d;background:linear-gradient(145deg,#512267,#2c1139);display:grid;place-items:center;color:#d48ef4;box-shadow:0 6px 17px #17061e55}.pn-brand-mark svg{width:31px;height:31px;filter:drop-shadow(0 4px 12px rgba(200,112,241,.18))}.pn-brand-mark.pn-epic{color:#f0e7ff;background:linear-gradient(145deg,#4d3263,#2c1836)}.pn-brand-mark.pn-ps{color:#e7c1f9;background:linear-gradient(145deg,#6d268d,#331740)}.pn-linked-meta{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #ffffff13;padding-top:11px;margin-top:14px;color:#ae88c0;font-size:11px}.pn-connected-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.pn-connected-actions>.btn{font-size:12px;padding:11px 12px}.pn-connected-actions>.btn svg{width:17px;height:17px}.pn-bridge-panel h3{display:flex;gap:8px;align-items:center;margin-top:0}.pn-bridge-panel h3 svg{width:20px;height:20px}.pn-bridge-panel p{font-size:13px;color:#be9bcf;line-height:1.7}.pn-pair-secret{width:100%;margin:6px 0;word-break:break-all;font-size:12px;resize:none;min-height:77px}
@media(max-width:600px){.pn-connected-head{align-items:flex-start;flex-wrap:wrap}.pn-connected-head>strong{font-size:20px;align-self:flex-start}.pn-link-promo{flex-direction:column;align-items:flex-start}.pn-link-promo .btn{width:100%}.pn-platform-header{flex-direction:column;align-items:stretch}.pn-platform-header button{width:100%;justify-content:flex-start}.pn-platform-tabs{margin-right:-12px}.pn-platform-tab{padding:9px 10px;font-size:11px;min-height:46px}.pn-platform-badges.mini .pn-platform-badge{width:17px;height:17px;border-radius:5px}.pn-platform-badges.mini svg{width:13px;height:13px}.pn-connected-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pn-connected-actions .btn{min-width:0}.pn-connected-actions .btn:only-child{grid-column:1/-1;width:100%}}
/* Cover art overlays: override old .cover span text decorations for nested icons. */
.cover .pn-cover-platforms{position:absolute;z-index:9;right:4px;top:4px;bottom:auto;padding:0;max-height:none;line-height:normal;text-shadow:none;display:flex;align-items:center;overflow:visible;letter-spacing:normal}
.cover .pn-cover-platforms span{position:static;z-index:auto;padding:0;max-height:none;text-shadow:none;letter-spacing:normal;line-height:normal;overflow:visible;overflow-wrap:normal}
.cover .pn-cover-platforms .pn-platform-badge{padding:2px;display:inline-flex;align-items:center;justify-content:center;background:rgba(27,8,36,.92);font-size:inherit}

/* All four platform filters remain visible on iPhone; no horizontal discovery needed. */
@media(max-width:600px){.pn-platform-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:0;gap:8px;padding-bottom:8px;overflow:visible}.pn-platform-tab{width:100%;min-width:0;justify-content:space-between;padding:10px 11px;font-size:11px}.pn-platform-tab>span{flex:1;text-align:left}.pn-platform-tab strong{flex:none}}

/* QuestPick 4.2 — provenance is separate from platform identity. */
.pn-origin-section{margin-top:13px;border-top:1px solid #c591dd2d;padding-top:13px}.pn-offline-mark{font-size:10px!important;letter-spacing:0!important;color:#88cfb6!important;font-weight:750!important}.pn-origin-tabs{display:flex;gap:7px;flex-wrap:wrap}.pn-origin-tab{border:1px solid #854e9e4a;background:#270e32;border-radius:100px;color:#d3b3e2;padding:9px 11px;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:730;min-width:0}.pn-origin-tab b{font-size:10px;color:#bc8fd0;font-variant-numeric:tabular-nums}.pn-origin-tab.is-active{background:#3b164c;border-color:#bb5fe5;color:#f4e3fc}.pn-origin-tab.is-active b{color:#d89af5}.pn-origin-help{font-size:11px;color:#ae83c1;line-height:1.45;margin:9px 0 0}.pn-origin-line{margin-top:7px;min-height:19px}.pn-origin-badges{display:inline-flex;gap:5px;flex-wrap:wrap}.pn-origin-label{display:inline-flex;gap:4px;align-items:center;line-height:1.25;border-radius:6px;border:1px solid #965cb24d;background:#341642a8;padding:3px 7px;color:#d5aee7;font-weight:750;font-size:9px}.pn-origin-label.origin-imported{background:#31123f;color:#d490f4;border-color:#bc69e25b}.pn-origin-label.origin-synced{background:#12372f;color:#8de4c7;border-color:#50b9965c}.pn-origin-label.origin-manual{background:#32253c;color:#e5c5ff;border-color:#ad85cd63}.pn-origin-label.origin-unknown{color:#b797c6}.pn-local-mode{padding:17px 19px;background:linear-gradient(120deg,#321240,#291035);border:1px solid #50bfa057;margin-bottom:15px}.pn-local-mode strong{color:#a5efcb}.pn-local-mode p,.pn-local-mode small{font-size:12px;color:#c5a2d5;line-height:1.6}.pn-auto-toggle{display:flex;align-items:center;gap:10px;padding:10px 0;color:#f3dffc;font-size:12px;font-weight:760}.pn-auto-toggle input{width:20px;height:20px;accent-color:#b85de2}.pn-local-mode small{display:block;color:#b48ac7}
@media(max-width:600px){.pn-origin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pn-origin-tab{display:flex;justify-content:space-between;text-align:left;padding:9px 10px;white-space:normal}.pn-origin-tab:first-child{grid-column:span 2}.pn-origin-label{font-size:9px;padding:3px 6px}.pn-platform-section{min-width:0}.pn-origin-line{max-width:100%}}

/* --- 4.2.2 Platform badges: no clipping in library, category buttons or details --- */
.pn-brand-svg{display:block!important;flex:none!important;width:100%;height:100%;max-width:100%;max-height:100%;overflow:visible!important;shape-rendering:geometricPrecision;fill:currentColor;vertical-align:middle}
.pn-platform-tab .pn-brand-svg{width:23px!important;height:23px!important;max-width:23px;max-height:23px;object-fit:contain;filter:none!important;transform:none}
.pn-platform-tab[data-platform="psn"] .pn-brand-svg,.pn-connect-metric .pn-svg-ps{color:#e6bef9}
.pn-platform-tab[data-platform="steam"] .pn-brand-svg,.pn-connect-metric .pn-svg-steam{color:#d797f5}
.pn-platform-tab[data-platform="epic"] .pn-brand-svg,.pn-connect-metric .pn-svg-epic{color:#ead7ff}
.pn-platform-tab{overflow:visible;min-height:47px;column-gap:9px}
.pn-platform-tab>span{overflow-wrap:break-word}
.pn-copy-icon{width:42px;height:42px;box-sizing:border-box;padding:9px;flex:0 0 42px;overflow:visible}
.pn-copy-icon .pn-brand-svg{width:23px!important;height:23px!important;max-width:23px;max-height:23px;filter:none!important}
.pn-brand-mark{padding:10px;box-sizing:border-box;overflow:visible}
.pn-brand-mark .pn-brand-svg{width:27px!important;height:27px!important;max-width:27px;max-height:27px;filter:none!important}
.pn-connect-metric .pn-brand-svg{width:26px!important;height:26px!important;max-width:26px;max-height:26px;filter:none!important}
.pn-platform-detail .pn-platform-copy{min-width:0;align-items:center;column-gap:12px}
.pn-platform-detail .pn-platform-copy>div{min-width:0;flex:1}
.pn-platform-detail .pn-platform-copy b,.pn-platform-detail .pn-platform-copy small{overflow-wrap:anywhere}
.pn-platform-badges .pn-brand-svg{width:17px!important;height:17px!important;max-width:17px;max-height:17px;filter:none!important}
.pn-platform-badges .pn-platform-badge{min-width:0;max-width:100%;white-space:nowrap;gap:5px;flex:0 0 auto}
.pn-platform-badges .pn-platform-badge b{font-size:10px;line-height:1;letter-spacing:.015em}
/* Every library game card gets its own independent platform footer, OUTSIDE the art layer. */
.game-list .game-row .pn-card-platform-footer{width:100%;min-width:0;display:flex;align-items:flex-end;justify-content:flex-start;margin-top:10px;flex-wrap:wrap}
.game-list .game-row .pn-card-platform-footer .pn-platform-badges{display:flex!important;flex-wrap:wrap;gap:5px;max-width:100%}
.game-list .game-row .pn-card-platform-footer .pn-platform-badge{min-height:26px;height:26px;border-radius:9px;padding:3px 8px 3px 7px;background:linear-gradient(160deg,rgba(56,23,71,.96),rgba(28,9,37,.95));box-shadow:inset 0 1px #ffffff12,0 3px 9px #0006}
.game-list .game-row .pn-card-platform-footer .pn-platform-badge.pn-ps{background:linear-gradient(160deg,#4c255e,#2f143c)}
.game-list .game-row .pn-card-platform-footer .pn-platform-badge.pn-steam{background:linear-gradient(160deg,#421c54,#281034)}
.game-list .game-row .pn-card-platform-footer .pn-platform-badge.pn-epic{background:linear-gradient(160deg,#442b58,#291a36)}
.game-list .game-row .pn-card-platform-footer .pn-platform-badge .pn-brand-svg{width:17px!important;height:17px!important;max-width:17px;max-height:17px}
.cards-layout .game-row{min-height:0}
.cards-layout .game-row .game-text{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;width:100%}
.cards-layout .game-row .pn-card-platform-footer{margin-top:auto;padding-top:10px}
.cards-layout .game-row .pn-card-platform-footer .pn-platform-badge{min-height:25px;height:25px;padding:2px 7px}
.rows-layout .game-row .game-text .pn-card-platform-footer{margin-top:7px}
/* In all other image-backed components preserve icons despite the old CSS rule hiding every span. */
.cover.has-image>.pn-cover-platforms,.cover.has-image .pn-platform-badges,.cover.has-image .pn-platform-badge{display:inline-flex!important}
.cover .pn-cover-platforms{z-index:12!important;max-width:calc(100% - 10px)!important;left:5px!important;right:auto!important;top:5px!important;bottom:auto!important}
.cover .pn-cover-platforms .pn-platform-badge{min-width:19px;height:19px;padding:2px;overflow:visible}
.cover .pn-cover-platforms .pn-platform-badge .pn-brand-svg{width:13px!important;height:13px!important;max-width:13px;max-height:13px}
@media(max-width:600px){
 .pn-platform-tab .pn-brand-svg{width:22px!important;height:22px!important;max-width:22px;max-height:22px}
 .pn-platform-tab{padding:11px 10px!important;align-items:center}
 .pn-platform-copy{padding:10px 0}
 .game-list .game-row .pn-card-platform-footer .pn-platform-badge{padding:2px 7px}
}
