.paid-products { color:var(--ui-ink,#15212d); min-width:0; }
.paid-products a { color:inherit; text-decoration:none; }
.paid-products a:hover { text-decoration:underline; }
.paid-products h2 { font-size:20px; line-height:1.45; margin:0 0 14px; }
.paid-products h3 { font-size:15px; line-height:1.5; margin:8px 0; overflow-wrap:anywhere; }
.paid-products p { line-height:1.65; }
.pp-muted,.pp-footnote { font-size:12px; color:var(--ui-muted,#64748b); overflow-wrap:anywhere; }
.pp-notice { padding:14px 16px; border-left:3px solid var(--ui-accent,#96d748); background:var(--ui-surface-subtle,#f5f7f9); font-size:13px; }
.pp-controls { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:24px 0 18px; }
.pp-controls label { display:grid; gap:7px; font-size:12px; color:var(--ui-muted,#64748b); }
.pp-controls label:first-child { flex:1; min-width:160px; }
.pp-controls input,.pp-controls select { box-sizing:border-box; width:100%; height:44px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); border-radius:0; color:var(--ui-ink,#15212d); padding:0 12px; font:inherit; font-size:14px; }
.pp-controls button,.paid-products button { min-height:44px; padding:0 16px; font-size:13px; }
.pp-list-status { font-size:12px; color:var(--ui-muted,#64748b); }
.pp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.paid-products .pp-card { display:flex; gap:18px; min-width:0; padding:22px 18px; border:1px solid var(--ui-line,#dce2e8); border-radius:0; background:var(--ui-surface,#fff); text-decoration:none; transition:border-color 160ms ease,background 160ms ease; }
.paid-products .pp-card:hover { border-color:var(--ui-accent,#96d748); background:var(--ui-surface-subtle,#f5f7f9); }
.pp-card-image { width:88px; flex:0 0 88px; display:flex; align-items:flex-start; justify-content:center; }
.paid-products img { object-fit:contain; display:block; max-width:100%; }
.pp-card-image img { width:88px; height:140px; }
.pp-card-content { flex:1; min-width:0; }
.pp-label { font-size:11px; font-weight:700; color:var(--ui-muted,#64748b); }
.pp-price { font-size:16px; font-weight:700; margin:8px 0 16px; }
.pp-card-value { border-top:1px solid var(--ui-line,#dce2e8); padding-top:12px; display:grid; gap:5px; }
.pp-card-value span,.pp-metrics span { font-size:12px; color:var(--ui-muted,#64748b); }
.pp-card-value strong { font-size:17px; overflow-wrap:anywhere; }
.pp-footnote { margin:24px 0; }
.pp-back { display:inline-flex; min-height:44px; align-items:center; font-size:13px; margin:8px 0 16px; }
.pp-detail-head { display:grid; grid-template-columns:160px minmax(260px,1fr) minmax(330px,400px); gap:24px; align-items:center; padding:20px 0 28px; border-bottom:1px solid var(--ui-line,#dce2e8); }
.pp-product-detail .pp-detail-head { grid-template-columns:136px minmax(240px,1fr) minmax(360px,480px); gap:28px; padding:22px 0 24px; }
.pp-product-detail .pp-detail-image img { width:136px; height:188px; }
.pp-product-detail .pp-detail-copy .pp-price { margin:8px 0 14px; font-size:18px; }
.pp-product-detail .pp-detail-copy .pp-detail-period { margin:0 0 4px; color:var(--ui-ink,#15212d); font-size:13px; }
.pp-product-detail .pp-detail-copy .pp-muted { margin:4px 0 10px; }
.pp-product-detail .pp-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; margin:0; align-self:stretch; align-items:stretch; }
.pp-product-detail .pp-metrics>div { display:grid; align-content:center; gap:8px; min-width:0; min-height:112px; padding:16px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface-subtle,#f5f7f9); }
.pp-product-detail .pp-metrics .pp-metric-primary { border-color:var(--ui-accent,#96d748); background:var(--ui-surface-subtle,#f5f7f9); }
.pp-product-detail .pp-metrics .pp-metric-label { display:flex; align-items:center; gap:6px; }
.pp-product-detail .pp-metrics strong { font-size:21px; line-height:1.3; overflow-wrap:anywhere; }
.pp-product-detail .pp-metrics small { color:var(--ui-muted,#64748b); font-size:11px; line-height:1.4; }
.pp-product-detail .pp-metrics .pp-distribution { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:0; margin:0; padding:0 4px; border:0; background:transparent; font-size:12px; }
.pp-product-detail .pp-metrics .pp-distribution-heading { flex:none; }
.pp-product-detail .pp-metrics .pp-distribution-values { justify-content:flex-end; gap:6px 18px; }
.pp-product-detail .pp-metrics .pp-distribution-typical,.pp-product-detail .pp-metrics .pp-distribution-range { gap:6px; }
.pp-product-detail .pp-metrics .pp-distribution-typical strong { font-size:16px; }
.pp-product-detail .pp-metrics .pp-distribution-range strong { font-size:14px; }
.pp-detail-image img { width:160px; height:220px; }
.pp-detail-copy { min-width:0; }
.pp-detail-head h2 { max-width:680px; }
.pp-detail-head a { font-size:13px; text-decoration:underline; }
.pp-detail-head .pp-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; min-width:0; margin:0; align-self:stretch; align-items:center; }
.pp-detail-head .pp-metrics>div { display:grid; align-content:center; gap:10px; min-width:0; min-height:96px; padding:8px 16px; border-left:1px solid var(--ui-line,#dce2e8); }
.pp-detail-head .pp-metrics strong { font-size:21px; line-height:1.3; overflow-wrap:anywhere; }
@media(max-width:1100px) and (min-width:768px) {
  .pp-detail-head { grid-template-columns:140px minmax(0,1fr); }
  .pp-detail-image img { width:140px; height:192px; }
  .pp-detail-head .pp-metrics { grid-column:2; align-self:auto; }
}
.pp-exchange-routes { margin:32px 0; padding:24px 0; border-top:1px solid var(--ui-line,#dce2e8); border-bottom:1px solid var(--ui-line,#dce2e8); }
.pp-exchange-routes header { margin-bottom:16px; }
.pp-exchange-routes header h2 { margin-bottom:4px; }
.pp-exchange-routes header p { margin:0; }
.pp-exchange-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pp-exchange-route { min-width:0; padding:18px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); }
.pp-exchange-title h3 { margin:4px 0; }
.pp-exchange-title p { margin:0; font-size:12px; color:var(--ui-muted,#64748b); }
.pp-exchange-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }
.pp-exchange-values span { display:grid; gap:4px; min-width:0; font-size:12px; color:var(--ui-muted,#64748b); }
.pp-exchange-values strong { color:var(--ui-ink,#15212d); font-size:16px; overflow-wrap:anywhere; }
.pp-exchange-outcome-heading { display:flex; align-items:center; gap:6px; margin:10px 0 -8px; color:var(--ui-muted,#64748b); font-size:11px; }
.pp-exchange-outcome-heading .pp-info-trigger { width:14px; height:14px; min-height:14px; }
.pp-exchange-outcomes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:14px 0 8px; }
.pp-exchange-outcomes>div { display:grid; gap:2px; min-width:0; padding:9px 7px; background:var(--ui-surface-subtle,#f5f7f9); }
.pp-exchange-outcomes b { font-size:13px; }
.pp-exchange-outcomes span { font-size:11px; color:var(--ui-muted,#64748b); }
.pp-exchange-outcomes strong { font-size:12px; overflow-wrap:anywhere; }
.pp-exchange-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; text-decoration:underline!important; overflow-wrap:anywhere; }
.pp-components { margin:28px 0; }
.pp-components>h2 { margin:0 0 8px; padding-bottom:10px; border-bottom:1px solid var(--ui-line,#dce2e8); }
.pp-component { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:12px; padding:14px 4px; border-bottom:1px solid var(--ui-line,#dce2e8); }
.pp-component-image img { width:52px; height:66px; }
.pp-component-content { min-width:0; }
.pp-component h3 { margin:0; font-size:14px; line-height:1.45; }
.pp-component h3 span { white-space:nowrap; color:var(--ui-muted,#64748b); }
.pp-component-value { display:flex; align-items:baseline; gap:6px; margin:4px 0 0; font-size:12px; color:var(--ui-muted,#64748b); }
.pp-component-value strong { color:var(--ui-ink,#15212d); font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; }
.pp-component-bonus { display:inline-flex; margin-top:5px; padding:2px 6px; background:var(--ui-surface-subtle,#f5f7f9); color:var(--ui-muted,#64748b); font-size:11px; }
.pp-component details,.pp-method { font-size:13px; line-height:1.7; }
.paid-products summary { cursor:pointer; min-height:44px; align-content:center; }
.pp-method { border-top:1px solid var(--ui-line,#dce2e8); margin-bottom:24px; padding:12px 0; }
.pp-image-fallback { display:flex; width:100%; min-height:80px; justify-content:center; align-items:center; font-size:11px; color:var(--ui-muted,#64748b); background:var(--ui-surface-subtle,#f5f7f9); border-radius:0; }
.pp-skeleton { min-height:100px; padding:16px; border-radius:0; background:var(--ui-surface-subtle,#f5f7f9); font-size:13px; animation:pp-pulse 1.2s ease-in-out infinite; }
.player-products { border-top:1px solid var(--ui-line,#dce2e8); border-bottom:1px solid var(--ui-line,#dce2e8); margin:14px 0 0; padding:12px 0 14px; }
.player-products[hidden] { display:none; }
.pp-player-heading { display:flex; gap:12px; justify-content:space-between; align-items:center; }
.player-products .pp-player-heading h3 { margin:1px 0 8px; font-size:15px; }
.pp-player-heading a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; flex:none; }
.pp-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.player-products .pp-card-compact { padding:9px; gap:9px; align-items:center; }
.player-products .pp-card-compact .pp-card-image { flex:0 0 46px; width:46px; }
.player-products .pp-card-compact .pp-card-image img { width:46px; height:60px; }
.player-products .pp-card-compact h3 { margin:2px 0; font-size:12px; line-height:1.3; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.player-products .pp-card-compact .pp-price { margin:2px 0 0; font-size:12px; }
.player-products .pp-card-compact .pp-muted { display:none; }
.player-products .pp-skeleton { min-height:78px; }
@media(max-width:900px) { .pp-related { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .pp-related { display:flex; overflow-x:auto; scroll-snap-type:x proximity; padding:2px 2px 6px; } .player-products .pp-card-compact { flex:0 0 min(76vw,280px); scroll-snap-align:start; } }
.paid-products :focus-visible { outline:2px solid var(--ui-accent,#579d11); outline-offset:3px; }
@keyframes pp-pulse { 50% { opacity:.55; } }
@media(max-width:767px) {
  .pp-grid { grid-template-columns:1fr; gap:12px; }
  .pp-controls { gap:10px; }
  .pp-controls label:first-child { flex-basis:100%; }
  .pp-controls label { flex:1; min-width:0; }
  .pp-controls input { font-size:16px; }
  .paid-products .pp-card { padding:16px 12px; gap:12px; }
  .pp-card-image { width:72px; flex-basis:72px; }
  .pp-card-image img { width:72px; height:114px; }
  .pp-detail-head { grid-template-columns:90px minmax(0,1fr); gap:12px 16px; padding-top:8px; align-items:start; }
  .pp-detail-image img { width:90px; height:144px; }
  .paid-products .pp-detail-head h2 { font-size:18px; }
  .pp-detail-head .pp-metrics { grid-column:1/-1; align-self:auto; }
  .pp-detail-head .pp-metrics>div { min-height:64px; padding:4px 10px; }
  .pp-detail-head .pp-metrics>div:first-child { padding-left:0; border-left:0; }
  .pp-detail-head .pp-metrics strong { font-size:18px; }
  .pp-detail-head .pp-metrics .pp-metric-label { gap:3px; font-size:11px; }
  .pp-detail-head .pp-metrics .pp-info-trigger { width:14px; height:14px; min-height:14px; }
  .pp-product-detail .pp-detail-head { grid-template-columns:76px minmax(0,1fr); gap:12px; padding-top:8px; }
  .pp-product-detail .pp-detail-image img { width:76px; height:112px; }
  .pp-product-detail .pp-detail-copy .pp-price { margin:5px 0 8px; font-size:16px; }
  .pp-product-detail .pp-detail-copy .pp-detail-period { font-size:12px; }
  .pp-product-detail .pp-detail-head .pp-metrics { grid-column:1/-1; gap:8px; }
  .pp-product-detail .pp-detail-head .pp-metrics>div { min-height:92px; padding:10px; border:1px solid var(--ui-line,#dce2e8); }
  .pp-product-detail .pp-detail-head .pp-metrics .pp-metric-primary { border-color:var(--ui-accent,#96d748); }
  .pp-product-detail .pp-detail-head .pp-metrics strong { font-size:17px; }
  .pp-product-detail .pp-detail-head .pp-metrics small { font-size:10px; }
  .pp-product-detail .pp-detail-head .pp-metrics .pp-distribution { grid-column:1/-1; flex-wrap:wrap; justify-content:flex-start; gap:3px 10px; padding:2px 0; }
  .pp-product-detail .pp-detail-head .pp-metrics .pp-distribution-values { justify-content:flex-start; gap:4px 12px; }
  .pp-product-detail .pp-detail-head .pp-metrics .pp-distribution-typical strong { font-size:14px; }
  .pp-product-detail .pp-detail-head .pp-metrics .pp-distribution-range strong { font-size:13px; }
  .pp-exchange-grid { grid-template-columns:1fr; }
  .pp-exchange-route { padding:14px 12px; }
  .pp-exchange-outcomes { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .paid-products * { animation:none!important; transition:none!important; } }

.pp-distribution { position:relative; display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:16px; min-width:0; min-height:54px; margin:16px 0 24px; padding:8px 16px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); color:var(--ui-muted,#64748b); font-size:13px; line-height:1.35; }
.pp-distribution-heading { display:flex; align-items:center; gap:7px; }
.pp-distribution-values { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 24px; min-width:0; }
.pp-distribution-typical,.pp-distribution-range { display:inline-flex; align-items:baseline; gap:7px; min-width:0; }
.pp-distribution-typical strong { color:var(--ui-ink,#15212d); font-size:16px; }
.pp-distribution-range strong { color:var(--ui-ink,#15212d); font-size:14px; }
.pp-distribution .pp-info { position:static; align-self:center; margin-left:2px; }
.pp-distribution .pp-info-pop { top:calc(100% + 6px); left:0; right:auto; width:min(300px,100%); }
@media(max-width:480px) { .pp-distribution { grid-template-columns:1fr; gap:4px; min-height:0; margin:12px 0 18px; padding:9px 12px; font-size:12px; } .pp-distribution-values { gap:4px 16px; } .pp-distribution-typical,.pp-distribution-range { gap:5px; } .pp-distribution-typical strong { font-size:14px; } .pp-distribution-range strong { font-size:13px; } }

#playerModal #playerProducts a.pp-card { text-decoration:none; }

.pp-event{grid-column:1/-1;min-width:0;padding:20px;border:1px solid var(--border-color,#dce2ea);border-radius:0}.pp-event h2{margin:0 0 12px}.pp-event summary{cursor:pointer}.pp-event .pp-component{overflow-wrap:anywhere}

.pp-event-ticket{grid-template-columns:minmax(0,1fr)}
.pp-controls label:nth-child(2){flex:1;min-width:180px}
@media(max-width:767px){.pp-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-controls label:first-child,.pp-controls label:nth-child(2){grid-column:1/-1;min-width:0}.pp-controls button{width:100%}}

.pp-grid { align-items:start; }
.pp-ticket-head { display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; align-items:center; margin-bottom:18px; }
.pp-ticket-head .pp-price { margin-bottom:0; }
.pp-ticket-art { position:relative; display:grid; place-items:center; min-height:112px; border-radius:0; background:radial-gradient(ellipse at center,rgba(151,190,81,.15),transparent 72%); }
.pp-ticket-art img { width:96px; height:112px; }
.pp-ticket-quantity { position:absolute; right:0; bottom:0; border:1px solid var(--ui-line,#dce2e8); border-radius:0; padding:2px 8px; background:var(--ui-surface,#fff); font-size:12px; font-weight:700; }
.pp-ticket-card .pp-card-value strong { font-size:24px; letter-spacing:-.5px; }
.pp-ticket-method { font-size:12px; border-top:1px solid var(--ui-line,#dce2e8); margin-top:16px; }
.pp-ticket-card .pp-card-content>p:last-child { font-size:12px; margin-bottom:0; }
@media(max-width:767px) {
  .pp-ticket-head { grid-template-columns:76px minmax(0,1fr); gap:12px; }
  .pp-ticket-art { min-height:92px; }
  .pp-ticket-art img { width:76px; height:92px; }
  .pp-ticket-card .pp-card-value strong { font-size:21px; }
}

/* Reuse the market explorer select visual language within this standalone view. */
.pp-controls select[hidden] { display:none; }
.pp-controls .market-select { display:block; position:relative; width:100%; }
.pp-controls .market-select-trigger { display:flex; align-items:center; text-align:left; gap:8px; width:100%; border:1px solid var(--ui-line); border-radius:0; background:var(--ui-surface); color:var(--ui-ink); font-size:14px; font-weight:400; }
.pp-controls .market-select-trigger::after { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-left:auto; flex-shrink:0; }
.pp-controls .market-select-menu { display:block; position:absolute; top:calc(100% + 4px); left:0; z-index:100; width:100%; min-width:150px; max-width:calc(100vw - 40px); box-sizing:border-box; padding:6px; border:1px solid var(--ui-line); border-radius:0; background:var(--ui-surface); box-shadow:0 6px 18px #00000018; }
.pp-controls .market-select-options { display:block; max-height:280px; overflow-y:auto; }
.pp-controls .market-select-options button { display:block; width:100%; min-height:40px; padding:8px; border:0; border-radius:0; text-align:left; font-size:13px; font-weight:400; background:var(--ui-surface); color:var(--ui-ink); }
.pp-controls .market-select-options button[aria-selected=true],.pp-controls .market-select-options button:hover { background:var(--ui-surface-subtle); color:var(--ui-accent); }
.pp-reward-panel { margin:22px 0 28px; padding:0; border:0; border-radius:0; background:var(--ui-surface); }
.pp-reward-panel header { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.pp-reward-panel h2 { margin:6px 0 0; font-size:20px; }
.pp-grade-grid { display:grid; grid-template-columns:repeat(var(--grade-columns,3),minmax(0,1fr)); gap:12px; }
.pp-grade { min-width:0; border:1px solid var(--ui-line); border-top:3px solid var(--grade-color,#8090a2); border-radius:0; padding:14px; }
.pp-grade-sss { --grade-color:#b879d8; background:linear-gradient(140deg,#b879d810,transparent); }
.pp-grade-ss { --grade-color:#cc9b37; }
.pp-grade-s { --grade-color:#649ed5; }
.pp-grade-a { --grade-color:#61a78d; }
.pp-grade>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pp-grade>div:first-child>b { color:var(--grade-color,#8090a2); font-size:20px; font-weight:800; }
.pp-grade>div:first-child>span { font-size:12px; color:var(--ui-muted); }
.pp-grade>strong { display:block; font-size:23px; margin:8px 0 3px; letter-spacing:-.4px; }
.pp-grade-rewards { display:grid; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid var(--ui-line); }
.pp-grade-rewards>div,.pp-grade-rewards>a { display:flex; align-items:center; gap:8px; min-width:0; }
.pp-grade-rewards img { width:34px; height:44px; flex:0 0 34px; }
.pp-grade-rewards small { display:block; color:var(--ui-muted); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.pp-grade-rewards b { display:block; margin-top:3px; font-size:13px; }
@media(max-width:767px){.pp-reward-panel{padding:14px 12px}.pp-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-grade{padding:10px}.pp-grade>strong{font-size:18px}.pp-grade-rewards>div,.pp-grade-rewards>a{align-items:start}.pp-grade-rewards img{width:25px;height:35px;flex-basis:25px}.pp-reward-panel h2{font-size:17px}}
body.user-service .pp-controls .market-select { width:100%; }
body.user-service .pp-controls .market-select-menu { width:100%; }


.pp-card-meta { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin:12px 0; line-height:1.65; }
.pp-exclusion { white-space:nowrap; }


.pp-event-group { grid-column:1/-1; min-width:0; margin-bottom:18px; }
.pp-event-group .pp-reward-panel { margin:0 0 14px; }

.pp-pack-explorer { margin:32px 0; border-top:1px solid var(--ui-line); padding-top:20px; }
.pp-pack-controls { grid-template-columns:minmax(0,2fr) minmax(140px,1fr) 130px; }
.pp-pack-controls label { min-width:0; }
.pp-pack-controls .market-select-trigger { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pp-player-table { border:1px solid var(--ui-line); border-radius:0; overflow:hidden; }
.pp-pack-summary { margin:16px 0 10px; }
.pp-pack-summary h3 { margin:0; }
.pp-pack-context { margin:4px 0 0; }
.pp-pack-list-status { margin:12px 0 8px; color:var(--ui-ink,#15212d); font-size:13px; font-weight:650; }
.pp-player-table-head,.pp-player-row { display:grid; grid-template-columns:minmax(0,1fr) 160px 190px; align-items:center; gap:12px; padding:14px 16px; }
.pp-player-table-head { background:var(--ui-surface-subtle); color:var(--ui-muted); font-size:12px; }
.pp-player-row { text-decoration:none; color:var(--ui-ink); border-top:1px solid var(--ui-line); transition:background 150ms ease; }
.pp-player-row:hover,.pp-player-row:focus-visible { background:var(--ui-surface-subtle); }
.paid-products .pp-player-row:hover,.paid-products .pp-player-row:focus-visible { text-decoration:none; }
.pp-player-identity { display:flex; align-items:center; gap:14px; min-width:0; }
.pp-player-identity>span:last-child { min-width:0; }
.pp-player-title { display:inline-flex; align-items:center; flex-wrap:wrap; column-gap:6px; row-gap:3px; min-width:0; max-width:100%; line-height:1.35; }
.pp-player-title .top-season-badge { width:20px; height:20px; object-fit:contain; flex:0 0 20px; }
.pp-player-title .strength-badge { display:inline-flex; align-items:center; justify-content:center; width:23px; height:14px; flex:0 0 23px; margin:0; transform:none; }
.pp-player-title strong,.pp-player-title b { min-width:0; overflow-wrap:anywhere; }
.pp-season-fallback { color:var(--ui-muted,#64748b); font-size:11px; }
.pp-player-rank { min-width:32px; color:var(--ui-muted); font-variant-numeric:tabular-nums; }
.pp-player-row small { display:block; color:var(--ui-muted); font-size:12px; margin-top:4px; }
.pp-player-odds { display:grid; gap:7px; font-variant-numeric:tabular-nums; }
.pp-player-odd { display:flex; align-items:baseline; justify-content:space-between; gap:6px; }
.pp-player-odd small { margin:0; white-space:nowrap; font-size:11px; }
.pp-player-odd b { font-size:13px; font-weight:650; white-space:nowrap; }
.pp-pack-path { margin:4px 0 10px; font-size:12px; }
.pp-pack-path summary { display:inline-flex; align-items:center; min-height:44px; color:var(--ui-muted); text-decoration:underline; }
.pp-pack-path p { margin:0 0 8px; }
.pp-pack-more { display:block; margin:18px auto; }
.pp-pack-more[hidden] { display:none; }
@media(max-width:767px){.pp-pack-controls{grid-template-columns:minmax(0,1fr) 120px}.pp-pack-controls label:first-child{grid-column:1/-1}}
.pp-pack-controls { grid-template-columns:minmax(0,2fr) minmax(130px,1fr) 130px 120px; }
.pp-player-face-wrap { position:relative; display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; background:var(--ui-surface-subtle); }
.pp-player-face-fallback { color:var(--ui-muted); font-size:10px; }
.pp-player-face { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
@media(max-width:767px){.pp-pack-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-pack-controls label:nth-child(2){grid-column:1/-1}}
.pp-controls.pp-pack-controls { display:grid; }
.pp-controls.pp-pack-controls label { min-width:0; }
.pp-pack-controls .market-select { min-width:0; max-width:100%; }
.pp-player-face[hidden] { display:none; }
.pp-player-card-wrap { display:block; width:72px; flex:0 0 72px; }
.pp-detailed-card-host { position:relative; display:block; width:100%; aspect-ratio:17 / 20; flex:none; --squad-board-card-scale:.17; }
.pp-detailed-card-host .player-season-card-detailed { display:block; width:100%; height:100%; font-family:'CruyffSans',"Noto Sans KR",sans-serif; }
.pp-detailed-card-host .pp-card-canvas { transform:scale(var(--squad-board-card-scale)); transform-origin:0 0; }
.pp-detailed-card-host .pp-card-wrap { text-shadow:none; }
.pp-detailed-card-host .pp-card-action-img { filter:none; }
.pp-detailed-card-host .squad-board-card-strength .strength-badge { display:flex; align-items:center; justify-content:center; width:54px; min-width:54px; height:32px; min-height:32px; padding:2px 0 0; box-sizing:border-box; font-size:22px; line-height:1; transform:none; }
@media(max-width:767px){
  .pp-pack-summary{margin:14px 0 8px}
  .pp-pack-summary h3{font-size:15px;line-height:1.4}
  .pp-pack-context{font-size:11px;line-height:1.45}
  .pp-pack-list-status{display:flex;align-items:center;min-height:32px;margin:8px 0 6px;padding:0 10px;border-left:2px solid var(--ui-line);background:var(--ui-surface-subtle);font-size:12px}
  .pp-player-table-head{display:none}
  .pp-pack-results .pp-player-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 12px}
  .pp-pack-results .pp-player-identity{grid-column:1/-1;gap:9px;min-height:72px;padding:8px 0}
  .pp-pack-results .pp-player-rank{width:20px;min-width:20px;color:var(--ui-ink);font-size:13px;font-weight:700}
  .pp-pack-results .pp-player-card-wrap{width:48px;flex-basis:48px}
  .pp-pack-results .pp-player-identity b{font-size:14px}
  .pp-pack-results .pp-player-row>strong{grid-column:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 4px 10px 0;border-top:1px solid var(--ui-line);font-size:13px;white-space:normal;overflow-wrap:anywhere}
  .pp-pack-results .pp-player-row>strong::before{content:'기준가';display:block;margin-bottom:4px;color:var(--ui-muted);font-size:10px;font-weight:400;line-height:1.3}
  .pp-pack-results .pp-player-odds{grid-column:2/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;min-width:0;border-top:1px solid var(--ui-line)}
  .pp-pack-results .pp-player-odd{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-content:start;gap:4px;min-width:0;padding:8px 4px 10px}
  .pp-pack-results .pp-player-odd+ .pp-player-odd{border-left:1px solid var(--ui-line);padding-left:9px}
  .pp-pack-results .pp-player-odd small{font-size:10px;white-space:normal;line-height:1.3}
  .pp-pack-results .pp-player-odd b{justify-self:start;font-size:12px;white-space:nowrap;letter-spacing:-.02em}
}

.pp-reward-link { border-radius:0; padding:5px; margin:-5px; transition:background 160ms ease; }
.pp-reward-link:hover,.pp-reward-link:focus-visible { background:var(--ui-surface-subtle); }
.pp-reward-link em { display:block; font-style:normal; font-size:11px; color:var(--ui-muted); margin-top:4px; }

.paid-products article > h2 + .pp-pack-explorer { border-top:0; margin-top:16px; padding-top:0; }

.pp-exchanges { margin-top:32px; }
.pp-exchanges > h2 { margin-bottom:18px; }

/* Compact event summaries: preserve reward links without repeated explanations. */
.pp-event-group .pp-card { padding:16px; gap:12px; }
.pp-ticket-card .pp-card-content { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; align-items:center; }
.pp-ticket-head { grid-row:1 / span 3; gap:12px; }
.pp-ticket-card .pp-ticket-art { width:54px; flex:0 0 54px; }
.pp-ticket-card .pp-ticket-art img { width:54px; height:64px; }
.pp-ticket-card .pp-card-value { margin:0; padding:0; border:0; }
.pp-ticket-card .pp-card-value strong { font-size:19px; }
.pp-ticket-card .pp-muted { margin:0; font-size:11px; }
.pp-ticket-card h3,.pp-exchange-card h3 { margin:0 0 6px; font-size:14px; }
.pp-ticket-card .pp-price,.pp-exchange-card .pp-price { margin:0; font-size:14px; }
.pp-exchange-card .pp-card-image img { width:54px; height:64px; }
.pp-exchange-card .pp-card-content { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; align-items:center; }
.pp-exchange-card h3 { grid-column:1/-1; }
.pp-exchange-card .pp-card-value { margin:0; padding:0; border:0; text-align:right; }
.pp-exchange-card .pp-card-value span { display:none; }
.pp-exchange-card .pp-card-value strong { font-size:19px; }
.pp-exchange-card .pp-muted { grid-column:2; margin:0; font-size:11px; text-align:right; }
.pp-limit { font-size:11px; color:var(--ui-muted); font-weight:400; }
.pp-event-group .pp-reward-panel { padding:0; }
.pp-reward-panel h2 { font-size:17px; }
.pp-grade { padding:10px 12px; }
.pp-grade>strong { font-size:20px; margin:4px 0; }
.pp-grade>div:first-child>b { font-size:17px; }
.pp-grade-rewards { gap:7px; margin-top:8px; padding-top:8px; }
.pp-grade-rewards img { width:28px; height:32px; flex-basis:28px; }
.pp-grade-rewards b { margin-top:1px; }
@media(max-width:767px){
 .pp-ticket-card .pp-card-content { grid-template-columns:minmax(0,1fr) 115px; gap:4px 10px; }
 .pp-ticket-card .pp-ticket-art { width:38px; flex-basis:38px; }
 .pp-ticket-card .pp-ticket-art img { width:38px; height:48px; }
 .pp-ticket-head { gap:8px; }
 .pp-event-group .pp-card { padding:12px; }
 .pp-ticket-card .pp-card-value strong,.pp-exchange-card .pp-card-value strong { font-size:17px; }
 .pp-grade-grid { grid-template-columns:1fr; }
 .pp-grade { display:grid; grid-template-columns:95px minmax(0,1fr); gap:4px 12px; }
 .pp-grade>strong { grid-column:1; font-size:17px; }
 .pp-grade-rewards { grid-column:2; grid-row:1 / span 2; margin:0; padding:0 0 0 10px; border-top:0; border-left:1px solid var(--ui-line); }
}
@media(max-width:767px){.pp-grade{grid-template-columns:112px minmax(0,1fr)}.pp-grade>strong{font-size:16px;white-space:nowrap}}

@media(max-width:767px){
  .paid-products .pp-product-card:not(.pp-card-compact){padding:14px 12px;gap:10px}
  .pp-product-card:not(.pp-card-compact) .pp-card-image{width:68px;flex-basis:68px}
  .pp-product-card:not(.pp-card-compact) .pp-card-image img{width:68px;height:104px}
  .pp-product-card:not(.pp-card-compact) h3{margin:4px 0 0;line-height:1.4}
  .pp-product-card:not(.pp-card-compact) .pp-price{margin:7px 0 10px;font-size:15px}
  .pp-product-card:not(.pp-card-compact) .pp-card-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:9px}
  .pp-product-card:not(.pp-card-compact) .pp-card-value strong{font-size:18px;white-space:nowrap}
  .pp-product-card:not(.pp-card-compact) .pp-card-meta{margin:7px 0 0;font-size:11px}
}

/* Keep shop ticket and exchange comparisons compact and aligned on phones. */
@media(max-width:767px){
  .pp-event-group .pp-ticket-card{padding:12px;gap:0}
  .pp-ticket-card .pp-card-content{grid-template-columns:42px minmax(0,1fr) minmax(112px,auto);grid-template-rows:auto auto auto;gap:3px 9px;align-items:center}
  .pp-ticket-card .pp-ticket-head,.pp-ticket-card .pp-ticket-head>div{display:contents}
  .pp-ticket-card .pp-ticket-art{grid-column:1;grid-row:1/3;width:42px;min-height:52px;background:none}
  .pp-ticket-card .pp-ticket-art img{width:42px;height:52px}
  .pp-ticket-card .pp-ticket-quantity{right:-3px;bottom:-3px;padding:1px 5px;font-size:10px}
  .pp-ticket-card .pp-ticket-head h3{grid-column:2;grid-row:1;margin:0;font-size:13px;line-height:1.35}
  .pp-ticket-card .pp-ticket-head .pp-price{grid-column:2;grid-row:2;font-size:13px}
  .pp-ticket-card .pp-card-value{grid-column:3;grid-row:1;padding:0;text-align:right}
  .pp-ticket-card .pp-card-value span{font-size:10px}
  .pp-ticket-card .pp-card-value strong{font-size:15px;white-space:nowrap;letter-spacing:-.3px}
  .pp-ticket-card .pp-ticket-efficiency{grid-column:3;grid-row:2;text-align:right;font-size:10px;line-height:1.3;letter-spacing:-.2px}
  .pp-ticket-card .pp-ticket-condition{grid-column:2/4;grid-row:3;margin:3px 0 0;padding-top:5px;border-top:1px solid var(--ui-line,#dce2e8);font-size:10px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pp-exchanges{margin-top:24px}
  .pp-exchanges>h2{margin-bottom:10px;font-size:17px}
  .pp-exchanges .pp-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .pp-exchange-card{padding:10px 12px!important;gap:10px!important;align-items:center}
  .pp-exchange-card .pp-card-image{width:44px;flex-basis:44px;align-items:center}
  .pp-exchange-card .pp-card-image img{width:44px;height:50px}
  .pp-exchange-card .pp-card-content{grid-template-columns:minmax(0,1fr) minmax(112px,auto);gap:3px 10px;align-items:center}
  .pp-exchange-card h3{grid-column:1;grid-row:1;margin:0;font-size:12px;line-height:1.35}
  .pp-exchange-card .pp-price{grid-column:1;grid-row:2;font-size:12px}
  .pp-exchange-card .pp-card-value{grid-column:2;grid-row:1;text-align:right}
  .pp-exchange-card .pp-card-value strong{font-size:15px;white-space:nowrap;letter-spacing:-.3px}
  .pp-exchange-card .pp-muted{grid-column:2;grid-row:2;font-size:10px;white-space:nowrap}
  .pp-exchange-card .pp-limit{font-size:10px;white-space:nowrap}
}

@media(max-width:767px){
  .pp-event-group .pp-reward-panel header{align-items:baseline;gap:3px 10px;margin-bottom:9px}
  .pp-event-group .pp-reward-panel header>div{min-width:0}
  .pp-event-group .pp-reward-panel header>span{font-size:10px;white-space:nowrap}
  .pp-event-group .pp-reward-panel h2{margin-top:3px;font-size:17px}
  .pp-event-group .pp-grade-grid{gap:6px}
  .pp-event-group .pp-grade{grid-template-columns:92px minmax(0,1fr);gap:2px 9px;padding:8px 9px;border-top-width:2px}
  .pp-event-group .pp-grade>div:first-child{grid-column:1;grid-row:1;align-items:baseline}
  .pp-event-group .pp-grade>div:first-child>b{font-size:16px}
  .pp-event-group .pp-grade>div:first-child>span{font-size:10px}
  .pp-event-group .pp-grade>strong{grid-column:1;grid-row:2;margin:2px 0 0;font-size:14px;letter-spacing:-.3px}
  .pp-event-group .pp-grade-rewards{grid-column:2;grid-row:1/span 2;gap:4px;margin:0;padding:0 0 0 8px;border-top:0;border-left:1px solid var(--ui-line)}
  .pp-event-group .pp-grade-rewards>a,.pp-event-group .pp-grade-rewards>div{gap:5px;min-height:31px}
  .pp-event-group .pp-grade-rewards img{width:22px;height:28px;flex-basis:22px}
  .pp-event-group .pp-grade-rewards small{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .pp-event-group .pp-grade-rewards b{margin-top:1px;font-size:13px;line-height:1.25;white-space:nowrap}
  .pp-event-group .pp-grade-rewards>a::after{content:'›';margin-left:auto;color:var(--ui-muted);font-size:16px;line-height:1}
}

/* A compact play surface inside the product detail, not a second analytics table. */
.pp-simulator { margin:28px 0; }
.pp-key-art { --pp-key-grade:#00c320; display:grid; grid-template-columns:30% minmax(0,1fr); width:120px; height:108px; overflow:hidden; background:#e9f0ff; color:#202124; box-shadow:0 5px 18px rgba(0,0,0,.15); }
.pp-key-tier-0 { --pp-key-grade:#596274; }
.pp-key-tier-2 { --pp-key-grade:#248bff; }
.pp-key-tier-3 { --pp-key-grade:#9b3aff; }
.pp-key-tier-4 { --pp-key-grade:#ff006c; }
.pp-key-art-icon { display:grid; place-items:center; min-width:0; background:var(--pp-key-grade); color:#fff; }
.pp-key-art-icon svg { width:60%; max-width:38px; height:auto; aspect-ratio:1; }
.pp-key-art-copy { display:grid; align-content:center; justify-items:start; gap:4px; min-width:0; padding:6px 7px; }
.pp-key-art-copy small { color:#454b56; font-size:11px; font-weight:800; white-space:nowrap; }
.pp-key-art-copy strong { color:#202124; font-size:20px; line-height:1; font-variant-numeric:tabular-nums; }
.pp-key-art.is-compact { display:block; width:44px; height:54px; }
.pp-key-art.is-compact .pp-key-art-icon { width:100%; height:100%; }
.pp-sim-cinema-card .pp-key-art { width:230px; height:160px; }
.pp-sim-cinema-card .pp-key-art-copy { padding:14px; }
.pp-sim-cinema-card .pp-key-art-copy small { font-size:17px; }
.pp-sim-cinema-card .pp-key-art-copy strong { font-size:35px; }
.pp-sim-cinema-loot-art .pp-key-art.is-compact { width:48px; height:54px; }
.pp-sim-spotlight-art .pp-key-art { max-width:100%; }
@media(max-width:767px) { .pp-sim-cinema-card .pp-key-art { width:180px; height:130px; } .pp-sim-cinema-loot-art .pp-key-art.is-compact { width:38px; height:46px; } .pp-sim-spotlight-art .pp-key-art-copy { padding:4px; } .pp-sim-spotlight-art .pp-key-art-copy small { font-size:8px; } .pp-sim-spotlight-art .pp-key-art-copy strong { font-size:16px; } }
/* Signal FC draw lab: shared visual language for event draws. */
.pp-inline-play:empty { display:none; }
.pp-inline-play { margin:20px 0 28px; scroll-margin-top:16px; }
.pp-inline-play .pp-simulator { margin:0; }
.pp-inline-play-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 12px; }
.pp-inline-play-head h2 { margin:0 0 4px; font-size:22px; }
.pp-inline-play-head p { margin:0; color:var(--ui-muted,#64748b); font-size:12px; }
.pp-inline-list-link { display:inline-block; margin-top:6px; color:#235445; font-size:12px; font-weight:800; }
#pp-product-list { scroll-margin-top:16px; }
.pp-inline-event-picker { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.paid-products .pp-inline-event-picker button { min-height:37px; padding:7px 12px; border:1px solid #b9cbc2; border-radius:8px; background:#fff; color:#234d40; font-size:12px; font-weight:700; }
.paid-products .pp-inline-event-picker button[aria-pressed="true"] { border-color:#234d40; background:#234d40; color:#fff; }
@media(max-width:767px) { .pp-inline-play-head { display:block; } .pp-inline-play-head h2 { font-size:18px; } .pp-inline-event-picker { justify-content:flex-start; margin-top:10px; } }
.pp-drawlab { --draw-ink:#13252a; --draw-muted:#52696b; --draw-line:#dce8e4; --draw-accent:#bdf151; overflow:hidden; border:1px solid var(--draw-line); border-radius:18px; background:#f5f8f5; color:var(--draw-ink); box-shadow:0 14px 40px rgba(20,48,43,.08); }
.pp-drawlab-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:24px 28px; background:#173335; color:#f8fff6; }
.pp-drawlab-head>div:first-child { min-width:0; }
.pp-drawlab-head h2 { display:flex; align-items:center; gap:9px; margin:0 0 6px; color:inherit; font-size:25px; line-height:1.3; overflow-wrap:anywhere; }
.pp-drawlab-head p { margin:0; color:#cfddd7; font-size:12px; line-height:1.5; }
.pp-drawlab-metrics { display:flex; flex:none; gap:8px; }
.pp-drawlab-metrics span { display:grid; gap:3px; min-width:105px; padding:9px 12px; border:1px solid #527068; border-radius:10px; color:#cfddd7; font-size:10px; }
.pp-drawlab-metrics strong { color:#fff; font-size:17px; font-variant-numeric:tabular-nums; }
.pp-drawlab-note { margin:0; padding:13px 27px 16px; border-top:1px solid var(--draw-line); color:var(--draw-muted); font-size:11px; line-height:1.6; }
.pp-simulator-keybox .pp-skeleton,.pp-simulator-game .pp-skeleton { display:grid; place-items:center; min-height:320px; border:1px solid var(--draw-line,#dce8e4); border-radius:18px; background:#f5f8f5; color:#52696b; }
.pp-drawlab-loading { display:grid; align-content:start; gap:14px; min-height:240px; padding:28px; background:#fff; }
.pp-drawlab-loading span { display:block; height:18px; background:#eef0f2; animation:pp-pulse 1.2s ease-in-out infinite; }
.pp-drawlab-loading span:first-child { width:45%; height:26px; }
.pp-drawlab-loading span:nth-child(2) { width:72%; }
.pp-drawlab-loading span:last-child { width:58%; }
.pp-drawlab-keybox { --draw-ink:#202124; --draw-muted:#60656f; --draw-line:#dce2e8; --draw-surface:#fff; --draw-selected:#f5f6f8; --draw-check-ink:#fff; --draw-primary-hover:#35373d; border-radius:0; background:var(--draw-surface); color:var(--draw-ink); box-shadow:none; }
.pp-drawlab-keybox,.pp-drawlab-keybox * { border-radius:0!important; }
.pp-drawlab-keybox :focus-visible { outline-color:var(--draw-ink); }
.pp-drawlab-keybox .pp-drawlab-head { align-items:center; padding:21px 25px; background:#202124; color:#fff; }
.pp-drawlab-keybox .pp-drawlab-head p { color:#c7c9cf; }
.pp-keybox-title-row { display:flex; flex:1; align-items:flex-start; justify-content:space-between; gap:16px; min-width:0; }
.pp-keybox-title-row>div { min-width:0; }
.paid-products .pp-keybox-reset { flex:none; min-height:34px; padding:0 10px; border:1px solid #858892; background:transparent; color:#f2f3f5; font-size:11px; font-weight:700; white-space:nowrap; cursor:pointer; }
.paid-products .pp-keybox-reset:hover:not(:disabled) { border-color:#fff; background:#3a3c43; }
.paid-products .pp-keybox-reset:disabled { opacity:.45; cursor:default; }
.pp-drawlab-keybox .pp-drawlab-metrics { gap:0; }
.pp-drawlab-keybox .pp-drawlab-metrics span { min-width:105px; padding:3px 14px; border:0; border-left:1px solid #55575e; color:#c7c9cf; }
.pp-drawlab-keybox .pp-drawlab-metrics strong { color:#fff; }
.pp-drawlab-keybox .pp-drawlab-metrics .pp-keybox-latest { min-width:165px; max-width:200px; }
.pp-keybox-latest small { display:block; min-width:0; overflow:hidden; color:#c7c9cf; font-size:10px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.pp-drawlab-keybox .pp-drawlab-note { background:var(--draw-surface); }
.pp-inline-play:not(.is-game) .pp-inline-list-link { color:#34363d; text-decoration:underline; text-underline-offset:2px; }
.paid-products .pp-inline-play:not(.is-game) .pp-inline-event-picker button { border-color:#dce2e8; border-radius:0; color:#202124; }
.paid-products .pp-inline-play:not(.is-game) .pp-inline-event-picker button[aria-pressed="true"] { border-color:#202124; background:#202124; color:#fff; }
.pp-keybox-panel { display:grid; grid-template-columns:minmax(210px,.72fr) minmax(0,1.45fr); gap:0; padding:0; }
.pp-keybox-overview,.pp-keybox-main { min-width:0; border:0; background:var(--draw-surface); }
.pp-keybox-overview { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; border-right:1px solid var(--draw-line); text-align:center; }
.pp-keybox-box-art { display:grid; place-items:center; width:100%; min-height:185px; }
.pp-keybox-box-art img { width:165px; height:165px; max-width:100%; object-fit:contain; }
.pp-keybox-overview h3 { margin:7px 0 3px; font-size:17px; line-height:1.4; }
.pp-keybox-overview p { margin:0 0 15px; color:var(--draw-muted); font-size:12px; }
.pp-keybox-overview>a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:0 13px; border:1px solid var(--draw-ink); color:var(--draw-ink); font-size:12px; font-weight:700; }
.pp-keybox-overview>a:hover { background:var(--draw-selected); }
.pp-keybox-main { padding:24px; }
.pp-keybox-tier-head,.pp-game-board-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:13px; }
.pp-keybox-tier-head h3,.pp-game-board-head h3 { margin:0; font-size:17px; }
.pp-keybox-tier-head>span,.pp-game-board-head>span { color:var(--draw-muted); font-size:11px; text-align:right; }
.pp-keybox-tiers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--draw-line); }
.pp-keybox-tier { display:flex; align-items:center; gap:9px; min-width:0; min-height:55px; padding:8px 9px; border-bottom:1px solid var(--draw-line); background:var(--draw-surface); }
.pp-keybox-tier:nth-child(odd) { border-right:1px solid var(--draw-line); }
.pp-keybox-tier-art { display:grid; place-items:center; width:34px; height:38px; flex:none; }
.pp-keybox-tier-art .pp-key-art.is-compact { width:34px; height:38px; box-shadow:none; }
.pp-keybox-tier>span:nth-child(2) { display:grid; gap:2px; min-width:0; }
.pp-keybox-tier strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.pp-keybox-tier small { color:var(--draw-muted); font-size:10px; }
.pp-keybox-tier>b { margin-left:auto; color:var(--draw-ink); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pp-keybox-mode { display:flex; flex-wrap:wrap; gap:10px 22px; min-width:0; margin:18px 0 0; padding:16px 0 0; border:0; border-top:1px solid var(--draw-line); }
.pp-keybox-mode legend { padding:0; font-size:13px; font-weight:800; }
.pp-keybox-mode label { display:inline-flex; align-items:center; gap:7px; min-height:30px; color:var(--draw-ink); font-size:12px; font-weight:700; cursor:pointer; }
.pp-keybox-mode input { appearance:none; display:grid; place-items:center; width:16px; height:16px; margin:0; border:1px solid #777b83; background:var(--draw-surface); cursor:pointer; }
.pp-keybox-mode input:checked { border-color:var(--draw-ink); background:var(--draw-ink); }
.pp-keybox-mode input:checked::after { content:'✓'; color:var(--draw-check-ink); font-size:12px; line-height:1; }
.pp-keybox-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.paid-products .pp-keybox-action { display:flex; align-items:center; justify-content:center; width:100%; min-height:43px; padding:8px 10px!important; border:1px solid var(--draw-ink); background:var(--draw-surface); color:var(--draw-ink); font-size:12px!important; font-weight:800; text-align:center; transition:background 150ms ease; }
.paid-products .pp-keybox-action.is-primary { background:var(--draw-ink); color:var(--draw-check-ink); }
.paid-products .pp-keybox-action:hover:not(:disabled) { background:var(--draw-selected); }
.paid-products .pp-keybox-action.is-primary:hover:not(:disabled) { background:var(--draw-primary-hover); }
.pp-keybox-action:disabled { opacity:.6; cursor:wait; }
.pp-keybox-progress { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 0; color:var(--draw-muted); font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; }
.paid-products .pp-keybox-progress button { min-height:32px; padding:4px 9px; border:1px solid var(--draw-ink); background:var(--draw-surface); color:var(--draw-ink); font-size:11px; font-weight:800; }
.pp-inline-play.is-game .pp-inline-list-link { color:#34363d; text-decoration:underline; text-underline-offset:2px; }
.paid-products .pp-inline-play.is-game .pp-inline-event-picker button { border-color:#dce2e8; border-radius:0; color:#202124; }
.paid-products .pp-inline-play.is-game .pp-inline-event-picker button[aria-pressed="true"] { border-color:#202124; background:#202124; color:#fff; }
.pp-drawlab-game { --draw-ink:#202124; --draw-muted:#60656f; --draw-line:#dce2e8; --draw-surface:#fff; --draw-selected:#f5f6f8; --draw-check-ink:#fff; border-radius:0; background:var(--draw-surface); color:var(--draw-ink); box-shadow:none; }
.pp-drawlab-game .pp-drawlab-head { align-items:center; padding:21px 25px; border-bottom:0; background:#202124; color:#fff; }
.pp-drawlab-game .pp-drawlab-head p { color:#c7c9cf; }
.pp-drawlab-game .pp-drawlab-metrics { gap:0; }
.pp-drawlab-game .pp-drawlab-metrics>span { min-width:105px; padding:3px 14px; border:0; border-left:1px solid #55575e; border-radius:0; color:#c7c9cf; }
.pp-drawlab-game .pp-drawlab-metrics>span>strong { color:#fff; font-size:18px; }
.pp-drawlab-game .pp-game-head-result { display:none; }
.pp-game-layout { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.25fr); align-items:start; gap:0; }
.pp-game-side { display:grid; align-content:start; min-width:0; padding:0 22px; background:var(--draw-surface); }
.pp-game-mode { min-width:0; padding:20px 0; border-bottom:1px solid var(--draw-line); }
.pp-game-mode-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:10px; }
.pp-game-mode-head h3 { margin:0; font-size:16px; }
.pp-game-mode-head span { color:var(--draw-muted); font-size:11px; }
.pp-game-mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pp-game-mode-option { display:grid; grid-template-columns:16px 48px minmax(0,1fr); align-items:center; gap:7px; min-width:0; min-height:79px; padding:8px; border:1px solid var(--draw-line); cursor:pointer; }
.pp-game-mode-option:hover,.pp-game-mode-option.is-selected { border-color:var(--draw-ink); background:var(--draw-selected); }
.pp-game-mode-option input { appearance:none; display:grid; place-items:center; width:16px; height:16px; margin:0; border:1px solid #777b83; background:var(--draw-surface); cursor:pointer; }
.pp-game-mode-option input:checked { border-color:var(--draw-ink); background:var(--draw-ink); }
.pp-game-mode-option input:checked::after { content:'✓'; color:var(--draw-check-ink); font-size:12px; line-height:1; }
.pp-game-mode-art { display:grid; place-items:center; width:48px; height:58px; }
.pp-game-mode-art img { max-width:48px; max-height:58px; object-fit:contain; }
.pp-game-mode-copy { display:grid; gap:3px; min-width:0; }
.pp-game-mode-copy strong { font-size:11px; line-height:1.3; }
.pp-game-mode-copy small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:var(--draw-muted); font-size:10px; line-height:1.25; overflow-wrap:anywhere; }
.pp-game-mode-note { margin:9px 0 0; color:var(--draw-muted); font-size:10px; line-height:1.5; }
.pp-game-summary,.pp-game-choice,.pp-game-reward,.pp-game-tickets { min-width:0; padding:20px 0; border:0; border-bottom:1px solid var(--draw-line); border-radius:0; background:var(--draw-surface); }
.pp-game-outcome { position:relative; box-sizing:border-box; height:152px; min-width:0; padding:17px 0; overflow:auto; border-bottom:1px solid var(--draw-line); background:var(--draw-surface); }
.pp-game-outcome[hidden] { display:none; }
.pp-game-outcome .pp-game-choice,.pp-game-outcome .pp-game-reward { padding:0; border:0; }
.pp-game-result-empty h3 { margin:0; font-size:16px; }
.pp-game-result-empty p { margin:8px 0 0; color:var(--draw-muted); font-size:11px; }
.pp-game-outcome-loading { position:absolute; top:18px; right:0; padding-left:12px; background:var(--draw-surface); color:var(--draw-muted); font-size:11px; }
.pp-game-outcome-loading[hidden] { display:none; }
.pp-game-side>section:last-child { border-bottom:0; }
.pp-game-summary-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.pp-game-summary h3,.pp-game-choice h3,.pp-game-reward h3 { margin:0; font-size:16px; line-height:1.4; }
.pp-game-summary p,.pp-game-choice p { margin:7px 0 13px; color:var(--draw-muted); font-size:11px; line-height:1.5; }
.paid-products .pp-game-reset { min-height:34px; padding:0 11px; border:1px solid #858892; border-radius:0; background:transparent; color:#f2f3f5; font-size:11px; font-weight:700; white-space:nowrap; cursor:pointer; }
.paid-products .pp-game-reset:hover { border-color:#fff; background:#3a3c43; color:#fff; }
.paid-products .pp-game-reset:disabled { opacity:.55; cursor:wait; }
.pp-game-odds { width:100%; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.pp-game-odds thead { border-top:1px solid var(--draw-line); border-bottom:1px solid var(--draw-line); }
.pp-game-odds th,.pp-game-odds td { padding:7px 3px; text-align:left; }
.pp-game-odds thead th { color:var(--draw-muted); font-size:10px; font-weight:600; }
.pp-game-odds th:not(:first-child),.pp-game-odds td:not(:first-child) { text-align:right; }
.pp-game-odds tbody tr+tr { border-top:1px solid var(--draw-line); }
.pp-game-odds tbody th { font-weight:800; }
.pp-game-odds tbody td:last-child { font-weight:700; }
.pp-drawlab-game .grade-sss { --pp-grade-color:#e04c83; }
.pp-drawlab-game .grade-ss { --pp-grade-color:#6343f8; }
.pp-drawlab-game .grade-s { --pp-grade-color:#5590f4; }
.pp-drawlab-game .grade-a { --pp-grade-color:#56ac40; }
.pp-drawlab-game .grade-b { --pp-grade-color:#db7d2e; }
.pp-drawlab-game .grade-c { --pp-grade-color:#686868; }
.pp-game-odds .pp-game-odd th,.pp-game-grade { color:var(--pp-grade-color,var(--draw-ink)); }
.pp-game-hit { color:var(--draw-ink); }
.pp-game-tickets-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:9px; }
.pp-game-tickets-head h3 { margin:0; font-size:15px; }
.pp-game-tickets-head span,.pp-game-ticket-empty { color:var(--draw-muted); font-size:11px; }
.pp-game-ticket-empty { margin:0; }
.pp-game-ticket-list { border-top:1px solid var(--draw-line); }
.pp-game-ticket { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; min-width:0; padding:7px 2px; border-bottom:1px solid var(--draw-line); }
.paid-products a.pp-game-ticket { color:inherit; text-decoration:none; transition:background 150ms ease; }
.paid-products a.pp-game-ticket:hover,.paid-products a.pp-game-ticket:focus-visible { background:var(--draw-selected); }
.pp-game-ticket-art { display:grid; place-items:center; width:30px; height:38px; }
.pp-game-ticket-art img { max-width:30px; max-height:38px; object-fit:contain; }
.pp-game-ticket-copy,.pp-game-ticket-value { display:grid; align-content:center; gap:2px; min-width:0; }
.pp-game-ticket-copy strong { font-size:11px; line-height:1.3; overflow-wrap:anywhere; }
.pp-game-ticket-copy span { font-size:11px; font-weight:700; }
.pp-game-ticket-copy small { color:var(--draw-muted); font-size:10px; line-height:1.3; overflow-wrap:anywhere; }
.pp-game-ticket-value { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pp-game-ticket-value strong { color:var(--draw-ink); font-size:13px; }
.pp-game-ticket-value span,.pp-game-ticket-value small { color:var(--draw-muted); font-size:10px; }
.pp-game-hit { display:inline-block; padding:0; }
.pp-game-options { display:grid; gap:6px; }
.paid-products .pp-game-options button { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; min-height:43px; padding:8px 11px; border:1px solid var(--draw-line); border-radius:0; background:var(--draw-surface); color:var(--draw-ink); font-size:12px; font-weight:700; text-align:left; overflow-wrap:anywhere; }
.pp-game-options img { width:32px; height:40px; object-fit:contain; }
.pp-game-options button>span:nth-child(2) { flex:1; }
.paid-products .pp-game-options button:hover:not(:disabled) { border-color:var(--draw-ink); background:var(--draw-selected); }
.paid-products .pp-game-options button:disabled { opacity:.6; }
.pp-game-reward-rows { display:grid; gap:5px; margin-top:10px; }
.pp-game-reward-rows>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 9px; padding:8px 0; border-top:1px solid var(--draw-line); font-size:11px; }
.pp-game-reward-rows strong { min-width:0; overflow-wrap:anywhere; }
.pp-game-reward-rows span { margin-left:auto; font-weight:800; }
.pp-game-reward-rows small { width:100%; color:var(--draw-muted); }
.pp-game-reward-rows .pp-game-player-title { flex:1 1 160px; }
.pp-game-board-area { min-width:0; padding:22px; border:0; border-radius:0; background:#26272c; color:#fff; }
.pp-game-board-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #51525a; }
.pp-game-board-head h3 { margin:0; color:#fff; font-size:17px; }
.pp-game-board-actions { display:flex; align-items:center; gap:12px; }
.pp-game-board-actions>span { color:#c2c4ca; font-size:11px; white-space:nowrap; }
.pp-game-board { display:grid; grid-template-columns:repeat(var(--pp-game-cols,7),minmax(0,1fr)); gap:4px; }
.paid-products .pp-game-tile { position:relative; display:grid; place-items:center; aspect-ratio:1; min-width:0; min-height:0; padding:0; border:1px solid #5e6068; border-radius:0; background:#35373e; color:#f2f3f5; font-size:28px; font-weight:800; font-variant-numeric:tabular-nums; transition:background 150ms ease,border-color 150ms ease; }
.paid-products .pp-game-tile:not(:disabled):hover { border-color:#fff; background:#4a4d55; }
.paid-products .pp-game-tile.is-opened { border-color:var(--pp-grade-color,#f1f2f4); background:var(--pp-grade-color,#f1f2f4); color:#fff; }
.pp-game-board-note { margin:14px 0 0; color:#c2c4ca; font-size:11px; line-height:1.5; }
.pp-game-dialog-backdrop { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.56); }
.pp-game-dialog { width:min(720px,100%); max-height:calc(100dvh - 32px); overflow:auto; background:var(--draw-surface); color:var(--draw-ink); box-shadow:0 18px 54px rgba(0,0,0,.25); }
.pp-game-dialog header { display:flex; align-items:center; justify-content:space-between; min-height:60px; padding:0 18px; border-bottom:1px solid var(--draw-line); }
.pp-game-dialog header h3 { margin:0; font-size:18px; }
.paid-products .pp-game-dialog header button { min-width:44px; min-height:44px; padding:0; border:0; background:transparent; color:var(--draw-ink); font-size:25px; font-weight:400; }
.pp-game-dialog>p { margin:0; padding:13px 18px; color:var(--draw-muted); font-size:12px; }
.pp-game-dialog-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--draw-line); }
.paid-products .pp-game-dialog-options button { display:grid; justify-items:center; align-content:start; gap:9px; min-width:0; min-height:260px; padding:22px 20px; border:0; background:var(--draw-surface); color:var(--draw-ink); text-align:center; cursor:pointer; }
.paid-products .pp-game-dialog-options button+button { border-left:1px solid var(--draw-line); }
.paid-products .pp-game-dialog-options button:hover,.paid-products .pp-game-dialog-options button:focus-visible { background:var(--draw-selected); }
.pp-game-dialog-art { display:grid; place-items:center; width:116px; height:112px; }
.pp-game-dialog-art img { max-width:116px; max-height:112px; object-fit:contain; }
.pp-game-dialog-options strong { font-size:15px; }
.pp-game-dialog-options small { min-height:34px; color:var(--draw-muted); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.pp-game-dialog-select { display:grid; place-items:center; width:136px; min-height:40px; margin-top:auto; background:var(--draw-ink); color:var(--draw-check-ink); font-size:12px; font-weight:800; }
.pp-game-dialog .pp-game-dialog-note { padding:13px 18px; border-top:1px solid var(--draw-line); }
:root[data-theme='dark'] .pp-drawlab-game,
:root[data-theme='dark'] .pp-drawlab-keybox { --draw-ink:var(--ui-ink); --draw-muted:var(--ui-muted); --draw-line:var(--ui-line); --draw-surface:var(--ui-surface); --draw-selected:var(--ui-surface-subtle); --draw-check-ink:var(--ui-on-accent); --draw-primary-hover:#d9dade; }
:root[data-theme='dark'] .paid-products .pp-inline-play:not(.is-game) .pp-inline-list-link { color:var(--ui-ink); }
:root[data-theme='dark'] .paid-products .pp-inline-play:not(.is-game) .pp-inline-event-picker button { border-color:var(--ui-line); background:var(--ui-surface); color:var(--ui-ink); }
:root[data-theme='dark'] .paid-products .pp-inline-play:not(.is-game) .pp-inline-event-picker button[aria-pressed='true'] { border-color:var(--ui-ink); background:var(--ui-ink); color:var(--ui-on-accent); }
:root[data-theme='dark'] .paid-products .pp-inline-play.is-game .pp-inline-list-link { color:var(--ui-ink); }
:root[data-theme='dark'] .paid-products .pp-inline-play.is-game .pp-inline-event-picker button { border-color:var(--ui-line); background:var(--ui-surface); color:var(--ui-ink); }
:root[data-theme='dark'] .paid-products .pp-inline-play.is-game .pp-inline-event-picker button[aria-pressed='true'] { border-color:var(--ui-ink); background:var(--ui-ink); color:var(--ui-on-accent); }
:root[data-theme='dark'] .pp-simulator-game .pp-skeleton,
:root[data-theme='dark'] .pp-simulator-keybox .pp-skeleton,
:root[data-theme='dark'] .pp-simulator-game .pp-drawlab-loading,
:root[data-theme='dark'] .pp-simulator-keybox .pp-drawlab-loading { border-color:var(--ui-line); background:var(--ui-surface); color:var(--ui-muted); }
:root[data-theme='dark'] .pp-simulator-game .pp-drawlab-loading span,
:root[data-theme='dark'] .pp-simulator-keybox .pp-drawlab-loading span { background:var(--ui-surface-subtle); }
@media(max-width:1050px) { .pp-game-layout { grid-template-columns:1fr; } .pp-game-board-area { grid-row:1; } }
@media(max-width:767px) { .pp-drawlab { border-radius:12px; } .pp-drawlab-head { display:block; padding:18px 16px; } .pp-drawlab-head h2 { font-size:20px; } .pp-drawlab-metrics { margin-top:14px; } .pp-drawlab-metrics span { flex:1; min-width:0; } .pp-keybox-panel,.pp-game-layout { grid-template-columns:1fr; gap:10px; padding:10px; } .pp-keybox-overview { display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; gap:2px 12px; padding:12px; text-align:left; } .pp-keybox-box-art { grid-row:1 / span 3; min-height:100px; } .pp-keybox-box-art img { width:95px; height:95px; } .pp-keybox-overview h3 { margin:0; font-size:14px; } .pp-keybox-overview p { margin:0; } .pp-keybox-overview>a { justify-self:start; } .pp-keybox-main,.pp-game-summary,.pp-game-choice,.pp-game-reward,.pp-game-board-area { padding:13px; } .pp-keybox-tier { gap:5px; padding:5px; } .pp-keybox-tier-art { width:27px; } .pp-keybox-tier-art .pp-key-art.is-compact { width:27px; height:33px; } .pp-keybox-tier strong { font-size:10px; } .pp-keybox-tier b { font-size:10px; } .pp-keybox-actions { gap:9px; } .pp-drawlab-note { padding:12px 15px; } .pp-game-board-area { grid-row:1; } .pp-game-board { gap:3px; } .paid-products .pp-game-tile { border-radius:5px; font-size:15px; } .pp-game-tile small { top:2px; left:3px; font-size:7px; } }
@media(max-width:375px) { .pp-keybox-tiers,.pp-keybox-actions { grid-template-columns:1fr; } .pp-keybox-tier { min-height:40px; } }
@media(max-width:767px) {
  html:has(.pp-drawlab-game),html:has(.pp-drawlab-keybox),
  body.user-service:has(.pp-drawlab-game),body.user-service:has(.pp-drawlab-keybox) { overflow-x:clip; }
  .pp-drawlab-game { overflow:visible; border-radius:0; }
  .pp-drawlab-game .pp-drawlab-head { position:sticky; top:64px; z-index:20; display:block; padding:17px 16px; }
  .pp-drawlab-game .pp-drawlab-head h2 { font-size:20px; }
  .pp-drawlab-game .pp-drawlab-metrics { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.6fr); height:60px; margin-top:15px; }
  .pp-drawlab-game .pp-drawlab-metrics>span { align-content:center; min-width:0; padding:0 8px; }
  .pp-drawlab-game .pp-drawlab-metrics>span:first-child { padding-left:0; border-left:0; }
  .pp-drawlab-game .pp-drawlab-metrics .pp-game-head-result { display:grid; align-content:center; gap:3px; min-width:0; }
  .pp-game-head-result small { color:#c7c9cf; font-size:10px; line-height:1; }
  .pp-drawlab-game .pp-drawlab-metrics .pp-game-head-result>strong { color:#fff; font-size:11px; }
  .pp-game-head-result-main { display:flex; align-items:center; gap:4px; min-width:0; }
  .pp-game-head-grade { flex:none; padding:2px 4px; background:var(--pp-grade-color,#686868); color:#fff; font-size:10px; line-height:1.3; }
  .pp-game-head-season { width:15px; height:15px; flex:none; object-fit:contain; }
  .pp-drawlab-game .pp-drawlab-metrics .pp-game-head-result-main strong { min-width:0; overflow:hidden; color:#fff; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
  .paid-products .pp-game-head-manual { min-width:0; padding:0; overflow:hidden; border:0; background:transparent; color:#fff; font-size:11px; font-weight:700; text-align:left; text-decoration:underline; text-overflow:ellipsis; white-space:nowrap; }
  .pp-game-head-result-detail { display:flex; align-items:center; gap:4px; min-width:0; }
  .pp-game-head-result-detail .strength-badge { display:inline-flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; min-width:20px; height:13px; margin:0; padding:0; border:0; font-size:10px; line-height:1; transform:none; }
  .pp-game-head-result em { overflow:hidden; color:#c7c9cf; font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
  .pp-drawlab-game .pp-game-layout { gap:0; padding:0; }
  .pp-drawlab-game .pp-game-board-area { grid-row:1; padding:14px; }
  .pp-drawlab-game .pp-game-side { padding:0 14px; }
  .pp-drawlab-game .pp-game-mode,.pp-drawlab-game .pp-game-summary,.pp-drawlab-game .pp-game-choice,.pp-drawlab-game .pp-game-reward,.pp-drawlab-game .pp-game-tickets { padding:16px 0; }
  .paid-products .pp-drawlab-game .pp-game-tile { border-radius:0; }
  .paid-products .pp-drawlab-game .pp-game-tile { font-size:18px; }
  .pp-game-mode-option { grid-template-columns:16px 42px minmax(0,1fr); padding:6px; gap:5px; }
  .pp-game-mode-art { width:42px; height:50px; }
  .pp-game-mode-art img { max-width:42px; max-height:50px; }
  .pp-game-dialog-options { grid-template-columns:1fr; }
  .paid-products .pp-game-dialog-options button { min-height:175px; padding:15px; }
  .paid-products .pp-game-dialog-options button+button { border-left:0; border-top:1px solid var(--draw-line); }
  .paid-products .pp-game-reset { min-height:44px; }
  .pp-game-dialog-art { width:76px; height:70px; }
  .pp-game-dialog-art img { max-width:76px; max-height:70px; }
  .pp-drawlab-keybox { overflow:visible; border-radius:0; }
  .pp-drawlab-keybox .pp-drawlab-head { position:sticky; top:64px; z-index:20; padding:17px 16px; }
  .paid-products .pp-keybox-reset { min-height:44px; }
  .pp-drawlab-keybox .pp-drawlab-metrics { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.6fr); height:60px; margin-top:15px; }
  .pp-drawlab-keybox .pp-drawlab-metrics span { align-content:center; min-width:0; padding:0 8px; }
  .pp-drawlab-keybox .pp-drawlab-metrics span:first-child { padding-left:0; border-left:0; }
  .pp-drawlab-keybox .pp-drawlab-metrics .pp-keybox-latest { min-width:0; max-width:none; }
  .pp-drawlab-keybox .pp-drawlab-metrics .pp-keybox-latest strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
  .pp-drawlab-keybox .pp-keybox-panel { grid-template-columns:1fr; gap:0; padding:0; }
  .pp-drawlab-keybox .pp-keybox-overview { border-right:0; border-bottom:1px solid var(--draw-line); }
  .pp-drawlab-keybox .pp-keybox-main { padding:16px; }
  .pp-drawlab-keybox .pp-keybox-tiers,.pp-drawlab-keybox .pp-keybox-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pp-drawlab-keybox .pp-keybox-action[data-sim-play="100"] { grid-column:1/-1; }
}
@media(max-width:430px) {
  .pp-drawlab-game .pp-drawlab-metrics { grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,1.5fr); }
  .pp-drawlab-game .pp-drawlab-metrics>span { padding-inline:5px; }
  .pp-drawlab-game .pp-drawlab-metrics>span>strong { font-size:15px; white-space:nowrap; }
}
@media(max-width:375px) {
  .pp-drawlab-keybox .pp-keybox-tiers { grid-template-columns:1fr; }
  .pp-drawlab-keybox .pp-keybox-tier:nth-child(odd) { border-right:0; }
}
.pp-sim-head { margin-bottom:14px; }
.pp-sim-head h2 { display:flex; align-items:center; gap:7px; margin:3px 0 0; }
.pp-sim-route-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 10px; }
.paid-products .pp-sim-route-picker button { display:flex; align-items:center; gap:12px; min-width:0; min-height:80px; padding:8px 12px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); text-align:left; cursor:pointer; transition:border-color 160ms ease,background 160ms ease; }
.paid-products .pp-sim-route-picker button:hover,.paid-products .pp-sim-route-picker button.is-selected { border-color:var(--ui-ink,#202124); background:var(--ui-surface-subtle,#f5f7f9); }
.pp-sim-route-art { display:grid; place-items:center; width:54px; height:62px; flex:none; }
.pp-sim-route-art img { max-width:54px; max-height:62px; }
.pp-sim-route-picker button>span:last-child { display:grid; gap:4px; min-width:0; }
.pp-sim-route-picker strong { font-size:13px; line-height:1.3; overflow-wrap:anywhere; }
.pp-sim-route-picker small { color:var(--ui-muted,#64748b); font-size:11px; }
.pp-sim-stage { display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:22px; min-height:208px; padding:20px 26px; color:#fff; background:radial-gradient(circle at 16% 42%,rgba(176,194,255,.22),transparent 33%),#202124; }
.pp-sim-stage-art { display:grid; place-items:center; min-height:190px; }
.pp-sim-stage-art img { width:150px; height:188px; object-fit:contain; filter:drop-shadow(0 10px 16px rgba(0,0,0,.2)); }
.pp-sim-stage-content { display:grid; align-content:center; gap:10px; min-width:0; }
.pp-sim-kicker { color:#9fceea; font-size:11px; font-weight:700; letter-spacing:.02em; }
.pp-sim-stage h3 { margin:0; color:#fff; font-size:20px; line-height:1.35; }
.pp-sim-stage p { margin:0; color:#d7dce3; font-size:12px; overflow-wrap:anywhere; }
.pp-sim-play-buttons { display:flex; align-items:stretch; flex-wrap:wrap; gap:8px; margin-top:6px; }
.paid-products .pp-sim-play-buttons button { display:grid; align-content:center; justify-items:start; gap:2px; min-width:118px; min-height:58px; padding:8px 15px; border:1px solid rgba(255,255,255,.45); background:transparent; color:#fff; text-align:left; cursor:pointer; transition:background 160ms ease,transform 160ms ease; }
.pp-sim-play-buttons button strong { font-size:13px; }
.pp-sim-play-buttons button small { color:#c3cad4; font-size:10px; }
.paid-products .pp-sim-play-buttons button.is-primary { border-color:#fff; background:#fff; color:#202124; }
.pp-sim-play-buttons button.is-primary small { color:#596472; }
.paid-products .pp-sim-play-buttons button:hover:not(:disabled) { transform:translateY(-2px); background:rgba(255,255,255,.14); }
.paid-products .pp-sim-play-buttons button.is-primary:hover:not(:disabled) { background:#eaf0f6; }
.paid-products .pp-sim-play-buttons button:disabled { opacity:.65; cursor:wait; }
.pp-sim-custom { position:relative; display:block; min-width:0; height:58px; }
.pp-sim-custom>span:first-child { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pp-sim-custom-row { display:flex; align-items:stretch; height:100%; }
.pp-sim-custom input { width:100px; min-width:0; padding:0 10px; border:1px solid rgba(255,255,255,.48); border-right:0; border-radius:0; appearance:textfield; background:rgba(255,255,255,.1); color:#fff; font-size:14px; }
.pp-sim-custom input::-webkit-inner-spin-button,.pp-sim-custom input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.pp-sim-custom input::placeholder { color:#aeb8c5; }
.pp-sim-skip-opening { display:inline-flex; align-items:center; gap:7px; min-height:32px; margin-top:2px; color:#d7dce3; font-size:12px; cursor:pointer; }
.pp-sim-skip-opening input { width:16px; height:16px; margin:0; accent-color:#fff; cursor:pointer; }
.pp-sim-skip-opening input:disabled { cursor:wait; }
.paid-products .pp-sim-custom button { flex:0 0 auto; min-width:60px; min-height:58px; padding:0 13px; border:1px solid rgba(255,255,255,.48); background:transparent; color:#fff; font-size:12px; font-weight:700; white-space:nowrap; cursor:pointer; }
.paid-products .pp-sim-custom button:hover:not(:disabled) { background:rgba(255,255,255,.14); }
.pp-sim-stage-wait { color:#fff!important; font-weight:700; }
.pp-sim-drawn { margin-top:14px; padding:18px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface-subtle,#f5f7f9); animation:pp-sim-reveal 320ms cubic-bezier(.2,.8,.2,1); }
.pp-sim-drawn-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:12px; }
.pp-sim-drawn-head h3 { margin:3px 0 0; font-size:17px; }
.pp-sim-drawn-head>span { color:var(--ui-muted,#64748b); font-size:11px; }
.pp-sim-step { color:var(--ui-muted,#64748b); font-size:11px; font-weight:700; }
.pp-sim-drawn-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pp-sim-drawn-card { display:flex; align-items:center; gap:12px; min-width:0; padding:10px 12px; background:var(--ui-surface,#fff); border:1px solid var(--ui-line,#dce2e8); }
.pp-sim-drawn-art { display:grid; place-items:center; width:48px; height:62px; flex:none; }
.pp-sim-drawn-art img { max-width:48px; max-height:62px; }
.pp-sim-drawn-copy { display:grid; gap:3px; min-width:0; }
.pp-sim-drawn-copy small { color:var(--ui-muted,#64748b); font-size:11px; }
.pp-sim-drawn-copy strong { font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
.pp-sim-drawn-copy>span { color:var(--ui-muted,#64748b); font-size:10px; overflow-wrap:anywhere; }
.paid-products .pp-sim-finish { display:block; width:100%; min-height:48px; margin-top:12px; border:1px solid #202124; background:#202124; color:#fff; font-weight:800; cursor:pointer; transition:background 160ms ease,transform 160ms ease; }
.paid-products .pp-sim-finish:hover { background:#343b45; transform:translateY(-2px); }
.pp-sim-drawn-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 12px; margin-bottom:14px; padding:0 0 12px; border-bottom:1px solid var(--ui-line,#dce2e8); font-size:11px; }
.pp-sim-drawn-summary>strong { flex:none; color:var(--ui-ink,#15212d); }
.pp-sim-drawn-summary>div { display:flex; flex-wrap:wrap; gap:5px 12px; min-width:0; color:var(--ui-muted,#64748b); }
.pp-sim-drawn-summary span { overflow-wrap:anywhere; }
.pp-sim-session { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-top:18px; padding:16px 18px; background:var(--ui-surface-subtle,#f5f7f9); color:var(--ui-muted,#64748b); font-size:12px; }
.pp-sim-average { display:grid; gap:2px; min-width:170px; padding-right:22px; border-right:1px solid var(--ui-line,#dce2e8); }
.pp-sim-average small { font-size:11px; }
.pp-sim-average strong { color:var(--ui-ink,#15212d); font-size:20px; font-variant-numeric:tabular-nums; }
.pp-sim-session-detail { display:flex; flex-wrap:wrap; gap:6px 18px; }
.pp-sim-session b { color:var(--ui-ink,#15212d); font-size:13px; }
.paid-products .pp-sim-session button { min-height:32px; margin-left:auto; padding:0 4px; border:0; background:transparent; color:var(--ui-muted,#64748b); text-decoration:underline; white-space:nowrap; cursor:pointer; }
.pp-sim-reveal { margin-top:20px; }
.pp-sim-reveal-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
.pp-sim-reveal-head h3 { margin:0; font-size:18px; }
.pp-sim-reveal-head span { color:var(--ui-muted,#64748b); font-size:12px; }
.pp-keybox-result-summary { margin:0 0 18px; border-top:1px solid var(--ui-line,#dce2e8); }
.pp-keybox-result-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:13px 0 7px; }
.pp-keybox-result-head h4 { margin:0; font-size:14px; }
.pp-keybox-result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); border-top:1px solid var(--ui-line,#dce2e8); }
.pp-keybox-result-tier { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; min-width:0; min-height:57px; padding:7px 9px 7px 0; border-bottom:1px solid var(--ui-line,#dce2e8); }
.pp-keybox-result-art { display:grid; place-items:center; width:28px; height:34px; }
.pp-keybox-result-art .pp-key-art.is-compact { width:28px; height:34px; box-shadow:none; }
.pp-keybox-result-copy { display:grid; gap:2px; min-width:0; }
.pp-keybox-result-copy strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.pp-keybox-result-copy small { color:var(--ui-muted,#64748b); font-size:10px; }
.pp-keybox-result-tier>b { font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pp-sim-result-layout { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:8px; }
.pp-sim-result-layout.is-solo { grid-template-columns:minmax(0,1fr); }
.pp-sim-result-layout .pp-sim-spotlight { grid-column:span 2; grid-row:span 2; align-self:start; }
.pp-sim-result-layout.is-many .pp-sim-spotlight { grid-row:span 3; }
.pp-sim-result-layout.is-solo .pp-sim-spotlight { grid-column:auto; grid-row:auto; }
.pp-sim-result-list-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:8px; font-size:12px; }
.pp-sim-result-list-head span { color:var(--ui-muted,#64748b); }
.pp-sim-spotlight { display:grid; grid-template-columns:190px minmax(0,230px); align-items:center; justify-content:center; gap:18px; min-height:204px; padding:14px 22px; background:var(--ui-surface-subtle,#f5f7f9); animation:pp-sim-reveal 320ms cubic-bezier(.2,.8,.2,1); }
.pp-sim-spotlight-art { display:grid; place-items:center; width:190px; height:216px; }
.pp-sim-spotlight-art [data-compact-season-card] { width:180px; height:212px; }
.pp-sim-spotlight-art .pp-detailed-card-host { width:180px; }
.pp-sim-spotlight-art>img { width:180px; height:212px; }
.pp-sim-spotlight .pp-detailed-card-host .pp-salary-badge>span { transform:translateY(1px); }
.pp-sim-spotlight-copy { display:grid; justify-items:start; gap:8px; min-width:0; }
.pp-sim-spotlight .pp-sim-kicker { color:var(--ui-muted,#64748b); }
.pp-sim-spotlight-copy>strong { font-size:22px; overflow-wrap:anywhere; }
.pp-sim-player-badges { display:flex; align-items:center; gap:6px; font-size:12px; }
.pp-sim-player-badges img { width:24px; height:16px; }
.pp-sim-player-badges .strength-badge { display:inline-flex; align-items:center; justify-content:center; width:23px; height:14px; margin:0; transform:none; }
.pp-sim-spotlight-value { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; }
.pp-sim-spotlight-value>b { font-size:23px; font-variant-numeric:tabular-nums; }
.pp-sim-pack-rank { display:inline-flex; align-items:center; min-height:25px; padding:3px 8px; border:1px solid #b8ccdf; background:#e8f1f9; color:#24435f; font-size:12px; font-weight:800; line-height:1.25; white-space:nowrap; }
.pp-sim-spotlight-copy>small { color:var(--ui-muted,#64748b); font-size:11px; overflow-wrap:anywhere; }
.pp-sim-spotlight-copy>a { display:inline-flex; align-items:center; min-height:32px; font-size:12px; text-decoration:underline!important; }
.pp-sim-spotlight-simple { grid-template-columns:120px minmax(0,230px); }
.pp-sim-spotlight-simple>div { display:grid; gap:10px; }
.pp-sim-spotlight-simple strong { font-size:22px; }
.pp-sim-spotlight-simple small { color:var(--ui-muted,#64748b); }
.pp-sim-spotlight-simple .pp-sim-spotlight-art { width:120px; height:190px; }
.pp-sim-spotlight-symbol { display:grid; place-items:center; width:92px; height:112px; border:2px solid #202124; color:#202124; font-size:25px; font-weight:800; }
.pp-bp-card-art { position:relative; display:block; height:178px; aspect-ratio:210 / 336; flex:none; }
.pp-bp-card-art>img { width:100%; height:100%; max-width:none; object-fit:fill; }
.pp-bp-card-amount { position:absolute; right:5%; bottom:8%; color:#fff; font-size:14px; font-weight:800; line-height:1; letter-spacing:-.04em; white-space:nowrap; }
.pp-bp-card-art.is-long .pp-bp-card-amount { font-size:11px; }
.pp-sim-results-grid { display:contents; }
.paid-products .pp-sim-result-tile { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:10px; min-width:0; min-height:70px; padding:8px 10px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); text-align:left; cursor:pointer; transition:border-color 160ms ease,background 160ms ease; }
.paid-products .pp-sim-result-tile:hover,.paid-products .pp-sim-result-tile:focus-visible { border-color:var(--ui-ink,#202124); background:var(--ui-surface-subtle,#f5f7f9); }
.pp-sim-result-thumb { position:relative; display:grid; place-items:center; width:44px; height:54px; background:var(--ui-surface-subtle,#f5f7f9); }
.pp-sim-result-thumb>img { width:44px; height:46px; object-fit:contain; }
.pp-sim-result-thumb .pp-detailed-card-host { width:43px; }
.pp-sim-result-thumb .pp-bp-card-art { height:46px; }
.pp-sim-result-thumb .pp-bp-card-art>img { width:100%; height:100%; object-fit:fill; }
.pp-sim-result-thumb .pp-bp-card-amount { font-size:4px; }
.pp-sim-result-thumb .pp-bp-card-art.is-long .pp-bp-card-amount { font-size:3px; }
.pp-sim-result-thumb>span:not(.pp-detailed-card-host) { font-size:13px; font-weight:800; }
.pp-sim-result-copy { display:grid; gap:2px; min-width:0; }
.pp-sim-result-copy strong,.pp-sim-result-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pp-sim-result-copy strong { font-size:12px; }
.pp-sim-result-copy small { font-size:10px; color:var(--ui-muted,#64748b); }
.pp-sim-result-copy b { font-size:12px; }
@media(max-width:1199px) {
  .pp-sim-result-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
  .pp-sim-result-layout .pp-sim-spotlight,.pp-sim-result-layout.is-many .pp-sim-spotlight { grid-column:auto; grid-row:auto; }
  .pp-sim-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
}
@media(min-width:1500px) { .pp-sim-result-layout.is-many { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@keyframes pp-sim-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.pp-sim-cinematic { --pp-cinema-accent:#63d8d0; --pp-cinema-rays:rgba(99,216,208,.22); --pp-cinema-base:#090e19; --pp-cinema-glow:rgba(30,86,105,.32); position:fixed; inset:0; z-index:4000; display:flex; flex-direction:column; align-items:stretch; overflow-y:auto; overscroll-behavior:contain; color:#fff; background:var(--pp-cinema-base); isolation:isolate; }
.pp-sim-cinematic.tone-violet { --pp-cinema-accent:#b896ff; --pp-cinema-rays:rgba(184,150,255,.25); --pp-cinema-base:#0c0a19; --pp-cinema-glow:rgba(78,43,118,.42); }
.pp-sim-cinematic.tone-gold { --pp-cinema-accent:#f8d484; --pp-cinema-rays:rgba(248,212,132,.23); --pp-cinema-base:#120e11; --pp-cinema-glow:rgba(113,78,27,.36); }
.pp-sim-cinematic::before { content:""; position:fixed; inset:50% -20% -10%; z-index:0; background:linear-gradient(transparent 4%,rgba(255,255,255,.025) 100%),repeating-linear-gradient(90deg,transparent 0 12%,var(--pp-cinema-rays) 12.1% 12.25%,transparent 12.3% 25%); transform:perspective(440px) rotateX(66deg); transform-origin:center top; opacity:.6; pointer-events:none; }
.pp-sim-cinematic::after { content:""; position:fixed; inset:0; z-index:0; background:radial-gradient(ellipse at 50% 55%,var(--pp-cinema-glow),transparent 70%); pointer-events:none; }
.pp-sim-cinema-stage { position:relative; z-index:1; display:grid; place-items:center; flex:none; width:100%; height:100dvh; transition:height 560ms cubic-bezier(.22,1,.36,1); }
.pp-sim-cinematic.is-batch.is-revealed .pp-sim-cinema-stage { height:min(600px,62dvh); }
.pp-sim-cinema-backdrop { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.pp-sim-cinema-backdrop img { width:100%; height:100%; max-width:none; object-fit:fill; opacity:.64; filter:blur(10px) brightness(.82) saturate(1.2); transform:scale(1.85); }
.pp-sim-cinema-rays { position:fixed; top:50%; left:50%; z-index:0; width:140vmax; aspect-ratio:1; translate:-50% -50%; background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 12deg,var(--pp-cinema-rays) 12.3deg 12.8deg,transparent 13deg 24deg); mask-image:radial-gradient(circle,transparent 0 8%,#000 22%,transparent 68%); animation:pp-cinema-rays 2.7s ease-out both; pointer-events:none; }
.pp-sim-cinema-spotlights { position:fixed; inset:0; z-index:0; background:conic-gradient(from 196deg at 50% 85%,transparent 0 18deg,var(--pp-cinema-rays) 24deg,transparent 32deg 70deg,var(--pp-cinema-rays) 76deg,transparent 83deg); opacity:0; animation:pp-cinema-spotlights 2.7s ease-out both; pointer-events:none; }
.pp-sim-cinema-clues { position:absolute; top:13%; left:50%; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:25px; width:min(390px,80vw); transform:translateX(-50%); pointer-events:none; }
.pp-sim-cinema-clues>span { display:flex; align-items:center; gap:7px; min-width:0; padding:5px 9px; border:1px solid var(--pp-cinema-accent); background:rgba(7,12,22,.76); box-shadow:0 0 14px var(--pp-cinema-rays); color:#fff; font-size:12px; font-weight:800; }
.pp-sim-cinema-clue-season { animation:pp-cinema-clue 2.7s ease-out both; }
.pp-sim-cinema-clue-strength { animation:pp-cinema-clue 2.7s .15s ease-out both; }
.pp-sim-cinema-clue-season img { width:26px; height:18px; object-fit:contain; }
.pp-sim-cinema-clue-season b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pp-sim-cinema-pack,.pp-sim-cinema-card { position:absolute; display:grid; place-items:center; width:260px; height:330px; }
.pp-sim-cinema-pack { z-index:3; animation:pp-cinema-pack 2.7s cubic-bezier(.2,.8,.2,1) both; }
.pp-sim-cinema-pack img { width:210px; height:290px; object-fit:contain; filter:drop-shadow(0 18px 30px rgba(0,0,0,.55)); }
.pp-sim-cinema-card { z-index:3; animation:pp-cinema-card 2.7s cubic-bezier(.2,.8,.2,1) both; filter:drop-shadow(0 0 24px var(--pp-cinema-accent)); }
.pp-sim-cinema-card [data-compact-season-card] { width:230px; height:285px; }
.pp-sim-cinema-card .pp-detailed-card-host { width:230px; }
.pp-sim-cinema-card .pp-detailed-card-host .pp-card-back { transform:scale(1.14); transform-origin:center; }
.pp-sim-cinema-card .pp-detailed-card-host .pp-salary-badge svg { transform:scale(1.12); transform-origin:center; }
.pp-sim-cinema-card .pp-detailed-card-host .pp-salary-badge>span { transform:translateY(1px); }
@media(min-width:768px) { .pp-sim-cinematic.has-player .pp-sim-cinema-card .pp-detailed-card-host { width:253px; } }
.pp-sim-cinema-card .pp-bp-card-art { height:285px; }
.pp-sim-cinema-card .pp-bp-card-amount { font-size:23px; }
.pp-sim-cinema-card .pp-bp-card-art.is-long .pp-bp-card-amount { font-size:18px; }
.pp-sim-cinema-item { font-size:90px; font-weight:900; }
.pp-sim-cinema-caption { position:absolute; left:20px; right:20px; top:calc(50% + 145px); z-index:3; display:grid; justify-items:center; gap:4px; text-align:center; text-shadow:0 2px 12px #000; animation:pp-cinema-caption 2.7s ease-out both; }
.pp-sim-cinematic.has-player .pp-sim-cinema-caption { top:calc(50% + 180px); }
.pp-sim-cinema-caption span { color:var(--pp-cinema-accent); font-size:12px; font-weight:800; }
.pp-sim-cinema-caption strong { font-size:clamp(22px,4vw,36px); line-height:1.25; }
.pp-sim-cinema-caption b { font-size:18px; }
.pp-sim-cinema-result-value { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px 12px; }
.pp-sim-cinema-caption .pp-sim-pack-rank { border-color:var(--pp-cinema-accent); background:rgba(7,12,22,.72); color:#fff; text-shadow:none; }
.paid-products .pp-sim-cinema-skip { position:fixed; top:max(24px,env(safe-area-inset-top)); right:max(24px,env(safe-area-inset-right)); z-index:4; min-height:44px; border:1px solid rgba(255,255,255,.65); background:rgba(12,17,27,.82); color:#fff; cursor:pointer; }
.paid-products .pp-sim-cinema-skip:hover { background:rgba(255,255,255,.15); }
.pp-sim-cinema-summary { display:none; position:relative; z-index:1; width:min(100%,1155px); box-sizing:border-box; margin:0 auto; padding:16px 24px 40px; background:transparent; }
.pp-sim-cinematic.is-revealed .pp-sim-cinema-summary { display:block; animation:pp-cinema-summary 420ms 180ms cubic-bezier(.2,.8,.2,1) both; }
.pp-sim-cinema-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.16); }
.pp-sim-cinema-totals>span { display:grid; gap:5px; min-width:0; padding:13px 17px; background:#121725; }
.pp-sim-cinema-totals small { color:#aab6c5; font-size:12px; }
.pp-sim-cinema-totals strong { font-size:19px; font-variant-numeric:tabular-nums; }
.pp-sim-cinema-loot-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:20px 0 10px; }
.pp-sim-cinema-loot-head strong { font-size:16px; }
.pp-sim-cinema-loot-head small { color:#aab6c5; font-size:12px; }
.pp-sim-cinema-loot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.pp-sim-cinema-loot-card { display:grid; grid-template-columns:57px minmax(0,1fr); align-items:center; gap:11px; min-width:0; min-height:75px; padding:8px 11px; border:1px solid rgba(255,255,255,.14); background:rgba(8,10,16,.66); }
.pp-sim-cinema-loot-art { display:grid; place-items:center; width:57px; height:64px; overflow:hidden; }
.pp-sim-cinema-loot-art [data-compact-season-card] { width:54px; height:63px; }
.pp-sim-cinema-loot-art .pp-detailed-card-host { width:54px; }
.pp-sim-cinema-loot-art .pp-bp-card-art { height:63px; }
.pp-sim-cinema-loot-art .pp-bp-card-amount { font-size:5px; }
.pp-sim-cinema-loot-art .pp-bp-card-art.is-long .pp-bp-card-amount { font-size:4px; }
.pp-sim-cinema-loot-copy { display:grid; gap:3px; min-width:0; }
.pp-sim-cinema-loot-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.pp-sim-cinema-loot-copy small { color:#aab6c5; font-size:11px; }
.pp-sim-cinema-loot-copy b { font-size:13px; font-variant-numeric:tabular-nums; }
@keyframes pp-cinema-rays { 0% { opacity:0; transform:scale(.25) rotate(-12deg); } 25% { opacity:.8; } 60% { opacity:1; transform:scale(1.15) rotate(7deg); } 100% { opacity:.3; transform:scale(1.5) rotate(15deg); } }
@keyframes pp-cinema-spotlights { 0%,45% { opacity:0; } 65% { opacity:.8; } 100% { opacity:.25; } }
@keyframes pp-cinema-clue { 0%,15% { opacity:0; translate:0 10px; } 32%,49% { opacity:1; translate:0 0; } 60%,100% { opacity:0; translate:0 -5px; } }
@keyframes pp-cinema-summary { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes pp-cinema-pack { 0% { opacity:0; transform:translateY(35px) scale(.68) rotate(-8deg); } 16% { opacity:1; } 42% { opacity:1; transform:translateY(0) scale(1.08) rotate(3deg); } 55%,100% { opacity:0; transform:translateY(-20px) scale(1.42) rotate(0); } }
@keyframes pp-cinema-card { 0%,49% { opacity:0; transform:perspective(700px) translateY(35px) rotateY(70deg) scale(.55); } 68% { opacity:1; transform:perspective(700px) translateY(0) rotateY(0) scale(1.07); } 82%,100% { opacity:1; transform:none; } }
@keyframes pp-cinema-caption { 0%,66% { opacity:0; transform:translateY(12px); } 78%,100% { opacity:1; transform:none; } }
@media(max-width:767px) {
  .pp-sim-cinema-summary { padding:12px 14px 32px; }
  .pp-sim-cinema-totals>span { padding:9px 7px; }
  .pp-sim-cinema-totals small { font-size:11px; }
  .pp-sim-cinema-totals strong { font-size:13px; }
  .pp-sim-cinema-loot-head { align-items:start; flex-direction:column; gap:3px; }
  .pp-sim-cinema-loot-head strong { font-size:15px; }
  .pp-sim-cinema-loot-head small { font-size:11px; }
  .pp-sim-cinema-loot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pp-sim-cinema-loot-card { grid-template-columns:40px minmax(0,1fr); gap:5px; min-height:68px; padding:5px; }
  .pp-sim-cinema-loot-art { width:40px; height:50px; }
  .pp-sim-cinema-loot-art [data-compact-season-card] { width:38px; height:47px; }
  .pp-sim-cinema-loot-art .pp-detailed-card-host { width:38px; }
  .pp-sim-cinema-loot-art .pp-bp-card-art { height:47px; }
  .pp-sim-cinema-loot-copy strong,.pp-sim-cinema-loot-copy b { font-size:10px; }
  .pp-sim-cinema-loot-copy small { font-size:9px; }
  .pp-sim-cinema-pack,.pp-sim-cinema-card { width:190px; height:250px; }
  .pp-sim-cinema-pack img { width:170px; height:240px; }
  .pp-sim-cinema-card [data-compact-season-card] { width:180px; height:220px; }
  .pp-sim-cinema-card .pp-detailed-card-host { width:180px; }
  .pp-sim-cinema-card .pp-bp-card-art { height:220px; }
  .pp-sim-cinema-card .pp-bp-card-amount { font-size:17px; }
  .pp-sim-cinema-card .pp-bp-card-art.is-long .pp-bp-card-amount { font-size:13px; }
  .pp-sim-cinema-caption { top:calc(50% + 118px); }
  .pp-sim-cinematic.has-player .pp-sim-cinema-caption { top:calc(50% + 132px); }
  .pp-simulator { margin:18px 0; }
  .pp-sim-route-picker { grid-template-columns:minmax(0,1fr); }
  .paid-products .pp-sim-route-picker button { min-height:68px; }
  .pp-sim-stage { grid-template-columns:92px minmax(0,1fr); gap:4px 12px; min-height:0; padding:14px; }
  .pp-sim-stage-art { grid-column:1; grid-row:1 / span 3; min-height:130px; }
  .pp-sim-stage-art img { width:88px; height:130px; }
  .pp-sim-stage-content { display:contents; }
  .pp-sim-stage-content>.pp-sim-kicker,.pp-sim-stage-content>h3,.pp-sim-stage-content>p { grid-column:2; }
  .pp-sim-stage-content>.pp-sim-kicker { align-self:end; }
  .pp-sim-stage-content>h3 { align-self:center; }
  .pp-sim-stage-content>p { align-self:start; }
  .pp-sim-stage h3 { font-size:15px; }
  .pp-sim-stage p { font-size:11px; }
  .pp-sim-drawn { padding:12px; }
  .pp-sim-drawn-head { display:block; }
  .pp-sim-drawn-head>span { display:block; margin-top:3px; }
  .pp-sim-drawn-grid { grid-template-columns:minmax(0,1fr); }
  .pp-sim-play-buttons { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(104px,1.3fr); gap:5px; margin-top:6px; }
  .pp-sim-play-buttons:not(:has(.pp-sim-custom)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .paid-products .pp-sim-play-buttons button { min-width:0; min-height:46px; padding:5px 8px; }
  .pp-sim-play-buttons button strong { font-size:13px; }
  .pp-sim-play-buttons button small { display:none; }
  .pp-sim-custom { min-width:0; height:46px; }
  .pp-sim-custom-row { min-width:0; }
  .pp-sim-custom input { flex:1 1 0; width:0; padding:0 5px; font-size:12px; }
  .paid-products .pp-sim-custom button { flex:0 0 44px; min-width:44px; min-height:46px; padding:0 3px; }
  .pp-sim-stage-content>.pp-sim-stage-wait { grid-column:1/-1; margin-top:6px; }
  .pp-sim-drawn-summary { align-items:start; gap:5px; }
  .pp-sim-drawn-summary>strong { width:100%; }
  .pp-sim-session { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 8px; padding:12px; }
  .pp-sim-average { min-width:0; padding:0; border:0; }
  .pp-sim-average strong { font-size:20px; }
  .pp-sim-session-detail { grid-column:1/-1; grid-row:2; gap:5px 12px; padding-top:10px; border-top:1px solid var(--ui-line,#dce2e8); }
  .paid-products .pp-sim-session button { grid-column:2; grid-row:1; margin-left:0; }
  .pp-sim-reveal-head { align-items:start; }
  .pp-sim-reveal-head>span { text-align:right; }
  .pp-simulator-keybox .pp-sim-result-list-head,
  .pp-simulator-keybox .pp-sim-result-layout { display:none; }
  .pp-sim-result-list-head { margin-top:16px; }
  .pp-sim-spotlight { grid-template-columns:122px minmax(0,1fr); gap:10px; min-height:148px; padding:10px; }
  .pp-sim-spotlight-art { width:120px; height:144px; }
  .pp-sim-spotlight-art [data-compact-season-card] { width:115px; height:138px; }
  .pp-sim-spotlight-art .pp-detailed-card-host { width:115px; }
  .pp-sim-spotlight-art>img { width:115px; height:138px; }
  .pp-sim-spotlight-copy { gap:5px; }
  .pp-sim-spotlight-copy>strong { font-size:16px; }
  .pp-sim-spotlight-copy>b { font-size:18px; }
  .pp-sim-spotlight-simple { grid-template-columns:84px minmax(0,1fr); }
  .pp-sim-spotlight-simple .pp-sim-spotlight-art { width:84px; height:130px; }
  .pp-sim-spotlight-art .pp-bp-card-art { height:116px; }
  .pp-sim-spotlight-art .pp-bp-card-amount { font-size:10px; }
  .pp-sim-spotlight-art .pp-bp-card-art.is-long .pp-bp-card-amount { font-size:8px; }
  .pp-sim-spotlight-symbol { width:70px; height:86px; }
  .pp-sim-results-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:360px) {
  .paid-products .pp-sim-play-buttons>button { padding-inline:3px; }
  .pp-sim-play-buttons button strong { font-size:11px; letter-spacing:-.04em; white-space:nowrap; }
}
.pp-metric-label { display:flex; align-items:center; gap:5px; }
.pp-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pp-section-title h2 { margin:0; }
.pp-pack-summary h3 { display:flex; align-items:center; gap:6px; }
.pp-info { position:relative; display:inline-flex; align-items:center; flex:none; vertical-align:middle; }
.paid-products .pp-info-trigger { position:relative; display:inline-grid; place-items:center; width:14px; height:14px; min-height:14px; padding:0; border:1px solid var(--ui-line,#dce2e8); border-radius:50%; background:var(--ui-surface,#fff); color:var(--ui-muted,#64748b); font-family:Georgia,serif; font-size:9px; font-style:italic; font-weight:700; line-height:1; cursor:pointer; }
.paid-products .pp-info-trigger::after { content:""; position:absolute; inset:-5px; }
.paid-products .pp-info-trigger:hover,.paid-products .pp-info-trigger[aria-expanded="true"] { border-color:var(--ui-ink,#202124); color:var(--ui-ink,#202124); }
.pp-info-pop { position:absolute; z-index:30; top:calc(100% + 7px); left:0; right:auto; width:min(300px,calc(100vw - 40px)); box-sizing:border-box; padding:12px 14px; background:#202124; color:#fff!important; box-shadow:0 12px 28px rgba(0,0,0,.2); font-size:12px!important; line-height:1.65; font-weight:400; white-space:normal; text-align:left; }
.pp-info-left .pp-info-pop { left:0; right:auto; }
.pp-info-pop[hidden] { display:none; }
.pp-odds-guide { margin:8px 0 16px; font-size:12px; color:var(--ui-muted,#64748b); line-height:1.5; }
#productPlayerList { scroll-margin-top:20px; }
#paidProductsContent article>.pp-components { margin:24px 0; }
#paidProductsContent article>.pp-components + .pp-pack-explorer { margin-top:0; border-top:0; padding-top:0; }
#paidProductsContent article>.pp-components .pp-component { padding:12px 2px; }
#paidProductsContent article>.pp-components .pp-component p { margin-top:4px; }
.pp-list-intro h2 { margin:0; font-size:26px; letter-spacing:-.04em; }
.pp-list-intro p { margin:4px 0 0; font-size:13px; color:var(--ui-muted,#64748b); }
.pp-category-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:8px 0 4px; }
.paid-products .pp-category-tab { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:60px; padding:7px 10px; border:1px solid transparent; border-bottom:2px solid var(--ui-line,#dce2e8); border-radius:0; background:transparent; color:var(--ui-ink,#15212d); font-size:13px; font-weight:600; cursor:pointer; transition:border-color 160ms ease,color 160ms ease; }
.paid-products .pp-category-tab:hover { color:var(--ui-accent,#202124); }
  .paid-products .pp-category-tab[aria-pressed="true"] { border-color:transparent; border-bottom-color:var(--ui-ink,#202124); background:transparent; box-shadow:none; color:var(--ui-ink,#202124); font-weight:700; }
.pp-category-art { display:grid; place-items:center; flex:0 0 36px; width:36px; height:44px; overflow:hidden; background:transparent; }
.pp-category-art img { width:36px; height:46px; object-fit:contain; }
.pp-category-art .pp-image-fallback { width:100%; min-height:0; height:100%; font-size:9px; }
.paid-products .pp-category-tab>span:last-child { min-width:0; overflow-wrap:anywhere; text-align:left; }
.paid-products .pp-category-tab:focus-visible { outline:2px solid var(--ui-accent,#579d11); outline-offset:2px; }
.pp-event-type-tabs { display:flex; align-items:center; gap:18px; min-width:0; margin:0 0 4px; overflow-x:auto; border-bottom:1px solid var(--ui-line,#dce2e8); scrollbar-width:none; }
.pp-event-type-tabs[hidden] { display:none!important; }
.pp-event-type-tabs::-webkit-scrollbar { display:none; }
.pp-event-type-tabs button { flex:none; min-height:38px; padding:0 2px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--ui-muted,#64748b); font-size:12px; font-weight:600; white-space:nowrap; cursor:pointer; }
.pp-event-type-tabs button[aria-pressed="true"] { border-bottom-color:var(--ui-ink,#202124); color:var(--ui-ink,#202124); font-weight:700; }
.pp-event-type-tabs button:focus-visible { outline:2px solid var(--ui-accent,#579d11); outline-offset:-2px; }
.pp-ticket-type { display:block; margin:0 0 3px; color:var(--ui-muted,#64748b); font-size:10px; line-height:1.3; }
.pp-grid.pp-event-type-overview { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:10px 0 24px; }
.paid-products .pp-event-type-card { display:grid; grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto auto; align-content:center; gap:6px 12px; min-width:0; min-height:118px; padding:15px; border:1px solid var(--ui-line,#dce2e8); border-radius:0; background:var(--ui-surface,#fff); color:var(--ui-ink,#202124); text-align:left; cursor:pointer; transition:background 150ms ease,border-color 150ms ease; }
.paid-products .pp-event-type-card:hover { border-color:#b8bec6; background:var(--ui-surface-subtle,#f5f7f9); }
.paid-products .pp-event-type-card:focus-visible { outline:2px solid var(--ui-accent,#579d11); outline-offset:2px; }
.pp-event-type-card-art { display:grid; grid-column:1; grid-row:1 / span 3; place-items:center; width:46px; height:58px; overflow:hidden; }
.pp-event-type-card-art img { width:44px; height:56px; object-fit:contain; }
.pp-event-type-card-art .pp-image-fallback { display:grid; place-items:center; width:42px; height:52px; font-size:10px; }
.pp-event-type-card-head { display:flex; grid-column:2; align-items:center; justify-content:space-between; gap:8px; }
.pp-event-type-card-head strong { font-size:15px; }
.pp-event-type-card-head>span { color:var(--ui-muted,#64748b); font-size:17px; }
.pp-event-type-card-meta,.pp-event-type-card-value { grid-column:2; color:var(--ui-muted,#64748b); font-size:11px; line-height:1.5; }
.pp-event-type-card-value b { display:block; color:var(--ui-ink,#202124); font-size:14px; font-variant-numeric:tabular-nums; }
#productsModeView .pp-controls label { gap:5px; }
#productsModeView .pp-controls input,#productsModeView .pp-controls select { height:40px; padding:0 10px; font-size:13px; }
#productsModeView .pp-controls button { min-height:38px; padding:0 12px; }
#productsModeView .pp-list-intro ~ .pp-controls { margin:16px 0 12px; }
#productsModeView .pp-list-intro ~ .pp-controls > button[type=submit] { border:1px solid var(--ui-accent,#202124); border-radius:0; background:var(--ui-accent,#202124); color:var(--ui-on-accent,#fff); font-weight:700; cursor:pointer; }
#productsModeView .pp-list-intro ~ .pp-controls > button[type=submit]:hover { opacity:.88; }
#productsModeView .pp-compare-list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid var(--ui-line,#dce2e8); }
#productsModeView .pp-compare-row { display:grid; grid-template-columns:36px 76px minmax(0,1fr) minmax(320px,380px) 18px; align-items:center; gap:18px; min-width:0; min-height:116px; padding:13px 16px; border-bottom:1px solid var(--ui-line,#dce2e8); color:var(--ui-ink,#15212d); text-decoration:none; transition:background 160ms ease; }
#productsModeView .pp-compare-row:hover,#productsModeView .pp-compare-row:focus-visible { background:var(--ui-surface-subtle,#f5f7f9); text-decoration:none; }
.pp-compare-rank { align-self:start; padding-top:8px; font-size:12px; font-weight:700; color:var(--ui-muted,#64748b); font-variant-numeric:tabular-nums; }
.pp-compare-image { width:76px; height:88px; display:grid; place-items:center; }
.pp-compare-image img { width:70px; height:86px; object-fit:contain; }
.pp-compare-main { display:grid; gap:5px; min-width:0; }
.pp-compare-result { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; column-gap:14px; row-gap:6px; min-width:0; }
.pp-compare-metric { display:grid; align-content:start; gap:6px; min-width:0; }
.pp-compare-metric + .pp-compare-metric { border-left:1px solid var(--ui-line,#dce2e8); padding-left:14px; }
.pp-compare-state,.pp-compare-basis,.pp-compare-note { font-size:11px; color:var(--ui-muted,#64748b); line-height:1.4; }
.pp-compare-note { grid-column:1/-1; }
.pp-compare-main strong { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.pp-compare-price { font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; }
.pp-compare-metric strong { font-size:17px; line-height:1.25; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pp-compare-arrow { color:var(--ui-muted,#64748b); font-size:18px; }
.pp-compare-loading { display:grid; gap:1px; margin-top:16px; background:var(--ui-line,#dce2e8); }
.pp-compare-loading>div { height:110px; background:var(--ui-surface-subtle,#f5f7f9); animation:pp-pulse 1.2s ease-in-out infinite; }
@media(max-width:767px) {
  #productPlayerList { scroll-margin-top:88px; }
  #paidProductsContent .pp-detail-head { padding-bottom:16px; }
  #paidProductsContent .pp-detail-head .pp-price { margin:8px 0 10px; }
  #paidProductsContent .pp-detail-head .pp-muted { margin:8px 0; }
  #paidProductsContent .pp-detail-head .pp-metrics { margin:2px 0 0; }
  #paidProductsContent article>.pp-metrics ~ p.pp-muted { margin:8px 0; }
  .pp-list-intro h2 { font-size:22px; }
  .pp-grid.pp-event-type-overview { grid-template-columns:minmax(0,1fr); gap:7px; margin:8px 0 20px; }
  .paid-products .pp-event-type-card { grid-template-columns:40px minmax(0,1fr) minmax(118px,auto); grid-template-rows:auto auto; align-items:center; gap:3px 10px; min-height:78px; padding:9px 10px; }
  .pp-event-type-card-art { grid-column:1; grid-row:1 / span 2; width:40px; height:52px; }
  .pp-event-type-card-art img { width:38px; height:50px; }
  .pp-event-type-card-art .pp-image-fallback { width:36px; height:46px; }
  .pp-event-type-card-head { grid-column:2; }
  .pp-event-type-card-head strong { font-size:13px; }
  .pp-event-type-card-meta { grid-column:2; }
  .pp-event-type-card-value { grid-column:3; grid-row:1 / span 2; text-align:right; }
  .pp-event-type-card-value b { font-size:12px; }
  .pp-category-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:12px 0 2px; }
  .paid-products .pp-category-tab { justify-content:flex-start; gap:4px; min-height:46px; padding:3px 4px; font-size:10px; }
  .pp-category-art { flex-basis:22px; width:22px; height:28px; }
  .pp-category-art img { width:22px; height:28px; }
  .paid-products .pp-category-tab>span:last-child { flex:0 1 auto; overflow-wrap:normal; white-space:nowrap; }
  #productsModeView .pp-list-intro ~ .pp-controls { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:10px; }
  #productsModeView .pp-list-intro ~ .pp-controls label:first-child,
  #productsModeView .pp-list-intro ~ .pp-controls label:nth-child(2) { grid-column:auto; min-width:0; }
  #productsModeView .pp-list-intro ~ .pp-controls label:nth-child(2) input { min-width:0; }
  #productsModeView .pp-compare-list { gap:12px; border-top:0; }
  #productsModeView .pp-compare-row { grid-template-columns:22px 58px minmax(0,1fr); gap:10px; min-height:136px; padding:12px 10px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); }
  .pp-compare-image { width:58px; height:70px; }
  .pp-compare-image img { width:56px; height:68px; }
  .pp-compare-main strong { font-size:14px; }
  .pp-compare-result { grid-column:1/-1; margin:0 -10px -12px; padding:12px 10px; border-top:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); column-gap:10px; }
  .pp-compare-metric + .pp-compare-metric { padding-left:10px; }
  .pp-compare-metric strong { font-size:16px; }
  .pp-compare-basis { font-size:10px; }
  .pp-compare-note { font-size:10px; }
  .pp-compare-arrow { display:none; }
}

/* Keep the product category and filter controls as one compact mobile workflow. */
@media(max-width:767px) {
  #productsModeView .pp-list-intro ~ .pp-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px 68px; gap:8px; margin:14px 0 10px; }
  #productsModeView .pp-list-intro ~ .pp-controls > label:nth-of-type(1) { grid-column:1 / 3; }
  #productsModeView .pp-list-intro ~ .pp-controls > label:nth-of-type(2) { grid-column:3 / 5; }
  #productsModeView .pp-list-intro ~ .pp-controls > label:nth-of-type(3) { grid-column:1 / 3; }
  #productsModeView .pp-list-intro ~ .pp-controls > button { width:100%; min-height:38px; padding:0 6px; }
  #productsModeView .pp-list-intro ~ .pp-controls > button[type=submit] { grid-column:3; }
  #productsModeView .pp-list-intro ~ .pp-controls > button[type=reset] { grid-column:4; }
  #productsModeView .pp-list-intro ~ .pp-controls > button[type=reset] { border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); color:var(--ui-ink,#202124); font-weight:600; }
  #productsModeView .pp-list-status { margin:14px 0 8px; }
}

/* Budget recommendation uses the same published plans as the home widget. */
.pp-budget-planner { margin:24px 0 32px; padding:24px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); }
.pp-budget-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.pp-budget-heading h3 { margin:0; font-size:22px; letter-spacing:-.035em; }
.pp-budget-heading p,.pp-budget-note { color:var(--ui-muted,#64748b); font-size:12px; line-height:1.6; }
.pp-budget-heading p { margin:7px 0 0; font-size:13px; }
.pp-budget-heading a { flex-shrink:0; color:inherit; font-size:12px; }
.pp-budget-options { display:flex; gap:8px; margin:20px 0; }
.pp-budget-options button { min-height:44px; flex:1; padding:8px 12px; border:1px solid var(--ui-line,#dce2e8); background:var(--ui-surface,#fff); color:inherit; cursor:pointer; font-weight:700; transition:background 160ms ease,color 160ms ease; }
.pp-budget-options button[aria-pressed=true] { background:var(--ui-accent,#202124); color:var(--ui-on-accent,#fff); border-color:var(--ui-accent,#202124); }
.pp-budget-options small { font-size:11px; font-weight:400; }
.pp-budget-result { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,2fr); gap:28px; align-items:start; }
.pp-budget-summary { padding:14px 0; }
.pp-budget-summary > span { font-size:12px; color:var(--ui-muted,#64748b); }
.pp-budget-summary > strong { display:block; margin:8px 0 12px; font-size:30px; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.pp-budget-summary p { margin:0; font-size:12px; line-height:1.7; }
.pp-budget-summary p span { color:var(--ui-muted,#64748b); }
.pp-budget-item { display:grid; grid-template-columns:44px minmax(0,1fr) auto 12px; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--ui-line,#dce2e8); color:inherit; text-decoration:none; }
.pp-budget-item:first-child { border-top:1px solid var(--ui-line,#dce2e8); }
.pp-budget-art { display:flex; justify-content:center; align-items:center; height:52px; }
.pp-budget-art img { width:auto; height:auto; max-width:44px; max-height:52px; object-fit:contain; }
.pp-budget-item-copy { min-width:0; }
.pp-budget-item-copy strong { display:block; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.pp-budget-item-copy small { display:block; font-size:11px; line-height:1.7; color:var(--ui-muted,#64748b); margin-top:4px; }
.pp-budget-item > b { font-size:14px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pp-budget-item:hover { background:var(--ui-surface-subtle,#f5f7f9); }
.pp-budget-note { margin:16px 0 0; }
.pp-comparison-heading { font-size:18px; margin:0 0 12px; }
@media(max-width:767px) {
 .pp-budget-planner { margin:16px 0 26px; padding:16px 12px; }
 .pp-budget-heading { align-items:flex-start; }
 .pp-budget-heading h3 { font-size:18px; }
 .pp-budget-heading a { display:none; }
 .pp-budget-options { gap:5px; margin:16px 0; }
 .pp-budget-options button { padding:8px 2px; font-size:12px; }
 .pp-budget-options small { display:block; }
 .pp-budget-result { grid-template-columns:minmax(0,1fr); gap:12px; }
 .pp-budget-summary { padding:0; }
 .pp-budget-summary > strong { font-size:26px; margin:5px 0; }
 .pp-budget-item { grid-template-columns:36px minmax(0,1fr) auto; gap:8px; }
 .pp-budget-art img { max-width:36px; max-height:46px; }
 .pp-budget-item > span:last-child { display:none; }
 .pp-budget-item-copy strong { font-size:12px; }
 .pp-budget-item-copy small span { display:block; }
 .pp-budget-item > b { font-size:13px; }
}

/* Show every BP card amount, including lower-value draws omitted by top cards. */
.pp-sim-bp-summary { margin:0 0 18px; }
.pp-sim-bp-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-bottom:10px; }
.pp-sim-bp-head h4 { margin:0; font-size:14px; }
.pp-sim-bp-head>strong { font-size:14px; font-variant-numeric:tabular-nums; }
.pp-sim-bp-summary table { width:100%; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.pp-sim-bp-summary th,.pp-sim-bp-summary td { padding:9px 0; border-bottom:1px solid var(--ui-line,#dce2e8); text-align:right; white-space:nowrap; }
.pp-sim-bp-summary th:first-child { text-align:left; }
.pp-sim-bp-summary thead th { color:var(--ui-muted,#64748b); font-size:11px; font-weight:500; }
.pp-sim-bp-summary tbody th { font-weight:600; }
.pp-sim-bp-summary td:nth-child(2) { padding-left:10px; padding-right:12px; }
.pp-sim-bp-amount { display:flex; align-items:center; gap:8px; }
.pp-sim-bp-art { display:grid; place-items:center; width:28px; height:40px; flex:none; }
.pp-sim-bp-art .pp-bp-card-art { width:28px; height:40px; }
.pp-sim-bp-art .pp-bp-card-amount { font-size:6px; }

.pp-budget-custom { margin:0 0 20px; max-width:460px; }
.pp-budget-custom > label { display:flex; align-items:baseline; gap:12px; margin-bottom:7px; font-size:12px; font-weight:700; }
.pp-budget-custom > label span { font-size:11px; font-weight:400; color:var(--ui-muted); }
.pp-budget-custom > div { display:flex; gap:8px; }
.pp-budget-input-wrap { display:flex; flex:1; align-items:center; min-width:0; border:1px solid var(--ui-line); background:var(--ui-surface); padding-right:12px; }
.pp-budget-input-wrap input { width:100%; min-width:0; height:44px; border:0; padding:0 12px; background:transparent; color:inherit; font-size:16px; font-variant-numeric:tabular-nums; }
.pp-budget-input-wrap > span { font-size:12px; color:var(--ui-muted); }
.pp-budget-custom button { min-height:44px; padding:0 20px; border:1px solid var(--ui-text,#202124); background:var(--ui-text,#202124); color:var(--ui-surface,#fff); font-size:13px; font-weight:700; cursor:pointer; }
.pp-budget-custom p { margin:6px 0 0; font-size:12px; color:#ba3030; }
.pp-budget-input-wrap:focus-within { border-color:var(--ui-accent,#202124); box-shadow:inset 0 0 0 1px var(--ui-accent,#202124); }
.paid-products .pp-budget-input-wrap input:focus, .paid-products .pp-budget-input-wrap input:focus-visible { outline:none; box-shadow:none; }
@media(max-width:767px) { .pp-budget-custom { max-width:none; } .pp-budget-custom button { padding-inline:14px; } }

.pp-budget-toolbar { display:flex; align-items:flex-start; gap:8px; margin:20px 0; }
.pp-budget-toolbar .pp-budget-options { flex:1; min-width:0; margin:0; }
.pp-budget-toolbar .pp-budget-custom { flex:0 0 320px; max-width:none; margin:0; }
.pp-budget-custom > label.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pp-budget-toolbar .pp-budget-input-wrap { height:44px; box-sizing:border-box; }
.pp-budget-toolbar .pp-budget-input-wrap input { height:44px; }
@media(max-width:767px) { .pp-budget-toolbar { flex-direction:column; gap:10px; margin-top:16px; } .pp-budget-toolbar .pp-budget-options,.pp-budget-toolbar .pp-budget-custom { flex:auto; width:100%; } }

@media(min-width:768px) {
 .pp-budget-toolbar { align-items:flex-start; gap:16px; }
 .pp-budget-toolbar .pp-budget-options { flex:0 1 540px; }
 .pp-budget-toolbar .pp-budget-options button { padding-inline:8px; white-space:nowrap; }
 .pp-budget-toolbar .pp-budget-custom { flex:0 0 350px; }
}
.pp-budget-input-wrap .pp-budget-input-label { padding-left:12px; white-space:nowrap; font-size:12px; }
.pp-budget-input-wrap input { padding-left:10px; }
@media(min-width:768px) and (max-width:1050px) {
 .pp-budget-toolbar { gap:8px; }
 .pp-budget-toolbar .pp-budget-custom { flex-basis:290px; }
}

.pp-budget-summary-label { display:inline-flex; align-items:center; gap:6px; }
